From cfb739f2eb2a50fd581d382b1d6efd554b93f501 Mon Sep 17 00:00:00 2001 From: Egor Date: Tue, 10 Dec 2019 10:17:20 +0300 Subject: [PATCH 01/10] Initial changes. --- .../src/lib/common-components.module.ts | 4 +- libs/editor/src/lib/editor-app.component.html | 5 +- libs/editor/src/lib/editor-app.component.less | 14 +++ libs/editor/src/lib/editor-app.component.ts | 9 +- libs/editor/src/lib/editor.module.ts | 14 ++- .../excel-document.component.html | 17 ++++ .../excel-document.component.less | 94 ++++++++++++++++++ .../excel-document.component.spec.ts | 25 +++++ .../excel-document.component.ts | 51 ++++++++++ .../editor/src/lib/excel-page.service.spec.ts | 5 + libs/editor/src/lib/excel-page.service.ts | 97 +++++++++++++++++++ .../lib/excel-page/excel-page.component.html | 11 +++ .../lib/excel-page/excel-page.component.less | 63 ++++++++++++ .../excel-page/excel-page.component.spec.ts | 28 ++++++ .../lib/excel-page/excel-page.component.ts | 42 ++++++++ .../excel-document.component.ts | 4 +- 16 files changed, 474 insertions(+), 9 deletions(-) create mode 100644 libs/editor/src/lib/excel-document/excel-document.component.html create mode 100644 libs/editor/src/lib/excel-document/excel-document.component.less create mode 100644 libs/editor/src/lib/excel-document/excel-document.component.spec.ts create mode 100644 libs/editor/src/lib/excel-document/excel-document.component.ts create mode 100644 libs/editor/src/lib/excel-page.service.spec.ts create mode 100644 libs/editor/src/lib/excel-page.service.ts create mode 100644 libs/editor/src/lib/excel-page/excel-page.component.html create mode 100644 libs/editor/src/lib/excel-page/excel-page.component.less create mode 100644 libs/editor/src/lib/excel-page/excel-page.component.spec.ts create mode 100644 libs/editor/src/lib/excel-page/excel-page.component.ts diff --git a/libs/common-components/src/lib/common-components.module.ts b/libs/common-components/src/lib/common-components.module.ts index b594d7003..b0ce5c2fa 100644 --- a/libs/common-components/src/lib/common-components.module.ts +++ b/libs/common-components/src/lib/common-components.module.ts @@ -187,7 +187,9 @@ const providers = [ConfigService, LeftSideBarComponent, TooltipDirective, HostDynamicDirective, - ResizingComponent + ResizingComponent, + EditorDirective, + FormattingDirective ], providers: providers }) diff --git a/libs/editor/src/lib/editor-app.component.html b/libs/editor/src/lib/editor-app.component.html index bb449a262..57188c2c3 100644 --- a/libs/editor/src/lib/editor-app.component.html +++ b/libs/editor/src/lib/editor-app.component.html @@ -103,9 +103,12 @@ [className]="'palette ' + (bgColorPickerShow ? 'background-color-picker' : 'color-picker')" (selectedColor)="selectColor($event)">
- + +
Click to open file
diff --git a/libs/editor/src/lib/editor-app.component.less b/libs/editor/src/lib/editor-app.component.less index b6e24904d..4f6106222 100644 --- a/libs/editor/src/lib/editor-app.component.less +++ b/libs/editor/src/lib/editor-app.component.less @@ -173,6 +173,20 @@ gd-tab { } } +::ng-deep gd-excel-page { + .gd-wrapper { + padding: 0px !important; + } +} + +::ng-deep gd-excel-document { + .page { + width: unset !important; + height: unset !important; + min-height: unset !important; + } +} + @media @phone-down { /deep/ .panzoom{ zoom: 0.45; diff --git a/libs/editor/src/lib/editor-app.component.ts b/libs/editor/src/lib/editor-app.component.ts index a663938b1..1c3833d25 100644 --- a/libs/editor/src/lib/editor-app.component.ts +++ b/libs/editor/src/lib/editor-app.component.ts @@ -18,11 +18,12 @@ import { EditHtmlService, RenderPrintService, WindowService, - LoadingMaskService, Option + LoadingMaskService, Option, FileUtil } from '@groupdocs.examples.angular/common-components'; import {EditorConfig} from "./editor-config"; import {EditorConfigService} from "./editor-config.service"; import * as jquery from 'jquery'; +import { ExcelPageService } from './excel-page.service'; const $ = jquery; @Component({ @@ -52,6 +53,7 @@ export class EditorAppComponent implements OnInit, AfterViewInit { fileWasDropped: false; selectFontShow = false; selectFontSizeShow = false; + formatIcon: string; constructor(private _editorService: EditorService, private _modalService: ModalService, @@ -66,6 +68,7 @@ export class EditorAppComponent implements OnInit, AfterViewInit { private _htmlService: EditHtmlService, private _renderPrintService: RenderPrintService, private _loadingMaskService: LoadingMaskService, + private _excelPageService: ExcelPageService ) { this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); configService.updatedConfig.subscribe((editorConfig) => { @@ -260,6 +263,7 @@ export class EditorAppComponent implements OnInit, AfterViewInit { this.credentials = new FileCredentials($event, password); this._editorService.loadFile(this.credentials).subscribe((file: FileDescription) => { this.loadFile(file); + this.formatIcon = this.file ? FileUtil.find(this.file.guid, false).icon : null; const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); if(isIE) { const observer = new MutationObserver(function (mutations) { @@ -518,7 +522,8 @@ export class EditorAppComponent implements OnInit, AfterViewInit { saveFile(credentials: FileCredentials) { if (!this.file || !this.file.pages) return; - const saveFile = new SaveFile(credentials.guid, credentials.password, this.textBackup); + let updatedTextBackup = this._excelPageService.getPageWithoutHeader(this.textBackup); + const saveFile = new SaveFile(credentials.guid, credentials.password, updatedTextBackup); this._editorService.save(saveFile).subscribe((loadFile: FileDescription) => { this.loadFile(loadFile); this.credentials = new FileCredentials(loadFile.guid, credentials.password); diff --git a/libs/editor/src/lib/editor.module.ts b/libs/editor/src/lib/editor.module.ts index b9f7470ba..70a40db5f 100644 --- a/libs/editor/src/lib/editor.module.ts +++ b/libs/editor/src/lib/editor.module.ts @@ -16,6 +16,8 @@ import { LoadingMaskInterceptorService, Api } from '@groupdocs.examples.angular/common-components'; import {EditorConfigService} from "./editor-config.service"; +import {ExcelDocumentComponent} from './excel-document/excel-document.component'; +import {ExcelPageComponent} from './excel-page/excel-page.component'; export function initializeApp(editorConfigService: EditorConfigService) { const result = () => editorConfigService.load(); @@ -29,17 +31,23 @@ export function setupLoadingInterceptor(service: LoadingMaskService) { } @NgModule({ - declarations :[EditorAppComponent,CreateDocumentModalComponent], + declarations: [EditorAppComponent, + CreateDocumentModalComponent, + ExcelDocumentComponent, + ExcelPageComponent + ], imports: [ BrowserModule, CommonComponentsModule, HttpClientModule, FontAwesomeModule ], - exports : [ + exports: [ CreateDocumentModalComponent, EditorAppComponent, - CommonComponentsModule + CommonComponentsModule, + ExcelDocumentComponent, + ExcelPageComponent ], providers: [ EditorService, diff --git a/libs/editor/src/lib/excel-document/excel-document.component.html b/libs/editor/src/lib/excel-document/excel-document.component.html new file mode 100644 index 000000000..265cd9794 --- /dev/null +++ b/libs/editor/src/lib/excel-document/excel-document.component.html @@ -0,0 +1,17 @@ +
Please wait...
+
+
+
+ +
+
+
+
+
+
+ Sheet {{page.number}} +
+
+
diff --git a/libs/editor/src/lib/excel-document/excel-document.component.less b/libs/editor/src/lib/excel-document/excel-document.component.less new file mode 100644 index 000000000..7631e4c06 --- /dev/null +++ b/libs/editor/src/lib/excel-document/excel-document.component.less @@ -0,0 +1,94 @@ +@import "./../../../../common-components/src/styles/variables.less"; + +:host { + overflow: scroll; + width: 100%; + background-color: @mercury; +} + +.document { + width: 100%; + transition: all 0.4s; + padding: 0px; + margin: 0px; + position: relative; +} + +.sheets { + background-color: #fff; + display: flex; + border-top: 1px solid @mercury; + position: fixed; + bottom: 17px; + right: 17px; + width: 100%; + /deep/ gd-button { + &.active { + .text { + background-color: #272727; + border-radius: 10px; + color: #eee; + } + } + .text { + padding: 1px 12px; + color: #000; + } + fa-icon { + display: none; + } + } +} + +.sheets-wrapper { + margin-left: 29px; + display: flex; +} + +.page { + position: relative; + display: inline-block; + transition: all 0.3s; +} + +.wait { + position: absolute; + top: 55px; + left: Calc(50% - 20px); +} + +.panzoom { + transform: none; + backface-visibility: hidden; + transform-origin: 50% 50% 0px; + display: flex; + flex-wrap: wrap; +} + +.gd-zoomed { + margin: 10px 98px; +} + +.highlights{ + position: absolute; + top: 0px; + left: 0px; + bottom: 0px; + right: 0px; +} + +@media @phone-down { + .document { + overflow-x: auto !important; + } + + .panzoom { + flex-direction: column; + } + + .page { + min-width: unset !important; + min-height: unset !important; + margin: 5px 0px; + } +} diff --git a/libs/editor/src/lib/excel-document/excel-document.component.spec.ts b/libs/editor/src/lib/excel-document/excel-document.component.spec.ts new file mode 100644 index 000000000..923cc22dc --- /dev/null +++ b/libs/editor/src/lib/excel-document/excel-document.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ExcelDocumentComponent } from './excel-document.component'; + +describe('ExcelDocumentComponent', () => { + let component: ExcelDocumentComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ExcelDocumentComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ExcelDocumentComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/libs/editor/src/lib/excel-document/excel-document.component.ts b/libs/editor/src/lib/excel-document/excel-document.component.ts new file mode 100644 index 000000000..529da0e89 --- /dev/null +++ b/libs/editor/src/lib/excel-document/excel-document.component.ts @@ -0,0 +1,51 @@ +import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core'; +import { DocumentComponent, WindowService, NavigateService } from '@groupdocs.examples.angular/common-components'; +import { ZoomService } from '@groupdocs.examples.angular/common-components'; +import { ExcelPageComponent } from '../excel-page/excel-page.component'; + +@Component({ + selector: 'gd-excel-document', + templateUrl: './excel-document.component.html', + styleUrls: ['./excel-document.component.less'], +}) +export class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit { + @ViewChildren(ExcelPageComponent) pages: QueryList; + + currentPageNo: number; + panzoom = null; + + constructor(_elementRef: ElementRef, + zoomService: ZoomService, + windowService: WindowService, + private _navigateService: NavigateService) { + super(_elementRef, zoomService, windowService); + } + + ngOnInit(){ + this.currentPageNo = 1; + } + + ngAfterViewInit() { + this.refreshExcelDocHeight(); + this.pages.changes.subscribe(()=>{ + this.refreshExcelDocHeight(); + }); + + this._navigateService.navigate.subscribe( + value => { + this.selectSheet(value); + }); + } + + refreshExcelDocHeight() { + // For current iteration we'll change actual height of .document + this.doc = this._elementRef.nativeElement.children.item(0); + this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + // magic number 37 is the height of the bottom-bar with navigation between pages + this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; + } + + selectSheet(number){ + this.currentPageNo = number; + } +} diff --git a/libs/editor/src/lib/excel-page.service.spec.ts b/libs/editor/src/lib/excel-page.service.spec.ts new file mode 100644 index 000000000..9497c2221 --- /dev/null +++ b/libs/editor/src/lib/excel-page.service.spec.ts @@ -0,0 +1,5 @@ +import { TestBed } from '@angular/core/testing'; + +describe('ExcelPageService', () => { + beforeEach(() => TestBed.configureTestingModule({})); +}); diff --git a/libs/editor/src/lib/excel-page.service.ts b/libs/editor/src/lib/excel-page.service.ts new file mode 100644 index 000000000..c27cbb43b --- /dev/null +++ b/libs/editor/src/lib/excel-page.service.ts @@ -0,0 +1,97 @@ +import {Injectable} from '@angular/core'; + +@Injectable({ + providedIn: 'root' +}) +export class ExcelPageService { + constructor() { + } + + getUpdatedPage(data) { + const doc = new DOMParser().parseFromString(data, "text/html"); + const table = doc.querySelector('table'); + let numCellsInFirstRow = 0; + const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td'); + + cellsFromFirstRow.forEach(elm => { + numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1; + }); + + const newTable = this.createHeader(numCellsInFirstRow, table); + doc.querySelector('table').replaceWith(newTable); + + const resultData = new XMLSerializer().serializeToString(doc) + // work-around for FF which is adds a0 namespace during serialization + return resultData.replace(/a0:/g,"").replace(/:a0/g,""); + } + + getPageWithoutHeader(data) { + const doc = new DOMParser().parseFromString(data, "text/html"); + doc.querySelector('colgroup').remove(); + const newTable = doc.querySelector('table'); + newTable.deleteRow(0); + + newTable.querySelectorAll('tr').forEach(row => { + row.deleteCell(0); + }); + + doc.querySelector('table').replaceWith(newTable); + + const resultData = new XMLSerializer().serializeToString(doc); + return resultData; + } + + createHeader(numCols, table){ + const header = document.createElement('thead'); + header.append(document.createElement('tr')); + + for(let i = 0; i < numCols; ++i){ + const th = document.createElement('th'); + th.innerText = this.colName(i); + th.setAttribute("contenteditable", "false"); + header.querySelector("tr").append(th); + } + + const colgroup = table.querySelector('colgroup'); + const col = document.createElement('col'); + col.width = '80px'; + colgroup.prepend(col); + + table.prepend(header); + + let cnt = 0; + table.querySelectorAll('tr').forEach(row => { + const div = document.createElement('div'); + if (cnt !== 0) { + const td = document.createElement('td'); + td.className = "excel" + td.append(div); + div.innerText = cnt.toString(); + div.setAttribute("contenteditable", "false"); + row.prepend(td); + } + else { + const th = document.createElement('th'); + th.append(div); + div.setAttribute("contenteditable", "false"); + row.prepend(th); + } + cnt++; + }); + + return table; + } + + colName(n) { + const ordA = 'a'.charCodeAt(0); + const ordZ = 'z'.charCodeAt(0); + const len = ordZ - ordA + 1; + + let s = ""; + while(n >= 0) { + s = String.fromCharCode(n % len + ordA) + s; + n = Math.floor(n / len) - 1; + } + return s; + } +} diff --git a/libs/editor/src/lib/excel-page/excel-page.component.html b/libs/editor/src/lib/excel-page/excel-page.component.html new file mode 100644 index 000000000..7a6e927a9 --- /dev/null +++ b/libs/editor/src/lib/excel-page/excel-page.component.html @@ -0,0 +1,11 @@ +
+
+ +
+ +  Loading... Please wait. +
+
diff --git a/libs/editor/src/lib/excel-page/excel-page.component.less b/libs/editor/src/lib/excel-page/excel-page.component.less new file mode 100644 index 000000000..3fdd8bafb --- /dev/null +++ b/libs/editor/src/lib/excel-page/excel-page.component.less @@ -0,0 +1,63 @@ +@import "../../../../common-components/src/styles/variables"; + +.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: yellow; +} + +/deep/ .gd-highlight-select { + background-color: #ff9b00; +} + +/deep/ th { + color: @regent-gray; + background-color: @wild-sand; + font-weight: unset; + border: 1px solid @mercury !important; + text-transform: uppercase; + font-size: 14px; + overflow: hidden; +} + +/deep/ td { + border: 1px solid @mercury !important; + vertical-align: middle !important; +} + +/deep/ tr td.excel:first-child { + color: @regent-gray; + background-color: @wild-sand; + font-weight: unset; + width: 1%; + text-align: center; + div { + width: 80px; + } +} + +/deep/ tr th.excel:first-child { + background-color: @wild-sand; + width: 1%; + div { + width: 80px; + } +} + +// TODO: remove this after related issue will be fixed +.gd-page-image { + height: 100% !important; + width: 100% !important; +} \ No newline at end of file diff --git a/libs/editor/src/lib/excel-page/excel-page.component.spec.ts b/libs/editor/src/lib/excel-page/excel-page.component.spec.ts new file mode 100644 index 000000000..7c9607a08 --- /dev/null +++ b/libs/editor/src/lib/excel-page/excel-page.component.spec.ts @@ -0,0 +1,28 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { ExcelPageComponent } from './excel-page.component'; + +describe('ExcelPageComponent', () => { + let component: ExcelPageComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ExcelPageComponent ], + schemas: [ + CUSTOM_ELEMENTS_SCHEMA + ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ExcelPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/libs/editor/src/lib/excel-page/excel-page.component.ts b/libs/editor/src/lib/excel-page/excel-page.component.ts new file mode 100644 index 000000000..aa4aef5eb --- /dev/null +++ b/libs/editor/src/lib/excel-page/excel-page.component.ts @@ -0,0 +1,42 @@ +import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core'; +import { ExcelPageService } from '../excel-page.service'; + +@Component({ + selector: 'gd-excel-page', + templateUrl: './excel-page.component.html', + styleUrls: ['./excel-page.component.less'] +}) +export class ExcelPageComponent implements OnInit, OnChanges { + + @Input() angle: number; + @Input() width: number; + @Input() height: number; + @Input() number: number; + @Input() data: string; + @Input() isHtml: boolean; + @Input() editable: boolean; + imgData: string; + + constructor(private _excelPageService: ExcelPageService) { + } + + ngOnInit() { + const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + if(isIE && this.number === 0){ + this.editable = false; + } + } + + ngOnChanges(changes: SimpleChanges): void { + // 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; + const dataImagePngBase64 = 'data:image/png;base64,'; + this.imgData = dataImagePngBase64; + if (!this.isHtml) { + this.imgData += this.data; + } + + this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null; + } +} \ No newline at end of file diff --git a/libs/viewer/src/lib/excel-document/excel-document.component.ts b/libs/viewer/src/lib/excel-document/excel-document.component.ts index e92f0c114..529da0e89 100644 --- a/libs/viewer/src/lib/excel-document/excel-document.component.ts +++ b/libs/viewer/src/lib/excel-document/excel-document.component.ts @@ -31,10 +31,10 @@ export class ExcelDocumentComponent extends DocumentComponent implements OnInit, this.refreshExcelDocHeight(); }); - this._navigateService.navigate.subscribe((( + this._navigateService.navigate.subscribe( value => { this.selectSheet(value); - }))); + }); } refreshExcelDocHeight() { From d3ea98803ca0b8e7f6d997909fe6526031295e67 Mon Sep 17 00:00:00 2001 From: Egor Date: Tue, 17 Dec 2019 23:43:07 +0300 Subject: [PATCH 02/10] Moving excel document, page and service into common components. --- ....examples.angular-common-components.umd.js | 12337 ++++++++-------- ...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 +- ...docs.examples.angular-common-components.js | 4 +- .../excel-document.component.js | 96 + .../esm2015/lib/excel-page.service.js | 143 + .../lib/excel-page/excel-page.component.js | 84 + .../excel-document.component.js | 109 + .../esm5/lib/excel-page.service.js | 162 + .../lib/excel-page/excel-page.component.js | 90 + ...docs.examples.angular-common-components.js | 602 +- ....examples.angular-common-components.js.map | 2 +- ...docs.examples.angular-common-components.js | 718 +- ....examples.angular-common-components.js.map | 2 +- ...es.angular-common-components.metadata.json | 2 +- dist/libs/common-components/index.d.ts | 3 + .../excel-document.component.d.ts | 17 + .../lib/excel-page.service.d.ts | 7 + .../lib/excel-page/excel-page.component.d.ts | 16 + libs/common-components/src/index.ts | 3 + .../src/lib/common-components.module.ts | 10 +- .../excel-document.component.html | 0 .../excel-document.component.less | 0 .../excel-document.component.spec.ts | 0 .../excel-document.component.ts | 6 +- .../src/lib/excel-page.service.spec.ts | 0 .../src/lib/excel-page.service.ts | 0 .../lib/excel-page/excel-page.component.html | 0 .../lib/excel-page/excel-page.component.less | 0 .../excel-page/excel-page.component.spec.ts | 0 .../lib/excel-page/excel-page.component.ts | 0 libs/editor/src/lib/editor-app.component.ts | 6 +- libs/editor/src/lib/editor.module.ts | 10 +- .../excel-document.component.html | 17 - .../excel-document.component.less | 95 - .../excel-document.component.spec.ts | 25 - .../excel-document.component.ts | 51 - .../lib/excel-page/excel-page.component.html | 10 - .../lib/excel-page/excel-page.component.less | 63 - .../excel-page/excel-page.component.spec.ts | 28 - .../lib/excel-page/excel-page.component.ts | 42 - libs/viewer/src/lib/viewer.module.ts | 9 +- 43 files changed, 8048 insertions(+), 6727 deletions(-) create mode 100644 dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js create mode 100644 dist/libs/common-components/esm2015/lib/excel-page.service.js create mode 100644 dist/libs/common-components/esm2015/lib/excel-page/excel-page.component.js create mode 100644 dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js create mode 100644 dist/libs/common-components/esm5/lib/excel-page.service.js create mode 100644 dist/libs/common-components/esm5/lib/excel-page/excel-page.component.js create mode 100644 dist/libs/common-components/lib/excel-document/excel-document.component.d.ts create mode 100644 dist/libs/common-components/lib/excel-page.service.d.ts create mode 100644 dist/libs/common-components/lib/excel-page/excel-page.component.d.ts rename libs/{editor => common-components}/src/lib/excel-document/excel-document.component.html (100%) rename libs/{editor => common-components}/src/lib/excel-document/excel-document.component.less (100%) rename libs/{editor => common-components}/src/lib/excel-document/excel-document.component.spec.ts (100%) rename libs/{editor => common-components}/src/lib/excel-document/excel-document.component.ts (87%) rename libs/{editor => common-components}/src/lib/excel-page.service.spec.ts (100%) rename libs/{editor => common-components}/src/lib/excel-page.service.ts (100%) rename libs/{editor => common-components}/src/lib/excel-page/excel-page.component.html (100%) rename libs/{editor => common-components}/src/lib/excel-page/excel-page.component.less (100%) rename libs/{editor => common-components}/src/lib/excel-page/excel-page.component.spec.ts (100%) rename libs/{editor => common-components}/src/lib/excel-page/excel-page.component.ts (100%) delete mode 100644 libs/viewer/src/lib/excel-document/excel-document.component.html delete mode 100644 libs/viewer/src/lib/excel-document/excel-document.component.less delete mode 100644 libs/viewer/src/lib/excel-document/excel-document.component.spec.ts delete mode 100644 libs/viewer/src/lib/excel-document/excel-document.component.ts delete mode 100644 libs/viewer/src/lib/excel-page/excel-page.component.html delete mode 100644 libs/viewer/src/lib/excel-page/excel-page.component.less delete mode 100644 libs/viewer/src/lib/excel-page/excel-page.component.spec.ts delete mode 100644 libs/viewer/src/lib/excel-page/excel-page.component.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 bdbe8e3d4..b7d7f7522 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 @@ -44,6136 +44,6454 @@ }; } - /** - * @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: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 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;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; + /** + * @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; }()); - /** - * @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; }()); - /** - * @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.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:flex;align-items: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}@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 }] - }; - 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.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;align-items: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}@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 }] + }; + return ButtonComponent; }()); - /** - * @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: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; + /** + * @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; }()); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TooltipComponent = /** @class */ (function () { - function TooltipComponent() { - this.visibility = 'hidden'; - } - 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;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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 }], - 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.visibility = 'hidden'; + } + 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;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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 }], + show: [{ type: core.Input }] + }; + return TooltipComponent; }()); - /** - * @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.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.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; - }; - 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.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.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; + }; + 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 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; + /** + * @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; }()); - /** - * @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%;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; + /** + * @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; }()); - /** - * @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; - }; - 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 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; + }; + 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; }()); - /** - * @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: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; + /** + * @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; }()); - /** - * @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; }()); - /** - * @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{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; + /** + * @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; }()); - /** - * @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: "
\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 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 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; + /** + * @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; }()); - 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 ExcelPageService = /** @class */ (function () { + function ExcelPageService() { + } + /** + * @param {?} data + * @return {?} + */ + ExcelPageService.prototype.getUpdatedPage = /** + * @param {?} data + * @return {?} + */ + function (data) { + /** @type {?} */ + var doc = new DOMParser().parseFromString(data, "text/html"); + /** @type {?} */ + var table = doc.querySelector('table'); + /** @type {?} */ + var numCellsInFirstRow = 0; + /** @type {?} */ + var cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td'); + cellsFromFirstRow.forEach((/** + * @param {?} elm + * @return {?} + */ + function (elm) { + numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1; + })); + /** @type {?} */ + var newTable = this.createHeader(numCellsInFirstRow, table); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + var resultData = new XMLSerializer().serializeToString(doc) + // work-around for FF which is adds a0 namespace during serialization + ; + // work-around for FF which is adds a0 namespace during serialization + return resultData.replace(/a0:/g, "").replace(/:a0/g, ""); + }; + /** + * @param {?} data + * @return {?} + */ + ExcelPageService.prototype.getPageWithoutHeader = /** + * @param {?} data + * @return {?} + */ + function (data) { + /** @type {?} */ + var doc = new DOMParser().parseFromString(data, "text/html"); + doc.querySelector('colgroup').remove(); + /** @type {?} */ + var newTable = doc.querySelector('table'); + newTable.deleteRow(0); + newTable.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + function (row) { + row.deleteCell(0); + })); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + var resultData = new XMLSerializer().serializeToString(doc); + return resultData; + }; + /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + ExcelPageService.prototype.createHeader = /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + function (numCols, table) { + /** @type {?} */ + var header = document.createElement('thead'); + header.append(document.createElement('tr')); + for (var i = 0; i < numCols; ++i) { + /** @type {?} */ + var th = document.createElement('th'); + th.innerText = this.colName(i); + th.setAttribute("contenteditable", "false"); + header.querySelector("tr").append(th); + } + /** @type {?} */ + var colgroup = table.querySelector('colgroup'); + /** @type {?} */ + var col = document.createElement('col'); + col.width = '80px'; + colgroup.prepend(col); + table.prepend(header); + /** @type {?} */ + var cnt = 0; + table.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + function (row) { + /** @type {?} */ + var div = document.createElement('div'); + if (cnt !== 0) { + /** @type {?} */ + var td = document.createElement('td'); + td.className = "excel"; + td.append(div); + div.innerText = cnt.toString(); + div.setAttribute("contenteditable", "false"); + row.prepend(td); + } + else { + /** @type {?} */ + var th = document.createElement('th'); + th.append(div); + div.setAttribute("contenteditable", "false"); + row.prepend(th); + } + cnt++; + })); + return table; + }; + /** + * @param {?} n + * @return {?} + */ + ExcelPageService.prototype.colName = /** + * @param {?} n + * @return {?} + */ + function (n) { + /** @type {?} */ + var ordA = 'a'.charCodeAt(0); + /** @type {?} */ + var ordZ = 'z'.charCodeAt(0); + /** @type {?} */ + var len = ordZ - ordA + 1; + /** @type {?} */ + var s = ""; + while (n >= 0) { + s = String.fromCharCode(n % len + ordA) + s; + n = Math.floor(n / len) - 1; + } + return s; + }; + ExcelPageService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + ExcelPageService.ctorParameters = function () { return []; }; + /** @nocollapse */ ExcelPageService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ExcelPageService_Factory() { return new ExcelPageService(); }, token: ExcelPageService, providedIn: "root" }); + return ExcelPageService; }()); - /** - * @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: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 ExcelPageComponent = /** @class */ (function () { + function ExcelPageComponent(_excelPageService) { + this._excelPageService = _excelPageService; + } + /** + * @return {?} + */ + ExcelPageComponent.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 {?} + */ + ExcelPageComponent.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; + } + this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null; + }; + ExcelPageComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{border:1px solid #e7e7e7!important;vertical-align:middle!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + }] } + ]; + /** @nocollapse */ + ExcelPageComponent.ctorParameters = function () { return [ + { type: ExcelPageService } + ]; }; + ExcelPageComponent.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 ExcelPageComponent; }()); - /** - * @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 ExcelDocumentComponent = /** @class */ (function (_super) { + __extends(ExcelDocumentComponent, _super); + function ExcelDocumentComponent(_elementRef, zoomService, windowService, _navigateService) { + var _this = _super.call(this, _elementRef, zoomService, windowService) || this; + _this._navigateService = _navigateService; + _this.panzoom = null; + return _this; + } + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.currentPageNo = 1; + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this.refreshExcelDocHeight(); + this.pages.changes.subscribe((/** + * @return {?} + */ + function () { + _this.refreshExcelDocHeight(); + })); + this._navigateService.navigate.subscribe((/** + * @param {?} value + * @return {?} + */ + function (value) { + _this.selectSheet(value); + })); + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.refreshExcelDocHeight = /** + * @return {?} + */ + function () { + // For current iteration we'll change actual height of .document + this.doc = this._elementRef.nativeElement.children.item(0); + this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + // magic number 37 is the height of the bottom-bar with navigation between pages + this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; + }; + /** + * @param {?} number + * @return {?} + */ + ExcelDocumentComponent.prototype.selectSheet = /** + * @param {?} number + * @return {?} + */ + function (number) { + this.currentPageNo = number; + }; + ExcelDocumentComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-excel-document', + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + }] } + ]; + /** @nocollapse */ + ExcelDocumentComponent.ctorParameters = function () { return [ + { type: core.ElementRef }, + { type: ZoomService }, + { type: WindowService }, + { type: NavigateService } + ]; }; + ExcelDocumentComponent.propDecorators = { + pages: [{ type: core.ViewChildren, args: [ExcelPageComponent,] }] + }; + return ExcelDocumentComponent; + }(DocumentComponent)); + + /** + * @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; }()); - /** - * @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 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; }()); - /** - * @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 + */ + 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 - */ - /** @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 + */ + 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 - */ - /** @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 $$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 - */ - 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 + */ + /** @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 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 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 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 are commented as a part of possible solution - // for hiding one select after opening another one - //$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: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; + /** + * @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 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 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 are commented as a part of possible solution + // for hiding one select after opening another one + //$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; }()); - /** - * @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 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 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: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; + /** + * @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 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 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; }()); - /** - * @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 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 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 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 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: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; + /** + * @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 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 + */ + 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; }()); - /** - * @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: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; + /** + * @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 - */ - 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 + */ + /** @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; }()); - /** - * @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 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 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;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; + /** + * @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 - */ - /** @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 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; }()); - /** - * @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: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 + */ + /** @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 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 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; }()); - /** - * @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: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; + /** + * @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 TabsComponent = /** @class */ (function () { - function TabsComponent() { - } - TabsComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-tabs', - template: "
\n \n
\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 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; }()); - /** - * @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; + /** + * @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; }()); - 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; }()); - /** - * @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: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; + /** + * @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; }()); - /** - * @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 = !!/(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; }()); - /** - * @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; + /** + * @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; }()); - /** - * @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: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 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; }()); - /** - * @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; + /** + * @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; }()); - /** - * @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; }()); - /** - * @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%;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; }()); - /** - * @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; }()); - /** - * @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; + /** + * @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; }()); - /** - * @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;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; + /** + * @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; }()); - /** - * @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; }()); - /** - * @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; }()); - /** - * @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; }()); - /** - * @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; }()); - /** - * @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; }()); - /** - * @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]; - 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 - ], - 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 - ], - 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, + ExcelPageService]; + 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, + ExcelDocumentComponent, + PageComponent, + ExcelPageComponent, + 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 + ], + exports: [ + TopToolbarComponent, + SidePanelComponent, + ButtonComponent, + LogoComponent, + TooltipComponent, + ModalComponent, + BrowseFilesModalComponent, + DocumentComponent, + ExcelDocumentComponent, + PageComponent, + ExcelPageComponent, + 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, + EditorDirective, + FormattingDirective + ], + providers: providers + },] } + ]; + /** @nocollapse */ + CommonComponentsModule.ctorParameters = function () { return []; }; + return CommonComponentsModule; }()); exports.AddDynamicComponentService = AddDynamicComponentService; @@ -6196,6 +6514,9 @@ exports.EditorDirective = EditorDirective; exports.ErrorInterceptorService = ErrorInterceptorService; exports.ErrorModalComponent = ErrorModalComponent; + exports.ExcelDocumentComponent = ExcelDocumentComponent; + exports.ExcelPageComponent = ExcelPageComponent; + exports.ExcelPageService = ExcelPageService; exports.ExceptionMessageService = ExceptionMessageService; exports.FileCredentials = FileCredentials; exports.FileDescription = FileDescription; 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 4e3abbf9e..3158cd267 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/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\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 visibility = 'hidden';\n\n constructor() {\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 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\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","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}\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\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 are commented as a part of possible solution\n // for hiding one select after opening another one\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 {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';\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\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 ],\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 ],\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":"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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-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/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/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\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 visibility = 'hidden';\r\n\r\n constructor() {\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 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\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","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}\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\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 {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\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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 this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n super(_elementRef, zoomService, windowService);\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this._navigateService.navigate.subscribe(\r\n value => {\r\n this.selectSheet(value);\r\n });\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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 {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 are commented as a part of possible solution\r\n // for hiding one select after opening another one\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 {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 {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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-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 {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 {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 ],\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 EditorDirective,\r\n FormattingDirective\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","$","ViewChildren","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 4d6ffd5f7..949e33e72 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,d,l,u,h){"use strict";var f=function(t,e){return(f=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 g(t,e){function o(){this.constructor=t}f(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:'
\n
\n \n
\n
\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:'
\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;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}(),w=function(){function t(t){var e=this;this.iconOnly=!0,this.intent="default",this.disabled=!1,this.toggle=!1,this.iconRegular=!1,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:flex;align-items: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}@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}]},t}(),x=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: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}(),C=function(){function t(){this.visibility="hidden"}return 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;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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}],show:[{type:e.Input}]},t}(),S=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",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.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=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.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}(),O=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:'
\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%;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:O},{type:e.ElementRef}]},t.propDecorators={id:[{type:e.Input}],title:[{type:e.Input}],visible:[{type:e.Output}],cancel:[{type:e.Output}]},t}(),I=function(){},F=function(){},k=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 g(e,t),e}(k),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}(),L=function(){function t(){}return t.find=function(e,o){if(e&&!o){var n=e.split("."),i=n.pop().toLowerCase();return void 0===t.map[i]?n.length>0?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}(),M=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}(),H=d,U=[{name:"Disc",icon:"hdd"},{name:"URL",icon:"link"}],B=function(){function t(t){this._uploadService=t,this.uploads=U,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 L.find(t.name,t.directory).format},t.prototype.getFormatIcon=function(t){return L.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,H("#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: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}(),W=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}(),N=d,$=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 l(this.container)},t.prototype.ifExcel=function(){return"Microsoft Excel"===L.find(this.file.guid,!1).format},t.prototype.getDimensionWithUnit=function(t){return t+(this.mode?L.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&&N(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{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:W},{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:'
\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}(),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}(),X=function(){function t(t){this.sanitizer=t}return t.prototype.transform=function(t){return this.sanitizer.bypassSecurityTrustResourceUrl(t)},t.decorators=[{type:e.Pipe,args:[{name:"safeResourceHtml"}]}],t.ctorParameters=function(){return[{type:u.DomSanitizer}]},t}(),Z=function(){function t(t){this.sanitizer=t}return t.prototype.transform=function(t){return this.sanitizer.bypassSecurityTrustStyle(t)},t.decorators=[{type:e.Pipe,args:[{name:"safeStyle"}]}],t.ctorParameters=function(){return[{type:u.DomSanitizer}]},t}(),G=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: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=d,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 d=e/100,l=tt(t).outerHeight()*d,u=tt(t).outerWidth()*d;if(!u||!l)return!1;var h=tt(t).offset(),f=h.left*d+u,g=h.top*d+l;if(!!(cf||pg))return!1;var m=parseFloat(Math.min(1,(g-s)/l).toFixed(2)),v=parseFloat(Math.min(1,(p-h.top*d)/l).toFixed(2));return parseFloat(Math.min(1,(f-a)/u).toFixed(2))*parseFloat(Math.min(1,(c-h.left*d)/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=d,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+L.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:W},{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){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: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:'
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\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}(),dt=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}(),lt=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+='
'+d.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 d;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:dt}]},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:'\n
\n \n
\n
Something went wrong
\n
{{message ? message : \'Server is not available\'}}
\n
\n
\n
\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}(),ft=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}(),gt=d,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=gt("#password");t&&t.focus()},100):gt("#password").val("")},t.prototype.cancel=function(t){gt("#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: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:ft}]},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:O},{type:ut}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(O),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\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;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}(),wt=d,xt=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: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}(),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}(),_t=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: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: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}(),Pt=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-tabs",template:'
\n \n
\n',styles:[".gd-tabs{display:flex}"]}]}],t.ctorParameters=function(){return[]},t}(),Ot=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}(),Et=function(){function t(){this._observerBold=new n.Subject,this._formatBoldChange=this._observerBold.asObservable(),this._observerUnderline=new n.Subject,this._formatUnderlineChange=this._observerUnderline.asObservable(),this._observerUndo=new n.Subject,this._undo=this._observerUndo.asObservable(),this._observerRedo=new n.Subject,this._redo=this._observerRedo.asObservable(),this._observerItalic=new n.Subject,this._formatItalicChange=this._observerItalic.asObservable(),this._observerColor=new n.Subject,this._formatColorChange=this._observerColor.asObservable(),this._observerBgColor=new n.Subject,this._formatBgColorChange=this._observerBgColor.asObservable(),this._observerFontSize=new n.Subject,this._formatFontSizeChange=this._observerFontSize.asObservable(),this._observerFont=new n.Subject,this._formatFontChange=this._observerFont.asObservable(),this._observerStrikeout=new n.Subject,this._formatStrikeoutChange=this._observerStrikeout.asObservable(),this._observerAlign=new n.Subject,this._formatAlignChange=this._observerAlign.asObservable(),this._observerList=new n.Subject,this._formatListChange=this._observerList.asObservable()}return Object.defineProperty(t.prototype,"formatBoldChange",{get:function(){return this._formatBoldChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatUnderlineChange",{get:function(){return this._formatUnderlineChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatColorChange",{get:function(){return this._formatColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatBgColorChange",{get:function(){return this._formatBgColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatFontSizeChange",{get:function(){return this._formatFontSizeChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatFontChange",{get:function(){return this._formatFontChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"undo",{get:function(){return this._undo},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"redo",{get:function(){return this._redo},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatItalicChange",{get:function(){return this._formatItalicChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatStrikeoutChange",{get:function(){return this._formatStrikeoutChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatAlignChange",{get:function(){return this._formatAlignChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatListChange",{get:function(){return this._formatListChange},enumerable:!0,configurable:!0}),t.createFontSizeOption=function(t){return{value:t,name:t+"px",separator:!1}},t.getFontSizeOptions=function(){return[t.createFontSizeOption(8),t.createFontSizeOption(10),t.createFontSizeOption(12),t.createFontSizeOption(14),t.createFontSizeOption(16),t.createFontSizeOption(18),t.createFontSizeOption(20),t.createFontSizeOption(22),t.createFontSizeOption(24)]},t.createFontOption=function(t){return{value:t,name:t,separator:!1}},t.getFontOptions=function(){var t=this,e=[];return["Arial","Calibri","Century Gothic","Comic Sans","Consolas","Courier","Dejavu Sans","Dejavu Serif","Georgia","Gill Sans","Helvetica","Impact","Lucida Sans","Myriad Pro","Open Sans","Palatino","Tahoma","Times New Roman","Trebuchet"].forEach(function(o){e.push(t.createFontOption(o))}),e},t.prototype.changeFormatFontSize=function(t){this._observerFontSize.next(t)},t.prototype.changeFormatBold=function(t){this._observerBold.next(t)},t.prototype.changeFormatUnderline=function(t){this._observerUnderline.next(t)},t.prototype.Undo=function(){this._observerUndo.next()},t.prototype.Redo=function(){this._observerRedo.next()},t.prototype.changeFormatItalic=function(t){this._observerItalic.next(t)},t.prototype.changeFormatColor=function(t){this._observerColor.next(t)},t.prototype.changeFormatBgColor=function(t){this._observerBgColor.next(t)},t.prototype.changeFormatFont=function(t){this._observerFont.next(t)},t.prototype.changeFormatStrikeout=function(t){this._observerStrikeout.next(t)},t.prototype.changeFormatAlign=function(t){this._observerAlign.next(t)},t.prototype.changeFormatList=function(t){this._observerList.next(t)},t}(),It=["#000000","#434343","#666666","#999999","#B7B7B7","#CCCCCC","#D9D9D9","#EFEFEF","#F3F3F3","#FFFFFF","#980000","#FF0000","#FF9900","#FFFF00","#00FF00","#00FFFF","#4986E8","#0000FF","#9900FF","#FF00FF","#E6B8AF","#F4CCCC","#FDE5CD","#FFF2CC","#D9EAD3","#D0E0E2","#C9DAF8","#CFE2F3","#D9D2E9","#EAD1DC","#DD7E6B","#EA9899","#F9CB9C","#FFE59A","#B7D7A8","#A2C4C9","#A4C2F4","#9FC5E8","#B4A7D7","#D5A6BD","#CC4125","#E06666","#F6B26B","#FFD966","#92C47D","#75A5AF","#6D9EEB","#6FA9DB","#8E7CC3","#C27BA0","#A61C00","#CC0000","#E69138","#F2C131","#6AA84F","#45818E","#3C78D8","#3C85C6","#674EA7","#A64D79","#85200B","#990000","#B45F05","#BF9000","#37761D","#144F5C","#1254CC","#0A5394","#351C75","#741B47","#5B0F00","#660000","#783F03","#7F6000","#284E13","#0B343D","#1B4586","#063763","#20124D","#4C1030"],Ft=function(){function t(){this.isOpen=!1,this.selectedColor=new e.EventEmitter,this.closeOutside=new e.EventEmitter,this.colors=It,this.white="#FFFFFF"}return t.prototype.ngOnInit=function(){},t.prototype.select=function(t,e){t.preventDefault(),t.stopPropagation(),this.selectedColor.emit(e)},t.prototype.close=function(){this.isOpen=!1,this.closeOutside.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-color-picker",template:'
\n
\n
\n
\n
\n',styles:[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display: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}(),kt=function(t){function o(){return t.call(this)||this}return g(o,t),o.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],o.ctorParameters=function(){return[]},o.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new o},token:o,providedIn:"root"}),o}(Et),zt=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}(),Dt=d,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=/*@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=Dt(window.getSelection().focusNode.parentNode).css("background-color").toString()),this.font=document.queryCommandValue("FontName").replace(/"/g,""),this.font.split(",").length>1&&(this.font=this.font.split(",")[0]),this.color=document.queryCommandValue("foreColor"),this._backFormattingService.changeFormatBold(this.bold),this._backFormattingService.changeFormatUnderline(this.underline),this._backFormattingService.changeFormatItalic(this.italic),this._backFormattingService.changeFormatColor(this.color),this._backFormattingService.changeFormatBgColor(this.bgColor),this._backFormattingService.changeFormatFontSize(this.reportFontSize()),this._backFormattingService.changeFormatFont(this.font),this._backFormattingService.changeFormatStrikeout(this.strikeout),this._backFormattingService.changeFormatAlign(this.align),this._backFormattingService.changeFormatList(this.list)},t.prototype.checkJustify=function(){var t="";return t=document.queryCommandState("justifyCenter")?"center":t,t=document.queryCommandState("justifyFull")?"full":t,t=document.queryCommandState("justifyLeft")?"left":t,t=document.queryCommandState("justifyRight")?"right":t},t.prototype.checkList=function(){var t="";return t=document.queryCommandState("insertUnorderedList")?"unordered":t,t=document.queryCommandState("insertOrderedList")?"ordered":t},t.prototype.reportFontSize=function(){var t,e;if(window.getSelection?(e=window.getSelection()).rangeCount&&3===(t=e.getRangeAt(0).commonAncestorContainer).nodeType&&(t=t.parentNode):(e=document.getSelection())&&"Control"!==e.type&&(t=e.createRange().parentElement()),t)return parseInt(this.getComputedStyleProperty(t,"fontSize").replace("px",""),10)},t.prototype.getComputedStyleProperty=function(t,e){return window.getComputedStyle?window.getComputedStyle(t,null)[e]:t.currentStyle?t.currentStyle[e]:void 0},t.prototype.ngOnInit=function(){var t=this;this._formattingService.undo.subscribe(function(){t.toggleUndo()}),this._formattingService.redo.subscribe(function(){t.toggleRedo()}),this._formattingService.formatBoldChange.subscribe(function(e){t.bold=e,t.toggleBold()}),this._formattingService.formatUnderlineChange.subscribe(function(e){t.underline=e,t.toggleUnderline()}),this._formattingService.formatItalicChange.subscribe(function(e){t.italic=e,t.toggleItalic()}),this._formattingService.formatColorChange.subscribe(function(e){t.color=e,t.setColor(e)}),this._formattingService.formatBgColorChange.subscribe(function(e){t.bgColor=e,t.setBgColor(e)}),this._formattingService.formatFontSizeChange.subscribe(function(e){t.setFontSize(e)}),this._formattingService.formatFontChange.subscribe(function(e){t.font=e,t.setFont(e)}),this._formattingService.formatStrikeoutChange.subscribe(function(e){t.strikeout=e,t.toggleStrikeout()}),this._formattingService.formatAlignChange.subscribe(function(e){t.align=e,t.toggleAlign(t.align)}),this._formattingService.formatListChange.subscribe(function(e){var o=t.list===e;t.list=e,t.toggleList(t.list,o)})},t.prototype.toggleBold=function(){document.execCommand("bold"),this._selectionService.refreshSelection()},t.prototype.toggleUnderline=function(){document.execCommand("underline"),this._selectionService.refreshSelection()},t.prototype.toggleItalic=function(){document.execCommand("italic"),this._selectionService.refreshSelection()},t.prototype.setBgColor=function(t){document.execCommand("backColor",!1,t),this._selectionService.refreshSelection()},t.prototype.setColor=function(t){document.execCommand("foreColor",!1,t),this._selectionService.refreshSelection()},t.prototype.setFontSize=function(t){if(document.getSelection().toString()){var e=""+document.getSelection()+"";this.bold&&(e=""+e+""),this.italic&&(e=""+e+""),this.underline&&(e=""+e+""),this.strikeout&&(e=""+e+""),document.execCommand("insertHTML",!1,e)}else document.execCommand("fontsize",!1,"7");this._selectionService.refreshSelection()},t.prototype.toggleUndo=function(){document.execCommand("undo")},t.prototype.toggleRedo=function(){document.execCommand("redo")},t.prototype.setFont=function(t){document.execCommand("fontName",!1,t),this._selectionService.refreshSelection()},t.prototype.toggleStrikeout=function(){document.execCommand("strikeThrough"),this._selectionService.refreshSelection()},t.prototype.toggleAlign=function(t){if(this.isIE)this.toggleAlignIE(t);else{switch(document.execCommand("styleWithCSS",!1,"true"),t){case"center":document.execCommand("justifyCenter");break;case"full":document.execCommand("justifyFull");break;case"left":document.execCommand("justifyLeft");break;case"right":document.execCommand("justifyRight")}this._selectionService.refreshSelection()}},t.prototype.toggleAlignIE=function(t){this._selectionService.restoreSelection(),this._selectionService.captureSelection();var e=window.getSelection().focusNode.parentNode.parentNode;"full"===t&&(t="justify"),Dt(e).css("text-align",t),this._selectionService.refreshSelection()},t.prototype.toggleList=function(t,e){switch(t){case"unordered":document.execCommand("insertUnorderedList",e);break;case"ordered":document.execCommand("insertOrderedList",e)}this._selectionService.refreshSelection()},t.decorators=[{type:e.Directive,args:[{selector:"[gdFormatting]"}]}],t.ctorParameters=function(){return[{type:Et},{type:kt},{type:zt}]},t.propDecorators={mouseup:[{type:e.HostListener,args:["mouseup"]}]},t}(),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: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}(),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}(),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:zt},{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}(),Mt=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}(),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%;transform:translate(-50%,-50%)}"]}]}],t.ctorParameters=function(){return[{type:Mt}]},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:Mt}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(Mt))},token:t,providedIn:"root"}),t}(),Ut={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},Bt={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},Wt=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 qt})]}]}]},t.propDecorators={click:[{type:e.HostListener,args:["click",["$event"]]}]},t}(),Nt=function(){function t(t){this.dropdown=t}return Object.defineProperty(t.prototype,"horizontalAlign",{get:function(){return Ut[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 qt})]}]}]},t}(),$t=function(){function t(t){var o=this;this.dropdown=t,this.class="drop-down-item",this.selected=new e.EventEmitter,this.click=function(){return o.selectEntry()}}return t.prototype.selectEntry=function(){this.selected.next(),this.dropdown.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-drop-down-item",template:'',styles:[".drop-down{position:relative}.show .drop-down-items{display: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 qt})]}]}]},t.propDecorators={class:[{type:e.HostBinding,args:["class"]}],selected:[{type:e.Output}],click:[{type:e.HostListener,args:["click"]}]},t}(),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: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}(),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;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}(),Gt=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}(),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:Gt}]},t.propDecorators={ident:[{type:e.Input}]},t}(),Jt=d,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}(),Qt=[_,S,O,M,T,L,j,V,X,Z,G,R,dt,Q,K,W,ut,ft,vt,yt,b,et,Et,kt,rt,Ht,Mt,St,Zt,Gt],te=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,w,x,C,E,B,$,q,V,X,Z,G,Y,J,nt,it,st,at,ct,pt,lt,ht,mt,bt,xt,Ct,_t,Pt,Ft,Tt,At,Lt,Rt,qt,$t,Nt,Wt,Vt,Xt,Yt,Kt],exports:[v,y,w,x,C,E,B,$,q,X,Z,G,V,Y,nt,st,ct,pt,lt,ht,mt,bt,xt,Ct,_t,Pt,Ft,Tt,At,Rt,J,qt,$t,Nt,Wt,it,Wt,Vt,Xt,Yt,Kt],providers:Qt}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Zt,t.Api=S,t.BackFormattingService=kt,t.BrowseFilesModalComponent=B,t.ButtonComponent=w,t.ColorPickerComponent=Ft,t.CommonComponentsModule=te,t.CommonModals=P,t.ConfigService=_,t.DisabledCursorDirective=at,t.DndDirective=J,t.DocumentComponent=$,t.DropDownComponent=qt,t.DropDownItemComponent=$t,t.DropDownItemsComponent=Nt,t.DropDownToggleComponent=Wt,t.EditHtmlService=jt,t.EditorDirective=Lt,t.ErrorInterceptorService=vt,t.ErrorModalComponent=ht,t.ExceptionMessageService=ut,t.FileCredentials=k,t.FileDescription=D,t.FileModel=T,t.FileService=M,t.FileUtil=L,t.Formatting=Ot,t.FormattingDirective=Tt,t.FormattingService=Et,t.HighlightSearchPipe=G,t.HostDynamicDirective=Yt,t.HostingDynamicComponentService=Gt,t.HttpError=A,t.InitStateComponent=pt,t.LeftSideBarComponent=Vt,t.LoadingMaskComponent=Rt,t.LoadingMaskInterceptorService=Ht,t.LoadingMaskService=Mt,t.LogoComponent=x,t.ModalComponent=E,t.ModalService=O,t.NavigateService=Q,t.OnCloseService=rt,t.PageComponent=q,t.PageModel=I,t.PagePreloadService=K,t.PasswordRequiredComponent=mt,t.PasswordService=ft,t.RenderPrintDirective=lt,t.RenderPrintService=dt,t.RotatedPage=F,t.RotationDirective=ct,t.SanitizeHtmlPipe=V,t.SanitizeResourceHtmlPipe=X,t.SanitizeStylePipe=Z,t.SaveFile=z,t.ScrollableDirective=nt,t.SearchComponent=bt,t.SearchService=yt,t.SearchableDirective=xt,t.SelectComponent=st,t.SelectionService=zt,t.SidePanelComponent=y,t.SuccessModalComponent=At,t.TabActivatorService=St,t.TabComponent=_t,t.TabbedToolbarsComponent=Ct,t.TooltipComponent=C,t.TopToolbarComponent=v,t.UploadFileZoneComponent=Y,t.UploadFilesService=R,t.Utils=j,t.ViewportService=et,t.WindowService=b,t.ZoomDirective=it,t.ZoomService=W,t.ɵa=Pt,t.ɵb=Xt,t.ɵc=Kt,Object.defineProperty(t,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(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"],t):t(((e=e||self).groupdocs=e.groupdocs||{},e.groupdocs.examples=e.groupdocs.examples||{},e.groupdocs.examples.angular=e.groupdocs.examples.angular||{},e.groupdocs.examples.angular["common-components"]={}),e.ng.core,e.ng.common,e.rxjs,e.rxjs.operators,e.angularFontawesome,e.fontawesomeSvgCore,e.freeSolidSvgIcons,e.freeRegularSvgIcons,e.ng.common.http,e.jquery,e.Hammer,e.ng.platformBrowser,e.ngClickOutside)}(this,function(e,t,o,n,i,r,s,a,c,p,l,d,u,h){"use strict";var g=function(e,t){return(g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)};function f(e,t){function o(){this.constructor=e}g(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}function m(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}}var v=function(){function e(){}return e.decorators=[{type:t.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}}"]}]}],e.ctorParameters=function(){return[]},e}(),y=function(){function e(){this.hideSidePanel=new t.EventEmitter,this.onlyTitle=!1}return e.prototype.openSidePanel=function(){this.hideSidePanel.emit(!0)},e.prototype.toggleTitleMode=function(){this.onlyTitle=!this.onlyTitle},e.decorators=[{type:t.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}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={title:[{type:t.Input}],icon:[{type:t.Input}],hideSidePanel:[{type:t.Output}]},e}(),b=function(){function e(){var e=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(t){e.resizeSubject.next(t.target),e.width=t.target.innerWidth,e.height=t.target.innerHeight})),this._resize$.subscribe()}return Object.defineProperty(e.prototype,"onResize",{get:function(){return this.resizeSubject.asObservable()},enumerable:!0,configurable:!0}),e.prototype.isMobile=function(){return this.width<=425},e.prototype.isTablet=function(){return this.width<=1024},e.prototype.isDesktop=function(){return!this.isMobile()&&!this.isTablet()},e.prototype.getWidth=function(){return this.width},e.prototype.getHeight=function(){return this.height},e.prototype.isEdge=function(){return window.navigator.userAgent.toLowerCase().indexOf("edge")>-1},e.prototype.isFirefox=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},e}(),x=function(){function e(e){var t=this;this.iconOnly=!0,this.intent="default",this.disabled=!1,this.toggle=!1,this.iconRegular=!1,this.showToolTip=!1,this.isDesktop=e.isDesktop(),e.onResize.subscribe(function(o){t.isDesktop=e.isDesktop()})}return e.prototype.iconButtonClass=function(){return this.iconOnly?"icon-button":""},e.prototype.onHovering=function(){this.isDesktop&&!this.disabled&&(this.className+=" active")},e.prototype.onUnhovering=function(){this.isDesktop&&!this.disabled&&(this.className=this.cleanAll(this.className," active"))},e.prototype.cleanAll=function(e,t){for(;e&&-1!==e.indexOf(t);)e=e.replace(t,"");return e},e.decorators=[{type:t.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;align-items: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}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],e.ctorParameters=function(){return[{type:b}]},e.propDecorators={iconOnly:[{type:t.Input}],intent:[{type:t.Input}],disabled:[{type:t.Input}],icon:[{type:t.Input}],iconClass:[{type:t.Input}],tooltip:[{type:t.Input}],className:[{type:t.Input}],toggle:[{type:t.Input}],iconSize:[{type:t.Input}],iconRegular:[{type:t.Input}]},e}(),w=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.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}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={logo:[{type:t.Input}],icon:[{type:t.Input}]},e}(),S=function(){function e(){this.visibility="hidden"}return Object.defineProperty(e.prototype,"show",{set:function(e){this.visibility=e?"shown":"hidden"},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-tooltip",template:'\r\n',styles:['.tooltip{position:absolute;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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}']}]}],e.ctorParameters=function(){return[]},e.propDecorators={text:[{type:t.Input}],show:[{type:t.Input}]},e}(),C=function(){function e(){}return e.VIEWER_APP="/viewer",e.SIGNATURE_APP="/signature",e.EDITOR_APP="/editor",e.COMPARISON_APP="/comparison",e.CONVERSION_APP="/conversion",e.DEFAULT_API_ENDPOINT=window.location.href,e.LOAD_FILE_TREE="/loadFileTree",e.LOAD_CONFIG="/loadConfig",e.LOAD_DOCUMENT_DESCRIPTION="/loadDocumentDescription",e.LOAD_DOCUMENT_PAGE="/loadDocumentPage",e.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",e.UPLOAD_DOCUMENTS="/uploadDocument",e.DOWNLOAD_DOCUMENTS="/downloadDocument",e.LOAD_PRINT="/loadPrint",e.LOAD_PRINT_PDF="/printPdf",e.LOAD_THUMBNAILS="/loadThumbnails",e.LOAD_FORMATS="/loadFormats",e.SAVE_FILE="/saveFile",e.COMPARE_FILES="/compare",e.CONVERT_FILE="/convert",e.DELETE_SIGNATURE_FILE="/deleteSignatureFile",e.SAVE_OPTICAL_CODE="/saveOpticalCode",e.SAVE_TEXT="/saveText",e.SAVE_IMAGE="/saveImage",e.SAVE_STAMP="/saveStamp",e.SIGN="/sign",e.DOWNLOAD_SIGNED="/downloadSigned",e.LOAD_SIGNATURE_IMAGE="/loadSignatureImage",e.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},e.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},e}(),_=function(){function e(){this.apiEndpoint=C.DEFAULT_API_ENDPOINT}return Object.defineProperty(e.prototype,"apiEndpoint",{get:function(){return this._apiEndpoint},set:function(e){this._apiEndpoint=e&&e.trim().endsWith("/")?e.substring(0,e.length-1):e},enumerable:!0,configurable:!0}),e.prototype.getConfigEndpoint=function(e){return(this.apiEndpoint.endsWith(e)?this.apiEndpoint:this.apiEndpoint+e)+C.LOAD_CONFIG},e.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(C.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+C.VIEWER_APP},e.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+C.EDITOR_APP},e.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+C.COMPARISON_APP},e.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+C.CONVERSION_APP},e.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(C.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+C.SIGNATURE_APP},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[]},e}(),P=function(){function e(){}return e.PasswordRequired="gd-password-required",e.ErrorMessage="gd-error-message",e.BrowseFiles="gd-browse-files",e.CreateDocument="gd-create-document",e.OperationSuccess="gd-success-modal",e.DrawHandSignature="gd-draw-hand-signature",e.DrawStampSignature="gd-draw-stamp-signature",e.InformationMessage="gd-information-message",e}(),E=function(){function e(){this.modals=[]}return e.prototype.add=function(e){this.modals.push(e)},e.prototype.remove=function(e){this.modals=this.modals.filter(function(t){return t.id!==e})},e.prototype.open=function(e){var t=this.modals.filter(function(t){return t.id===e})[0];t&&t.open()},e.prototype.close=function(e){var t=this.modals.filter(function(t){return t.id===e})[0];t&&t.close()},e}(),I=function(){function e(e,o){this.modalService=e,this.visible=new t.EventEmitter,this.cancel=new t.EventEmitter,this.visibility=!1,this.element=o.nativeElement}return e.prototype.ngOnInit=function(){this.id?(document.body.appendChild(this.element),this.modalService.add(this)):console.error("modal must have an id")},e.prototype.ngOnDestroy=function(){this.modalService.remove(this.id),this.element.remove()},e.prototype.open=function(){this.visibility=!0,this.visible.emit(!0)},e.prototype.close=function(){event.preventDefault(),event.stopPropagation(),this.visibility=!1,this.visible.emit(!1)},e.prototype.onClose=function(e){e.stopPropagation(),e&&e.target&&"modalDialog"===e.target.id&&this.close()},e.prototype.cancelClose=function(){this.cancel.emit(!1),this.close()},e.decorators=[{type:t.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%}}"]}]}],e.ctorParameters=function(){return[{type:E},{type:t.ElementRef}]},e.propDecorators={id:[{type:t.Input}],title:[{type:t.Input}],visible:[{type:t.Output}],cancel:[{type:t.Output}]},e}(),O=function(){},k=function(){},z=function(e,t){this.guid=e,this.password=t},F=function(e){function t(t,o,n){var i=e.call(this,t,o)||this;return i.content=n,i}return f(t,e),t}(z),D=function(){this.printAllowed=!0},T=function(){},A=function(){function e(){}return e.BadRequest=400,e.Unauthorized=401,e.Forbidden=403,e.NotFound=404,e.TimeOut=408,e.Conflict=409,e.InternalServerError=500,e}(),j=function(){function e(){}return e.getMousePosition=function(e){var t={x:0,y:0},o=window.event,n=e||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;t.x=i||(s?o.screenX:n.touches[0].pageX),t.y=r||(a?o.screenY:n.touches[0].pageY)}else n.clientX&&(t.x=n.clientX+document.body.scrollLeft,t.y=n.clientY+document.body.scrollTop);return t},e}(),M=function(){function e(){}return e.find=function(t,o){if(t&&!o){var n=t.split("."),i=n.pop().toLowerCase();return void 0===e.map[i]?n.length>0?e.map.unknown:e.map.folder:e.map[i]}return e.map.folder},e.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"}},e}(),L=function(){},R=function(){function e(){var e=this;this._uploadsChange=new n.Observable(function(t){return e._observer=t})}return Object.defineProperty(e.prototype,"uploadsChange",{get:function(){return this._uploadsChange},enumerable:!0,configurable:!0}),e.prototype.changeFilesList=function(e){this._observer.next(e)},e}(),H=l,U=[{name:"Disc",icon:"hdd"},{name:"URL",icon:"link"}],B=function(){function e(e){this._uploadService=e,this.uploads=U,this.selectedFileGuid=new t.EventEmitter,this.selectedDirectory=new t.EventEmitter,this.urlForUpload=new t.EventEmitter,this.closing=new t.EventEmitter,this.showUploadUrl=!1,this.showUploadFile=!1}return e.prototype.ngOnInit=function(){},e.prototype.getSize=function(e){var t=e/1024/1024;if(t>1)return Math.round(100*t)/100+" MB";var o=e/1024;return o>1?Math.round(100*o)/100+" KB":e+" Bytes"},e.prototype.getFormatName=function(e){return M.find(e.name,e.directory).format},e.prototype.getFormatIcon=function(e){return M.find(e.name,e.directory).icon},e.prototype.choose=function(e){this.selectedFile=e,e.directory||e.isDirectory?this.selectedDirectory.emit(e.name):this.selectedFileGuid.emit(e.guid)},e.prototype.goUp=function(){if(this.selectedFile){var e=this.selectedFile.guid;e=e.length>0&&-1===e.indexOf("/")?"":e.replace(/\/[^\/]+\/?$/,""),this.selectedDirectory.emit(e)}},e.prototype.selectUpload=function(e){"URL"===e?this.showUploadUrl=!0:(this.showUploadUrl=!1,H("#gd-upload-input").trigger("click"))},e.prototype.refresh=function(e){e?(this.files=null,this.selectedDirectory.emit(""),this.showUploadUrl=!1,this.selectedFile=null):this.closing.emit(!0)},e.prototype.showSpinner=function(){return!this.files},e.prototype.uploadUrl=function(e){e&&(this.urlForUpload.emit(e),this.cleanUpload())},e.prototype.handleFileInput=function(e){this._uploadService.changeFilesList(e)},e.prototype.cleanUpload=function(){this.showUploadFile=!1,this.showUploadUrl=!1},e.decorators=[{type:t.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)}}"]}]}],e.ctorParameters=function(){return[{type:R}]},e.propDecorators={files:[{type:t.Input}],uploadConfig:[{type:t.Input}],selectedFileGuid:[{type:t.Output}],selectedDirectory:[{type:t.Output}],urlForUpload:[{type:t.Output}],closing:[{type:t.Output}]},e}(),W=function(){function e(){this._observer=new n.Subject,this._zoomChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"zoom",{get:function(){return this._zoom},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"zoomChange",{get:function(){return this._zoomChange},enumerable:!0,configurable:!0}),e.prototype.changeZoom=function(e){this._zoom=e,this._observer.next(e)},e.prototype.createZoomOption=function(e,t,o){return void 0===o&&(o=!1),{value:e,name:t,separator:o}},e.prototype.zoomOptions=function(e,t){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(e,"Fit Width"),this.createZoomOption(t,"Fit Height")]},e}(),N=l,$=function(){function e(e,t,o){var n=this;this._elementRef=e,this._zoomService=t,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,t.zoomChange.subscribe(function(e){n.zoom=e}),this.isDesktop=o.isDesktop()}return e.prototype.ngOnInit=function(){},e.prototype.ngOnChanges=function(){this._elementRef.nativeElement.children.item(0).children.item(0).style.transform=""},e.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)},e.prototype.ifExcel=function(){return"Microsoft Excel"===M.find(this.file.guid,!1).format},e.prototype.getDimensionWithUnit=function(e){return e+(this.mode?M.find(this.file.guid,!1).unit:"px")},e.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},e.prototype.ngAfterViewChecked=function(){var e=this._elementRef.nativeElement.querySelectorAll(".gd-wrapper").item(0);e&&N(e).trigger("focus")},e.prototype.absolutePosition=function(e){for(var t=0,o=0;null!==e;)t+=e.offsetLeft,o+=e.offsetTop,e=e.offsetParent;return{x:t,y:o}},e.prototype.restrictRawPos=function(e,t,o){return e0&&(e=0),e},e.prototype.updateLastPos=function(){this.lastX=this.x,this.lastY=this.y},e.prototype.translate=function(e,t){var o=this.restrictRawPos(this.lastX+e/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+t/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+")"},e.prototype.startZoom=function(e){this.scale=this.lastScale*e,this.curWidth=this.docWidth*this.scale,this.curHeight=this.docHeight*this.scale,this.translate(0,0)},e.prototype.rawCenter=function(e){var t=this.absolutePosition(this.container),o=window.pageXOffset?window.pageXOffset:document.body.scrollLeft,n=window.pageYOffset?window.pageYOffset:document.body.scrollTop;return{x:-this.x+(e.center.x-t.x+o)/this.scale,y:-this.y+(e.center.y-t.y+n)/this.scale}},e.prototype.updateLastScale=function(){this.lastScale=this.scale},e.prototype.zoomAround=function(e,t,o,n){this.startZoom(e);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-t)*this.scale,a=(r-o)*this.scale;this.translate(s,a),n||(this.updateLastScale(),this.updateLastPos())},e.prototype.onPinch=function(e){if(null===this.pinchCenter){this.pinchCenter=this.rawCenter(e);var t=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:t,y:o}}var n=this.scale*e.scale,i={x:(this.pinchCenter.x*n-this.pinchCenterOffset.x)/n,y:(this.pinchCenter.y*n-this.pinchCenterOffset.y)/n};this.zoomAround(e.scale,i.x,i.y,!0)},e.prototype.onPinchEnd=function(e){this.updateLastScale(),this.updateLastPos(),this.pinchCenter=null},e.prototype.onPan=function(e){},e.prototype.onPanEnd=function(e){},e.prototype.onDoubleTap=function(e){if(!this.isDesktop&&2===e.tapCount){var t=this.rawCenter(e);this.zoomAround(2,t.x,t.y,!1)}},e.decorators=[{type:t.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}}"]}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:W},{type:b}]},e.propDecorators={mode:[{type:t.Input}],preloadPageCount:[{type:t.Input}],file:[{type:t.Input}]},e}(),q=function(){function e(){var e=this;this._checkPreload=new n.Observable(function(t){return e._observer=t})}return Object.defineProperty(e.prototype,"checkPreload",{get:function(){return this._checkPreload},enumerable:!0,configurable:!0}),e.prototype.changeLastPageInView=function(e){this._observer&&this._observer.next(e)},e}(),V=function(){function e(e){var t=this;this._pagePreloadService=e,this._currentPage=0,this._countPages=0,this._navigate=new n.Observable(function(e){return t._observer=e})}return Object.defineProperty(e.prototype,"navigate",{get:function(){return this._navigate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"countPages",{get:function(){return this._countPages},set:function(e){this._countPages=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentPage",{get:function(){return this._currentPage},set:function(e){this._currentPage=e},enumerable:!0,configurable:!0}),e.prototype.nextPage=function(){this._currentPage1&&(this._currentPage--,this.navigateTo(this._currentPage))},e.prototype.toLastPage=function(){this._currentPage=this._countPages,this.navigateTo(this._currentPage)},e.prototype.toFirstPage=function(){this._currentPage=1,this.navigateTo(this._currentPage)},e.prototype.navigateTo=function(e){this.currentPage=e,this._pagePreloadService.changeLastPageInView(e),this._observer.next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:q}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(q))},token:e,providedIn:"root"}),e}(),X=function(){function e(){}return e.prototype.getUpdatedPage=function(e){var t=(new DOMParser).parseFromString(e,"text/html"),o=t.querySelector("table"),n=0;t.querySelectorAll("table > tbody > tr:first-child td").forEach(function(e){n+=e.attributes.colspan?parseInt(e.attributes.colspan.value,10):1});var i=this.createHeader(n,o);return t.querySelector("table").replaceWith(i),(new XMLSerializer).serializeToString(t).replace(/a0:/g,"").replace(/:a0/g,"")},e.prototype.getPageWithoutHeader=function(e){var t=(new DOMParser).parseFromString(e,"text/html");t.querySelector("colgroup").remove();var o=t.querySelector("table");return o.deleteRow(0),o.querySelectorAll("tr").forEach(function(e){e.deleteCell(0)}),t.querySelector("table").replaceWith(o),(new XMLSerializer).serializeToString(t)},e.prototype.createHeader=function(e,t){var o=document.createElement("thead");o.append(document.createElement("tr"));for(var n=0;n=0;)n=String.fromCharCode(e%o+t)+n,e=Math.floor(e/o)-1;return n},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),Z=function(){function e(e){this._excelPageService=e}return e.prototype.ngOnInit=function(){/*@cc_on!@*/!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},e.prototype.ngOnChanges=function(e){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),this.data=null!==this.data?this._excelPageService.getUpdatedPage(this.data):null},e.decorators=[{type:t.Component,args:[{selector:"gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{border:1px solid #e7e7e7!important;vertical-align:middle!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"]}]}],e.ctorParameters=function(){return[{type:X}]},e.propDecorators={angle:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],number:[{type:t.Input}],data:[{type:t.Input}],isHtml:[{type:t.Input}],editable:[{type:t.Input}]},e}(),G=function(e){function o(t,o,n,i){var r=e.call(this,t,o,n)||this;return r._navigateService=i,r.panzoom=null,r}return f(o,e),o.prototype.ngOnInit=function(){this.currentPageNo=1},o.prototype.ngAfterViewInit=function(){var e=this;this.refreshExcelDocHeight(),this.pages.changes.subscribe(function(){e.refreshExcelDocHeight()}),this._navigateService.navigate.subscribe(function(t){e.selectSheet(t)})},o.prototype.refreshExcelDocHeight=function(){this.doc=this._elementRef.nativeElement.children.item(0),this.panzoom=this._elementRef.nativeElement.children.item(0).children.item(0),this.doc.style.height=this.panzoom.scrollHeight+37+"px"},o.prototype.selectSheet=function(e){this.currentPageNo=e},o.decorators=[{type:t.Component,args:[{selector:"gd-excel-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n',styles:[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],o.ctorParameters=function(){return[{type:t.ElementRef},{type:W},{type:b},{type:V}]},o.propDecorators={pages:[{type:t.ViewChildren,args:[Z]}]},o}($),Y=function(){function e(){}return e.prototype.ngOnInit=function(){/*@cc_on!@*/!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},e.prototype.ngOnChanges=function(e){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)},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={angle:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],number:[{type:t.Input}],data:[{type:t.Input}],isHtml:[{type:t.Input}],editable:[{type:t.Input}]},e}(),J=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustHtml(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeHtml"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}(),K=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustResourceUrl(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeResourceHtml"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}(),Q=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustStyle(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeStyle"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}(),ee=function(){function e(){}return e.prototype.transform=function(e,t){if(!t)return e;var o=new RegExp(t,"gi");return e.replace(o,"$&")},e.decorators=[{type:t.Pipe,args:[{name:"highlight"}]}],e}(),te=function(){function e(e){this._uploadService=e,this.closeUpload=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.handleFileInput=function(e){this._uploadService.changeFilesList(e),this.onCloseUpload()},e.prototype.onCloseUpload=function(){this.closeUpload.emit(!0)},e.prototype.close=function(e){"gd-dropZone"===e.target.id&&this.onCloseUpload()},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[{type:R}]},e.propDecorators={closeUpload:[{type:t.Output}]},e}(),oe=function(){function e(e){this._uploadFilesService=e,this.closing=new t.EventEmitter,this.opening=new t.EventEmitter,this.dropped=new t.EventEmitter,this.active=!1,this.dragCounter=0}return e.prototype.onDragEnter=function(e){e.preventDefault(),e.stopPropagation(),this.dragCounter++,this.active=!0,this.opening.emit(!0)},e.prototype.onDragOver=function(e){return e.preventDefault(),e.stopPropagation(),!1},e.prototype.onDragLeave=function(e){e.preventDefault(),e.stopPropagation(),this.dragCounter--,0===this.dragCounter&&(this.active=!1,this.closeArea())},e.prototype.onDrop=function(e){e.preventDefault(),e.stopPropagation();var t=e.dataTransfer.files;t.length>0&&(this.active=!1,this.dropped.emit(!0),this._uploadFilesService.changeFilesList(t),this.closeArea())},e.prototype.onClick=function(e){this.closeArea()},e.prototype.closeArea=function(){this.closing.emit(!0),this.opening.emit(!1)},e.decorators=[{type:t.Directive,args:[{selector:"[gdDnd]"}]}],e.ctorParameters=function(){return[{type:R}]},e.propDecorators={closing:[{type:t.Output}],opening:[{type:t.Output}],dropped:[{type:t.Output}],active:[{type:t.HostBinding,args:["class.active"]}],onDragEnter:[{type:t.HostListener,args:["dragenter",["$event"]]}],onDragOver:[{type:t.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:t.HostListener,args:["dragleave",["$event"]]}],onDrop:[{type:t.HostListener,args:["drop",["$event"]]}],onClick:[{type:t.HostListener,args:["click",["$event"]]}]},e}(),ne=l,ie=function(){function e(){}return e.prototype.checkInViewport=function(e,t,o,n){if(void 0===t&&(t=100),void 0===o&&(o=0),void 0===n&&(n=.5),!e)return!1;var i=n,r=ne(window),s=r.scrollTop(),a=r.scrollLeft()+o,c=r.scrollLeft()+r.width()-10,p=r.scrollTop()+r.height();isNaN(t)&&(t=100);var l=t/100,d=ne(e).outerHeight()*l,u=ne(e).outerWidth()*l;if(!u||!d)return!1;var h=ne(e).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},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),re=l,se=function(){function e(e,t,o,n,i,r){var s=this;this._elementRef=e,this._navigateService=t,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(e){s.zoom=e||s.zoom,s.refresh()})}return e.prototype.ngAfterViewInit=function(){var e=this;this.zoom=this._zoomService.zoom?this._zoomService.zoom:this.zoom,this._navigateService.navigate.subscribe(function(t){e.currentPage=t,e.scrollToPage(t)}),this.refresh()},e.prototype.scrolling=function(){this.refresh()},e.prototype.resizing=function(){this.refresh()},e.prototype.scrollToPage=function(e){var t=this._elementRef.nativeElement,o=this.getPage(e),n=e>0?this.getPage(e-1):null,i=n&&re(n).offset().top===re(o).offset().top;if(!this._viewportService.checkInViewport(o,this.zoom)||!i){var r={left:0,top:this.calculateOffset(e)};t&&t.scroll(r)}},e.prototype.getChildren=function(){var e=this._elementRef?this._elementRef.nativeElement:null;if(e)return e.children.item(0).children.item(0).children},e.prototype.getPage=function(e){var t=this._elementRef?this._elementRef.nativeElement:null;if(t)return t.children.item(0).children.item(0).children.item(e-1)},e.prototype.calculateOffset=function(e){for(var t=this._windowService.isFirefox()?1:this.countPagesOnWidth(),o=this._windowService.isDesktop()?40:10,n=0,i=1;i0?s*this.getZoom()+o:0}return n},e.prototype.countPagesOnWidth=function(){var e=this.getPage(1),t=Math.floor((this.getWidth()-150)/(e.getBoundingClientRect().width*this.getZoom()));return 0===t?1:t},e.prototype.refresh=function(){var e,t=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(e=1;eo&&(o=e.width)}),this.minWidth=o+M.find(this.file.guid,!1).unit}},e.prototype.getScrollWidth=function(e){return e.offsetWidth-e.clientWidth},e.prototype.resizePages=function(e){var t=100===e?1:e/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.getScrollWidth(this.el.nativeElement.parentElement);this.width=o/t-n/t+"px"},e.prototype.ngAfterViewInit=function(){this.setStyles(this._zoomService.zoom)},e.decorators=[{type:t.Directive,args:[{selector:"[gdZoom]"}]}],e.ctorParameters=function(){return[{type:W},{type:b},{type:t.ElementRef}]},e.propDecorators={zoomActive:[{type:t.Input}],file:[{type:t.Input}],zoomInt:[{type:t.HostBinding,args:["style.zoom"]}],transform:[{type:t.HostBinding,args:["style.transform"]}],transformOrigin:[{type:t.HostBinding,args:["style.transform-origin"]}],width:[{type:t.HostBinding,args:["style.width"]}],minWidth:[{type:t.HostBinding,args:["style.min-width"]}]},e}(),ce=function(){function e(){this._observer=new n.Subject,this._onClose=this._observer.asObservable()}return Object.defineProperty(e.prototype,"onClose",{get:function(){return this._onClose},enumerable:!0,configurable:!0}),e.prototype.close=function(e){this._observer.next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),pe=function(){function e(e){var o=this;this._onCloseService=e,this.disabled=!1,this.selected=new t.EventEmitter,this.isOpen=!1,e.onClose.subscribe(function(){o.close()})}return e.prototype.open=function(){this.disabled||(this.isOpen=!0)},e.prototype.close=function(){this.isOpen=!1},e.prototype.onClickOutside=function(e){this.close()},e.prototype.toggle=function(e){this.disabled||(this.isOpen=!this.isOpen)},e.prototype.select=function(e,t){e.preventDefault(),e.stopPropagation(),this.selected.emit(t),this.close()},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[{type:ce}]},e.propDecorators={options:[{type:t.Input}],disabled:[{type:t.Input}],showSelected:[{type:t.Input}],selected:[{type:t.Output}],isOpen:[{type:t.Input}]},e}(),le=function(){function e(){}return e.prototype.updateCursor=function(){this.cursor=!!this.dis},e.prototype.ngOnInit=function(){this.updateCursor()},e.prototype.ngOnChanges=function(e){this.updateCursor()},e.decorators=[{type:t.Directive,args:[{selector:"[gdDisabledCursor]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={dis:[{type:t.Input}],cursor:[{type:t.HostBinding,args:["class.inactive"]}]},e}(),de=function(){function e(){this.withMargin=!0}return e.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)},e.prototype.isLandscape=function(){return this.width>this.height},e.prototype.ngOnInit=function(){this.updateCursor()},e.prototype.ngOnChanges=function(e){this.updateCursor()},e.decorators=[{type:t.Directive,args:[{selector:"[gdRotation]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={angle:[{type:t.Input}],isHtmlMode:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],withMargin:[{type:t.Input}],animation:[{type:t.HostBinding,args:["style.animation"]}],transition:[{type:t.HostBinding,args:["style.transition-property"]}],transform:[{type:t.HostBinding,args:["style.transform"]}],margin:[{type:t.HostBinding,args:["style.margin"]}]},e}(),ue=function(){function e(){this.fileDropped=new t.EventEmitter,this.showUploadFile=!1}return e.prototype.ngOnInit=function(){},e.prototype.dropped=function(e){e&&(this.fileDropped.emit(e),this.showUploadFile=!1)},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={icon:[{type:t.Input}],text:[{type:t.Input}],fileDropped:[{type:t.Output}]},e}(),he=function(){function e(){var e=this;this._render=new n.Observable(function(t){return e._observer=t}),this._renderBlob=new n.Observable(function(t){return e._observerBlob=t})}return Object.defineProperty(e.prototype,"renderPrint",{get:function(){return this._render},enumerable:!0,configurable:!0}),e.prototype.changePages=function(e){this._observer.next(e)},Object.defineProperty(e.prototype,"renderPrintBlob",{get:function(){return this._renderBlob},enumerable:!0,configurable:!0}),e.prototype.changeBlob=function(e){this._observerBlob.next(e)},e}(),ge=function(){function e(e){var t=this;this._renderService=e,e.renderPrint.subscribe(function(e){t.renderPrint(e)}),e.renderPrintBlob.subscribe(function(e){t.renderPrintBlob(e)})}return e.prototype.renderPrint=function(e){var t,o,n,i,r="";if(this.htmlMode)try{for(var s=m(e),a=s.next();!a.done;a=s.next()){r+='
'+l.data+"
"}}catch(e){t={error:e}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(t)throw t.error}}else try{for(var c=m(e),p=c.next();!p.done;p=c.next()){var l;r+='
'}}catch(e){n={error:e}}finally{try{p&&!p.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}this.openWindow(r,e[0].width,e[0].height)},e.prototype.openWindow=function(e,t,o){var n="";if(t>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(e),s.document.close(),s.focus(),s.print(),s.close()},e.prototype.renderPrintBlob=function(e){var t=URL.createObjectURL(e),o=window.open(t,"PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");o.focus(),o.print(),o.close()},e.decorators=[{type:t.Directive,args:[{selector:"[gdRenderPrint]"}]}],e.ctorParameters=function(){return[{type:he}]},e.propDecorators={htmlMode:[{type:t.Input}]},e}(),fe=function(){function e(){this._observer=new n.BehaviorSubject("Server is not available"),this._messageChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),e.prototype.changeMessage=function(e){this._observer.next(e)},e}(),me=function(){function e(e){var t=this;e.messageChange.subscribe(function(e){return t.message=e})}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[{type:fe}]},e}(),ve=function(){function e(){this._observer=new n.Subject,this._passChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"passChange",{get:function(){return this._passChange},enumerable:!0,configurable:!0}),e.prototype.setPassword=function(e){this._observer.next(e)},e}(),ye=l,be=function(){function e(e,o){var n=this;this._passwordService=o,this.cancelEvent=new t.EventEmitter,e.messageChange.subscribe(function(e){return n.message=e})}return e.prototype.ngOnInit=function(){},e.prototype.setPassword=function(e){this._passwordService.setPassword(e)},e.prototype.onCloseOpen=function(e){e?setTimeout(function(){var e=ye("#password");e&&e.focus()},100):ye("#password").val("")},e.prototype.cancel=function(e){ye("#password").val(""),this.cancelEvent.emit(!0)},e.decorators=[{type:t.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}}"]}]}],e.ctorParameters=function(){return[{type:fe},{type:ve}]},e.propDecorators={cancelEvent:[{type:t.Output}]},e}(),xe=function(){function e(e,t){this._modalService=e,this._messageService=t}return e.prototype.intercept=function(e,t){var o=this,r="background: maroon; color: white";return t.handle(e).pipe(i.map(function(e){return e}),i.catchError(function(e){if(e instanceof p.HttpErrorResponse)switch(e.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(e.error.message),o._modalService.open(P.ErrorMessage);break;case A.Forbidden:console.error("%c Forbidden 403",r),o._messageService.changeMessage(e.error.message),o._modalService.open(P.PasswordRequired)}return n.throwError(e)}))},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:E},{type:fe}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(E),t.ɵɵinject(fe))},token:e,providedIn:"root"}),e}(),we=function(){function e(){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(e.prototype,"textChange",{get:function(){return this._textChange},enumerable:!0,configurable:!0}),e.prototype.setText=function(e){this._observer.next(e)},Object.defineProperty(e.prototype,"currentChange",{get:function(){return this._currentChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"totalChange",{get:function(){return this._totalChange},enumerable:!0,configurable:!0}),e.prototype.setCurrent=function(e){this._observerCurrent.next(e)},e.prototype.setTotal=function(e){this._observerTotal.next(e)},e}(),Se=function(){function e(e){var o=this;this._searchService=e,this.hidePanel=new t.EventEmitter(!1),this.current=0,this.total=0,e.totalChange.subscribe(function(e){o.total=e,o.current=0!==e?1:0,o._searchService.setCurrent(o.current)})}return e.prototype.ngOnInit=function(){},e.prototype.setText=function(e){this._searchService.setText(e)},e.prototype.hide=function(){this.setText(""),this.hidePanel.emit(!0)},e.prototype.prev=function(){this.current>1&&(this.current--,this._searchService.setCurrent(this.current))},e.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%}}"]}]}],e.ctorParameters=function(){return[{type:we}]},e.propDecorators={hidePanel:[{type:t.Output}],textElement:[{type:t.ViewChild,args:["text",{static:!0}]}]},e}(),Ce=l,_e=function(){function e(e,t,o,n){var i=this;this._elementRef=e,this._searchService=t,this._highlight=o,this._zoomService=n,this.current=0,this.total=0,this.zoom=100,t.currentChange.subscribe(function(e){i.current=e,0!==i.current&&i.moveToCurrent()}),t.textChange.subscribe(function(e){i.text=e,i.highlightSearch()}),this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe(function(e){i.zoom=e||i.zoom})}return e.prototype.highlightSearch=function(){var e=this._elementRef?this._elementRef.nativeElement:null;if(e){if(this.cleanHighlight(e),this.text){this.highlightEl(e);var t=e.querySelectorAll(".gd-highlight").length;this.total=t}else this.total=0;this._searchService.setTotal(this.total)}},e.prototype.moveToCurrent=function(){if(0!==this.current){this.getZoom();var e=this._elementRef?this._elementRef.nativeElement:null;if(e){e.querySelectorAll(".gd-highlight-select").forEach(function(e){Ce(e).removeClass("gd-highlight-select")});var t=e.querySelectorAll(".gd-highlight")[this.current-1];if(Ce(t).addClass("gd-highlight-select"),t){var o={left:0,top:Ce(t).offset().top+e.parentElement.parentElement.scrollTop-150};e.parentElement.parentElement.scroll(o)}}}},e.prototype.highlightEl=function(e){var t=Ce(e).find("*").contents().filter(function(){var e=this.parentElement.nodeName.toLowerCase(),t=!this.classList||!this.classList.contains("gd-highlight");return 3===this.nodeType&&0!==this.textContent.trim().length&&"style"!==e&&"title"!==e&&"body"!==e&&"script"!==e&&t}),o=this.text,n=this._highlight;t.each(function(){var e=Ce(this),t=e.text();t=n.transform(t,o),e.replaceWith(t)}),e.normalize()},e.prototype.cleanHighlight=function(e){for(var t=e.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}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={logo:[{type:t.Input}],icon:[{type:t.Input}]},e}(),Ee=function(){function e(){this._observer=new n.Subject,this._activeTabChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"activeTabChange",{get:function(){return this._activeTabChange},enumerable:!0,configurable:!0}),e.prototype.changeActiveTab=function(e){this._observer.next(e)},e}(),Ie=function(){function e(e){var t=this;this._tabActivatorService=e,this.disabled=!1,this.active=!1,this.content=!0,this._tabActivatorService.activeTabChange.subscribe(function(e){t.activation(e)})}return e.prototype.activation=function(e){this.id===e?this.active=!0:this.active=!1},e.prototype.ngOnInit=function(){},e.prototype.selectTab=function(){this.disabled||this._tabActivatorService.changeActiveTab(this.id)},e.decorators=[{type:t.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}}"]}]}],e.ctorParameters=function(){return[{type:Ee}]},e.propDecorators={id:[{type:t.Input}],tabTitle:[{type:t.Input}],icon:[{type:t.Input}],disabled:[{type:t.Input}],active:[{type:t.Input}],content:[{type:t.Input}]},e}(),Oe=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"gd-tabs",template:'
\r\n \r\n
\r\n',styles:[".gd-tabs{display:flex}"]}]}],e.ctorParameters=function(){return[]},e}(),ke=function(){function e(e,t,o,n,i,r,s,a,c,p){this.fontSize=e,this.color=t,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 e.default=function(){return new e(10,"#000000","#FFFFFF",!1,!1,!1,"Arial",!1,"","")},e}(),ze=function(){function e(){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(e.prototype,"formatBoldChange",{get:function(){return this._formatBoldChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatUnderlineChange",{get:function(){return this._formatUnderlineChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatColorChange",{get:function(){return this._formatColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatBgColorChange",{get:function(){return this._formatBgColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatFontSizeChange",{get:function(){return this._formatFontSizeChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatFontChange",{get:function(){return this._formatFontChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"undo",{get:function(){return this._undo},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"redo",{get:function(){return this._redo},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatItalicChange",{get:function(){return this._formatItalicChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatStrikeoutChange",{get:function(){return this._formatStrikeoutChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatAlignChange",{get:function(){return this._formatAlignChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatListChange",{get:function(){return this._formatListChange},enumerable:!0,configurable:!0}),e.createFontSizeOption=function(e){return{value:e,name:e+"px",separator:!1}},e.getFontSizeOptions=function(){return[e.createFontSizeOption(8),e.createFontSizeOption(10),e.createFontSizeOption(12),e.createFontSizeOption(14),e.createFontSizeOption(16),e.createFontSizeOption(18),e.createFontSizeOption(20),e.createFontSizeOption(22),e.createFontSizeOption(24)]},e.createFontOption=function(e){return{value:e,name:e,separator:!1}},e.getFontOptions=function(){var e=this,t=[];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){t.push(e.createFontOption(o))}),t},e.prototype.changeFormatFontSize=function(e){this._observerFontSize.next(e)},e.prototype.changeFormatBold=function(e){this._observerBold.next(e)},e.prototype.changeFormatUnderline=function(e){this._observerUnderline.next(e)},e.prototype.Undo=function(){this._observerUndo.next()},e.prototype.Redo=function(){this._observerRedo.next()},e.prototype.changeFormatItalic=function(e){this._observerItalic.next(e)},e.prototype.changeFormatColor=function(e){this._observerColor.next(e)},e.prototype.changeFormatBgColor=function(e){this._observerBgColor.next(e)},e.prototype.changeFormatFont=function(e){this._observerFont.next(e)},e.prototype.changeFormatStrikeout=function(e){this._observerStrikeout.next(e)},e.prototype.changeFormatAlign=function(e){this._observerAlign.next(e)},e.prototype.changeFormatList=function(e){this._observerList.next(e)},e}(),Fe=["#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"],De=function(){function e(){this.isOpen=!1,this.selectedColor=new t.EventEmitter,this.closeOutside=new t.EventEmitter,this.colors=Fe,this.white="#FFFFFF"}return e.prototype.ngOnInit=function(){},e.prototype.select=function(e,t){e.preventDefault(),e.stopPropagation(),this.selectedColor.emit(t)},e.prototype.close=function(){this.isOpen=!1,this.closeOutside.emit(!0)},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={isOpen:[{type:t.Input}],selectedColor:[{type:t.Output}],closeOutside:[{type:t.Output}]},e}(),Te=function(e){function o(){return e.call(this)||this}return f(o,e),o.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],o.ctorParameters=function(){return[]},o.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new o},token:o,providedIn:"root"}),o}(ze),Ae=function(){function e(){this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return e.prototype.restoreSelection=function(){(this.selection&&!this.selection.collapsed||this.isIE)&&this.putSelection(this.selection)},e.prototype.captureSelection=function(){var e=window.getSelection();e.rangeCount>0&&(this.selection=e.getRangeAt(0))},e.prototype.putSelection=function(e){var t=window.getSelection();t.removeAllRanges(),t.addRange(e.cloneRange())},e.prototype.refreshSelection=function(){this.captureSelection(),this.restoreSelection()},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),je=l,Me=function(){function e(e,t,o){this._formattingService=e,this._backFormattingService=t,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 e.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=je(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)},e.prototype.checkJustify=function(){var e="";return e=document.queryCommandState("justifyCenter")?"center":e,e=document.queryCommandState("justifyFull")?"full":e,e=document.queryCommandState("justifyLeft")?"left":e,e=document.queryCommandState("justifyRight")?"right":e},e.prototype.checkList=function(){var e="";return e=document.queryCommandState("insertUnorderedList")?"unordered":e,e=document.queryCommandState("insertOrderedList")?"ordered":e},e.prototype.reportFontSize=function(){var e,t;if(window.getSelection?(t=window.getSelection()).rangeCount&&3===(e=t.getRangeAt(0).commonAncestorContainer).nodeType&&(e=e.parentNode):(t=document.getSelection())&&"Control"!==t.type&&(e=t.createRange().parentElement()),e)return parseInt(this.getComputedStyleProperty(e,"fontSize").replace("px",""),10)},e.prototype.getComputedStyleProperty=function(e,t){return window.getComputedStyle?window.getComputedStyle(e,null)[t]:e.currentStyle?e.currentStyle[t]:void 0},e.prototype.ngOnInit=function(){var e=this;this._formattingService.undo.subscribe(function(){e.toggleUndo()}),this._formattingService.redo.subscribe(function(){e.toggleRedo()}),this._formattingService.formatBoldChange.subscribe(function(t){e.bold=t,e.toggleBold()}),this._formattingService.formatUnderlineChange.subscribe(function(t){e.underline=t,e.toggleUnderline()}),this._formattingService.formatItalicChange.subscribe(function(t){e.italic=t,e.toggleItalic()}),this._formattingService.formatColorChange.subscribe(function(t){e.color=t,e.setColor(t)}),this._formattingService.formatBgColorChange.subscribe(function(t){e.bgColor=t,e.setBgColor(t)}),this._formattingService.formatFontSizeChange.subscribe(function(t){e.setFontSize(t)}),this._formattingService.formatFontChange.subscribe(function(t){e.font=t,e.setFont(t)}),this._formattingService.formatStrikeoutChange.subscribe(function(t){e.strikeout=t,e.toggleStrikeout()}),this._formattingService.formatAlignChange.subscribe(function(t){e.align=t,e.toggleAlign(e.align)}),this._formattingService.formatListChange.subscribe(function(t){var o=e.list===t;e.list=t,e.toggleList(e.list,o)})},e.prototype.toggleBold=function(){document.execCommand("bold"),this._selectionService.refreshSelection()},e.prototype.toggleUnderline=function(){document.execCommand("underline"),this._selectionService.refreshSelection()},e.prototype.toggleItalic=function(){document.execCommand("italic"),this._selectionService.refreshSelection()},e.prototype.setBgColor=function(e){document.execCommand("backColor",!1,e),this._selectionService.refreshSelection()},e.prototype.setColor=function(e){document.execCommand("foreColor",!1,e),this._selectionService.refreshSelection()},e.prototype.setFontSize=function(e){if(document.getSelection().toString()){var t=""+document.getSelection()+"";this.bold&&(t=""+t+""),this.italic&&(t=""+t+""),this.underline&&(t=""+t+""),this.strikeout&&(t=""+t+""),document.execCommand("insertHTML",!1,t)}else document.execCommand("fontsize",!1,"7");this._selectionService.refreshSelection()},e.prototype.toggleUndo=function(){document.execCommand("undo")},e.prototype.toggleRedo=function(){document.execCommand("redo")},e.prototype.setFont=function(e){document.execCommand("fontName",!1,e),this._selectionService.refreshSelection()},e.prototype.toggleStrikeout=function(){document.execCommand("strikeThrough"),this._selectionService.refreshSelection()},e.prototype.toggleAlign=function(e){if(this.isIE)this.toggleAlignIE(e);else{switch(document.execCommand("styleWithCSS",!1,"true"),e){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()}},e.prototype.toggleAlignIE=function(e){this._selectionService.restoreSelection(),this._selectionService.captureSelection();var t=window.getSelection().focusNode.parentNode.parentNode;"full"===e&&(e="justify"),je(t).css("text-align",e),this._selectionService.refreshSelection()},e.prototype.toggleList=function(e,t){switch(e){case"unordered":document.execCommand("insertUnorderedList",t);break;case"ordered":document.execCommand("insertOrderedList",t)}this._selectionService.refreshSelection()},e.decorators=[{type:t.Directive,args:[{selector:"[gdFormatting]"}]}],e.ctorParameters=function(){return[{type:ze},{type:Te},{type:Ae}]},e.propDecorators={mouseup:[{type:t.HostListener,args:["mouseup"]}]},e}(),Le=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.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%)}}"]}]}],e.ctorParameters=function(){return[]},e}(),Re=function(){function e(){this._observer=new n.Subject,this._htmlContent=this._observer.asObservable()}return Object.defineProperty(e.prototype,"observer",{get:function(){return this._observer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"htmlContent",{get:function(){return this._htmlContent},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),He=function(){function e(e,t){this._selectionService=e,this._htmlService=t,this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return e.prototype.onInput=function(e){if(this.text=e.target,this.isIE&&this.text.innerHTML){var t=this.text.innerHTML.toString();this._htmlService.observer.next(t)}},e.prototype.onMouseleave=function(e){this._selectionService.captureSelection(),this.isIE&&this._htmlService.observer.next(e.target.innerHTML.toString())},e.prototype.onBlur=function(e){if(e.preventDefault(),this._selectionService.restoreSelection(),this.text.innerHTML){var t=this.text.innerHTML.toString();this._htmlService.observer.next(t)}else this._htmlService.observer.next(e.target.innerHTML.toString())},e.decorators=[{type:t.Directive,args:[{selector:"[gdEditor]"}]}],e.ctorParameters=function(){return[{type:Ae},{type:Re}]},e.propDecorators={text:[{type:t.Input}],onInput:[{type:t.HostListener,args:["keyup",["$event"]]}],onMouseleave:[{type:t.HostListener,args:["mouseleave",["$event"]]}],onBlur:[{type:t.HostListener,args:["blur",["$event"]]}]},e}(),Ue=function(){function e(){this.onLoadingChanged=new t.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(C.SAVE_TEXT),this.stopList.push(C.SAVE_OPTICAL_CODE)}return e.prototype.onRequestStart=function(e){this.stopList.find(function(t){return e.url.includes(t)})||(this.requests.push(e),this.notify())},e.prototype.onRequestFinish=function(e){var t=this.requests.indexOf(e);-1!==t&&this.requests.splice(t,1),this.notify()},e.prototype.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[]},e}(),Be=function(){function e(e){this._loadingMaskService=e,this.loadingMask=!1}return e.prototype.ngOnInit=function(){},e.prototype.ngAfterViewInit=function(){var e=this;this._loadingMaskService.onLoadingChanged.subscribe(function(t){return e.loadingMask=t})},e.decorators=[{type:t.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%)}"]}]}],e.ctorParameters=function(){return[{type:Ue}]},e.propDecorators={loadingMask:[{type:t.Input}]},e}(),We=function(){function e(e){this._loadingMaskService=e}return e.prototype.intercept=function(e,t){var o=this;this._loadingMaskService.onRequestStart(e);return t.handle(e).pipe(i.finalize(function(){return o._loadingMaskService.onRequestFinish(e)}))},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:Ue}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(Ue))},token:e,providedIn:"root"}),e}(),Ne={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},$e={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},qe=function(){function e(e){var t=this;this.dropdown=e,this.click=function(e){return t.dropdown.toggle(e)}}return e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down-toggle",template:"",encapsulation:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef(function(){return Ze})]}]}]},e.propDecorators={click:[{type:t.HostListener,args:["click",["$event"]]}]},e}(),Ve=function(){function e(e){this.dropdown=e}return Object.defineProperty(e.prototype,"horizontalAlign",{get:function(){return Ne[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"verticalAlign",{get:function(){return $e[this.dropdown.getPlacement().v].top},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOpen",{get:function(){return this.dropdown.open},enumerable:!0,configurable:!0}),e.prototype.onClickOutside=function(e){this.dropdown.close()},e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down-items",template:'',encapsulation:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef(function(){return Ze})]}]}]},e}(),Xe=function(){function e(e){var o=this;this.dropdown=e,this.class="drop-down-item",this.selected=new t.EventEmitter,this.click=function(){return o.selectEntry()}}return e.prototype.selectEntry=function(){this.selected.next(),this.dropdown.close()},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef(function(){return Ze})]}]}]},e.propDecorators={class:[{type:t.HostBinding,args:["class"]}],selected:[{type:t.Output}],click:[{type:t.HostListener,args:["click"]}]},e}(),Ze=function(){function e(){this.placement={h:"center",v:"bottom"},this.open=!1,this.class="drop-down"}return e.prototype.close=function(){this.open=!1},e.prototype.toggle=function(e){e.stopPropagation(),this.open=!this.open,document.body.click()},e.prototype.getPlacement=function(){return this.placement},e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down",template:'',encapsulation:t.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}"]}]}],e.propDecorators={placement:[{type:t.Input}],open:[{type:t.Input},{type:t.HostBinding,args:["class.show"]}],class:[{type:t.HostBinding,args:["class"]}]},e}(),Ge=function(){function e(){this.showSpinner=!1}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.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%}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={showSpinner:[{type:t.Input}]},e}(),Ye=function(){function e(){this.showToolTip=new t.EventEmitter}return e.prototype.onHovering=function(){this.showToolTip.emit(!0)},e.prototype.onUnhovering=function(){this.showToolTip.emit(!1)},e.decorators=[{type:t.Directive,args:[{selector:"[gdTooltip]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={showToolTip:[{type:t.Output}],onHovering:[{type:t.HostListener,args:["mouseenter"]}],onUnhovering:[{type:t.HostListener,args:["mouseleave"]}]},e}(),Je=function(){function e(e,t){this._factoryResolver=e,this._appRef=t}return e.prototype.addDynamicComponent=function(e,t){var o=this,n=this._factoryResolver.resolveComponentFactory(t),i=e.createComponent(n);return i.onDestroy(function(){o._appRef.detachView(i.hostView)}),i},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.ComponentFactoryResolver},{type:t.ApplicationRef}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(t.ComponentFactoryResolver),t.ɵɵinject(t.ApplicationRef))},token:e,providedIn:"root"}),e}(),Ke=function(){function e(){this.hosts=[]}return e.prototype.add=function(e){this.hosts=this.hosts.filter(function(t){return t.ident!==e.ident}),this.hosts.push(e)},e.prototype.remove=function(e){this.hosts=this.hosts.filter(function(t){return t.ident!==e.ident})},e.prototype.find=function(e){return this.hosts.find(function(t){return t.ident===e})},e}(),Qe=function(){function e(e,t){this.viewContainerRef=e,this._hostingService=t}return e.prototype.ngAfterViewInit=function(){this._hostingService.add(this)},e.prototype.ngOnDestroy=function(){this._hostingService.remove(this),this.viewContainerRef.clear()},e.decorators=[{type:t.Directive,args:[{selector:"[gdHostDynamic]"}]}],e.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:Ke}]},e.propDecorators={ident:[{type:t.Input}]},e}(),et=l,tt=function(){function e(){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 t.EventEmitter,this.offsetY=new t.EventEmitter,this.offsetTop=new t.EventEmitter,this.offsetLeft=new t.EventEmitter,this.release=new t.EventEmitter,this.grab=!1}return e.prototype.ngAfterViewInit=function(){var e=this,t=et(this.getElementId(this.SE)),o=et(this.getElementId(this.NW));if(this.init&&t&&o&&t.offset()&&o.offset()){for(var n=t.offset().left-o.offset().left,i=t.offset().top-o.offset().top;n>=this.pageWidth||i>=this.pageHeight;)n/=2,i/=2;setTimeout(function(){e.offsetX.emit(n),e.offsetY.emit(i)},100)}},e.prototype.ngOnInit=function(){},e.prototype.catchUp=function(e){e.preventDefault(),e.dataTransfer&&e.dataTransfer.setData("text","foo"),this.grab=!0,this.oldPosition=j.getMousePosition(e)},e.prototype.resize=function(e,t){if(this.grab){var o=j.getMousePosition(e);if(0!==o.x||0!==o.y){var n=this.NE===t||this.NW===t,i=this.SW===t||this.NW===t;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}}},e.prototype.setOffsets=function(e,t,o){var n=t?this.oldPosition.x-e.x:e.x-this.oldPosition.x,i=o?this.oldPosition.y-e.y:e.y-this.oldPosition.y;this.offsetX.emit(n),this.offsetY.emit(i)},e.prototype.end=function(e,t){this.resize(e,t),this.release.emit(!0),this.grab=!1},e.prototype.start=function(e){this.drop(e)},e.prototype.drop=function(e){e.stopPropagation(),e.preventDefault()},e.prototype.getElementId=function(e){return"#"+e+"-"+this.id},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={init:[{type:t.Input}],id:[{type:t.Input}],se:[{type:t.Input}],ne:[{type:t.Input}],sw:[{type:t.Input}],nw:[{type:t.Input}],pageWidth:[{type:t.Input}],pageHeight:[{type:t.Input}],offsetX:[{type:t.Output}],offsetY:[{type:t.Output}],offsetTop:[{type:t.Output}],offsetLeft:[{type:t.Output}],release:[{type:t.Output}]},e}(),ot=[_,C,E,L,T,M,j,J,K,Q,ee,R,he,V,q,W,fe,ve,xe,we,b,ie,ze,Te,ce,We,Ue,Ee,Je,Ke,X],nt=function(){function e(){s.library.add(a.fas,c.far)}return e.decorators=[{type:t.NgModule,args:[{imports:[o.CommonModule,r.FontAwesomeModule,h.ClickOutsideModule],declarations:[v,y,x,w,S,I,B,$,G,Y,Z,J,K,Q,ee,te,oe,se,ae,pe,le,de,ue,ge,me,be,Se,_e,Pe,Ie,Oe,De,Me,Le,He,Be,Ze,Xe,Ve,qe,Ge,Ye,Qe,tt],exports:[v,y,x,w,S,I,B,$,G,Y,Z,K,Q,ee,J,te,se,pe,de,ue,ge,me,be,Se,_e,Pe,Ie,Oe,De,Me,Le,Be,oe,Ze,Xe,Ve,qe,ae,qe,Ge,Ye,Qe,tt,He,Me],providers:ot}]}],e.ctorParameters=function(){return[]},e}();e.AddDynamicComponentService=Je,e.Api=C,e.BackFormattingService=Te,e.BrowseFilesModalComponent=B,e.ButtonComponent=x,e.ColorPickerComponent=De,e.CommonComponentsModule=nt,e.CommonModals=P,e.ConfigService=_,e.DisabledCursorDirective=le,e.DndDirective=oe,e.DocumentComponent=$,e.DropDownComponent=Ze,e.DropDownItemComponent=Xe,e.DropDownItemsComponent=Ve,e.DropDownToggleComponent=qe,e.EditHtmlService=Re,e.EditorDirective=He,e.ErrorInterceptorService=xe,e.ErrorModalComponent=me,e.ExcelDocumentComponent=G,e.ExcelPageComponent=Z,e.ExcelPageService=X,e.ExceptionMessageService=fe,e.FileCredentials=z,e.FileDescription=D,e.FileModel=T,e.FileService=L,e.FileUtil=M,e.Formatting=ke,e.FormattingDirective=Me,e.FormattingService=ze,e.HighlightSearchPipe=ee,e.HostDynamicDirective=Qe,e.HostingDynamicComponentService=Ke,e.HttpError=A,e.InitStateComponent=ue,e.LeftSideBarComponent=Ge,e.LoadingMaskComponent=Be,e.LoadingMaskInterceptorService=We,e.LoadingMaskService=Ue,e.LogoComponent=w,e.ModalComponent=I,e.ModalService=E,e.NavigateService=V,e.OnCloseService=ce,e.PageComponent=Y,e.PageModel=O,e.PagePreloadService=q,e.PasswordRequiredComponent=be,e.PasswordService=ve,e.RenderPrintDirective=ge,e.RenderPrintService=he,e.RotatedPage=k,e.RotationDirective=de,e.SanitizeHtmlPipe=J,e.SanitizeResourceHtmlPipe=K,e.SanitizeStylePipe=Q,e.SaveFile=F,e.ScrollableDirective=se,e.SearchComponent=Se,e.SearchService=we,e.SearchableDirective=_e,e.SelectComponent=pe,e.SelectionService=Ae,e.SidePanelComponent=y,e.SuccessModalComponent=Le,e.TabActivatorService=Ee,e.TabComponent=Ie,e.TabbedToolbarsComponent=Pe,e.TooltipComponent=S,e.TopToolbarComponent=v,e.UploadFileZoneComponent=te,e.UploadFilesService=R,e.Utils=j,e.ViewportService=ie,e.WindowService=b,e.ZoomDirective=ae,e.ZoomService=W,e.ɵa=Oe,e.ɵb=Ye,e.ɵc=tt,Object.defineProperty(e,"__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 ef62d9327..e5f31bbaf 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/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","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","visibility","Api","VIEWER_APP","SIGNATURE_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","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getSignatureApiEndpoint","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","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","c","PageComponent","test","number","editable","changes","data","imgData","isHtml","SanitizeHtmlPipe","sanitizer","bypassSecurityTrustHtml","Pipe","DomSanitizer","SanitizeResourceHtmlPipe","bypassSecurityTrustResourceUrl","SanitizeStylePipe","bypassSecurityTrustStyle","HighlightSearchPipe","re","RegExp","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","parseInt","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","color","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","toString","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","position","notSW","notNE","setOffsets","end","start","drop","providers","FileService","FileModel","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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EAAAA,uBAMAC,EAAAA,wBACAA,EAAAA,0BACAA,EAAAA,2BACAA,EAAAA,wBACAA,EAAAA,UAoFHo0B,EA5GA,GCiEM8B,GAAY,CAACtwB,EACjBrC,EACA6D,EACA+uB,EACAC,EACAjrB,EACAjB,EACA6O,EACAK,EACAE,EACAE,EACA/I,EACAuQ,GACA7F,EACAJ,EACA7H,EACAyP,GACAQ,GACAS,GACAY,GACAvkB,EACA8b,GACA8M,GACAiD,GACApM,GACA4R,GACAd,GACAjJ,GACAsL,GACAe,IAEFyC,GAAA,WA4FE,SAAAA,IACEC,EAAAA,QAAQhvB,IAAIivB,EAAAA,IAAKC,EAAAA,KAErB,2BA/FCC,EAAAA,SAAQp3B,KAAA,CAAC,CACRq3B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZ33B,EACAK,EACAyC,EACAkB,EACAE,EACA0E,EACAqJ,EACAuC,EACA4E,EACAQ,EACAK,EACAE,EACAE,EACAG,EACAG,EACAmD,GACA0B,GACAiB,GACAM,GACAI,GACAQ,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAK,GACAK,GACAyD,GACAqB,GACAiD,GACAG,GACAgB,GACAgB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,IAEF2C,QAAS,CACP53B,EACAK,EACAyC,EACAkB,EACAE,EACA0E,EACAqJ,EACAuC,EACA4E,EACAa,EACAE,EACAE,EACAT,EACAY,EACAsD,GACA2C,GACAU,GACAQ,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAK,GACAK,GACAyD,GACAqB,GACAiD,GACAmB,GACApX,EACAoY,GACAK,GACAJ,GACAT,GACA/S,GACA+S,GACAiB,GACAC,GACAoB,GACAI,IAEF8B,UAAWA,6CAMbG,EA/FA","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\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 visibility = 'hidden';\n\n constructor() {\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 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\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","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}\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\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 are commented as a part of possible solution\n // for hiding one select after opening another one\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 {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';\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\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 ],\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 ],\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-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/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/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","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","visibility","Api","VIEWER_APP","SIGNATURE_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","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getSignatureApiEndpoint","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","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","c","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","ExcelPageService","getUpdatedPage","data","DOMParser","parseFromString","table","querySelector","numCellsInFirstRow","forEach","elm","attributes","parseInt","newTable","createHeader","replaceWith","XMLSerializer","serializeToString","getPageWithoutHeader","deleteRow","row","deleteCell","numCols","header","createElement","append","th","innerText","colName","setAttribute","colgroup","col","prepend","cnt","div","td","toString","n","ordA","charCodeAt","len","s","String","fromCharCode","floor","ExcelPageComponent","_excelPageService","test","number","editable","changes","imgData","isHtml","ExcelDocumentComponent","zoomService","_navigateService","panzoom","currentPageNo","refreshExcelDocHeight","pages","navigate","selectSheet","scrollHeight","ViewChildren","PageComponent","SanitizeHtmlPipe","sanitizer","bypassSecurityTrustHtml","Pipe","DomSanitizer","SanitizeResourceHtmlPipe","bypassSecurityTrustResourceUrl","SanitizeStylePipe","bypassSecurityTrustStyle","HighlightSearchPipe","re","RegExp","UploadFileZoneComponent","closeUpload","onCloseUpload","DndDirective","_uploadFilesService","opening","dropped","active","dragCounter","onDragEnter","evt","onDragOver","onDragLeave","closeArea","onDrop","dataTransfer","onClick","Directive","HostBinding","HostListener","ViewportService","checkInViewport","leftOffset","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","toFixed","ScrollableDirective","_viewportService","scrollToPage","scrolling","resizing","pageNumber","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","minWidth","getScrollWidth","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","normalize","nodeListOf","TabbedToolbarsComponent","TabActivatorService","_activeTabChange","changeActiveTab","tabId","TabComponent","_tabActivatorService","activeTabChange","activation","selectTab","TabsComponent","Formatting","fontSize","color","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","position","notSW","notNE","setOffsets","end","start","drop","providers","FileService","FileModel","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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,2BArGCC,EAAAA,SAAQl6B,KAAA,CAAC,CACRm6B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZz6B,EACAK,EACAyC,EACAkB,EACAE,EACA0E,EACAqJ,EACAuC,EACAgJ,EACAW,EACAnB,EACAoB,EACAK,EACAE,EACAE,GACAG,GACAG,GACAmC,GACAuB,GACAc,GACAM,GACAI,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACAwB,GACAK,GACAK,GACAyD,GACAqB,GACAgD,GACAG,GACAgB,GACAgB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,IAEF2C,QAAS,CACP16B,EACAK,EACAyC,EACAkB,EACAE,EACA0E,EACAqJ,EACAuC,EACAgJ,EACAW,EACAnB,EACAyB,EACAE,EACAE,GACAT,EACAY,GACAsC,GACAqC,GACAU,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACAwB,GACAK,GACAK,GACAyD,GACAqB,GACAgD,GACAmB,GACA1V,GACA0W,GACAK,GACAJ,GACAT,GACAxS,GACAwS,GACAiB,GACAC,GACAoB,GACAI,GACAlE,GACAnD,IAEFmJ,UAAWA,6CAMbG,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';\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\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 visibility = 'hidden';\r\n\r\n constructor() {\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 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\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","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}\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\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 {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\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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 this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n super(_elementRef, zoomService, windowService);\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this._navigateService.navigate.subscribe(\r\n value => {\r\n this.selectSheet(value);\r\n });\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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 {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 are commented as a part of possible solution\r\n // for hiding one select after opening another one\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 {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 {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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-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 {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 {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 ],\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 EditorDirective,\r\n FormattingDirective\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 2184677a2..e6e3a014b 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 @@ -5,8 +5,8 @@ /** * 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 } from './index'; +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, ExcelDocumentComponent, ErrorModalComponent, InitStateComponent, LogoComponent, ModalComponent, PageComponent, ExcelPageComponent, 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, ExcelPageService } 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'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXItY29tbW9uLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJncm91cGRvY3MuZXhhbXBsZXMuYW5ndWxhci1jb21tb24tY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsbTZDQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge1Jlc2l6aW5nQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvcmVzaXppbmcvcmVzaXppbmcuY29tcG9uZW50JztcbmV4cG9ydCB7VGFic0NvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL3RhYnMvdGFicy5jb21wb25lbnQnO1xuZXhwb3J0IHtUb29sdGlwRGlyZWN0aXZlIGFzIMm1Yn0gZnJvbSAnLi9saWIvdG9vbHRpcC5kaXJlY3RpdmUnOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXItY29tbW9uLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJncm91cGRvY3MuZXhhbXBsZXMuYW5ndWxhci1jb21tb24tY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaStDQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge1Jlc2l6aW5nQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvcmVzaXppbmcvcmVzaXppbmcuY29tcG9uZW50JztcbmV4cG9ydCB7VGFic0NvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL3RhYnMvdGFicy5jb21wb25lbnQnO1xuZXhwb3J0IHtUb29sdGlwRGlyZWN0aXZlIGFzIMm1Yn0gZnJvbSAnLi9saWIvdG9vbHRpcC5kaXJlY3RpdmUnOyJdfQ== \ No newline at end of file diff --git a/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js b/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js new file mode 100644 index 000000000..562baee11 --- /dev/null +++ b/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js @@ -0,0 +1,96 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Component, ElementRef, ViewChildren, QueryList } from '@angular/core'; +import { DocumentComponent } from '../document/document.component'; +import { WindowService } from '../window.service'; +import { NavigateService } from '../navigate.service'; +import { ZoomService } from '../zoom.service'; +import { ExcelPageComponent } from '../excel-page/excel-page.component'; +export class ExcelDocumentComponent extends DocumentComponent { + /** + * @param {?} _elementRef + * @param {?} zoomService + * @param {?} windowService + * @param {?} _navigateService + */ + constructor(_elementRef, zoomService, windowService, _navigateService) { + super(_elementRef, zoomService, windowService); + this._navigateService = _navigateService; + this.panzoom = null; + } + /** + * @return {?} + */ + ngOnInit() { + this.currentPageNo = 1; + } + /** + * @return {?} + */ + ngAfterViewInit() { + this.refreshExcelDocHeight(); + this.pages.changes.subscribe((/** + * @return {?} + */ + () => { + this.refreshExcelDocHeight(); + })); + this._navigateService.navigate.subscribe((/** + * @param {?} value + * @return {?} + */ + value => { + this.selectSheet(value); + })); + } + /** + * @return {?} + */ + refreshExcelDocHeight() { + // For current iteration we'll change actual height of .document + this.doc = this._elementRef.nativeElement.children.item(0); + this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + // magic number 37 is the height of the bottom-bar with navigation between pages + this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; + } + /** + * @param {?} number + * @return {?} + */ + selectSheet(number) { + this.currentPageNo = number; + } +} +ExcelDocumentComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-document', + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + }] } +]; +/** @nocollapse */ +ExcelDocumentComponent.ctorParameters = () => [ + { type: ElementRef }, + { type: ZoomService }, + { type: WindowService }, + { type: NavigateService } +]; +ExcelDocumentComponent.propDecorators = { + pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }] +}; +if (false) { + /** @type {?} */ + ExcelDocumentComponent.prototype.pages; + /** @type {?} */ + ExcelDocumentComponent.prototype.currentPageNo; + /** @type {?} */ + ExcelDocumentComponent.prototype.panzoom; + /** + * @type {?} + * @private + */ + ExcelDocumentComponent.prototype._navigateService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsWUFBWSxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU8saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFPeEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjs7Ozs7OztJQU0zRCxZQUFZLFdBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLGFBQTRCLEVBQ3BCLGdCQUFpQztRQUNuRCxLQUFLLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUQ3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBTHJELFlBQU8sR0FBRyxJQUFJLENBQUM7SUFPZixDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUzs7O1FBQUMsR0FBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTOzs7O1FBQ3ZDLEtBQUssQ0FBQyxFQUFFO1lBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLEVBQUMsQ0FBQztJQUNOLENBQUM7Ozs7SUFFRCxxQkFBcUI7UUFDbkIsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDaEUsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsTUFBTTtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztJQUM5QixDQUFDOzs7WUE1Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLGc4QkFBOEM7O2FBRS9DOzs7O1lBWG1CLFVBQVU7WUFJckIsV0FBVztZQUZYLGFBQWE7WUFDYixlQUFlOzs7b0JBVXJCLFlBQVksU0FBQyxrQkFBa0I7Ozs7SUFBaEMsdUNBQXVFOztJQUV2RSwrQ0FBc0I7O0lBQ3RCLHlDQUFlOzs7OztJQUtILGtEQUF5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb2N1bWVudENvbXBvbmVudCB9IGZyb20gJy4uL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi93aW5kb3cuc2VydmljZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRlU2VydmljZSB9IGZyb20gJy4uL25hdmlnYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBab29tU2VydmljZSB9IGZyb20gICcuLi96b29tLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFeGNlbFBhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9leGNlbC1wYWdlL2V4Y2VsLXBhZ2UuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ2QtZXhjZWwtZG9jdW1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leGNlbC1kb2N1bWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4Y2VsRG9jdW1lbnRDb21wb25lbnQgZXh0ZW5kcyBEb2N1bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCAge1xyXG4gIEBWaWV3Q2hpbGRyZW4oRXhjZWxQYWdlQ29tcG9uZW50KSBwYWdlczogUXVlcnlMaXN0PEV4Y2VsUGFnZUNvbXBvbmVudD47IFxyXG4gIFxyXG4gIGN1cnJlbnRQYWdlTm86IG51bWJlcjtcclxuICBwYW56b29tID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgICAgICAgIHpvb21TZXJ2aWNlOiBab29tU2VydmljZSxcclxuICAgICAgICAgICAgICB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgX25hdmlnYXRlU2VydmljZTogTmF2aWdhdGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgem9vbVNlcnZpY2UsIHdpbmRvd1NlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IDE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgdGhpcy5wYWdlcy5jaGFuZ2VzLnN1YnNjcmliZSgoKT0+e1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9uYXZpZ2F0ZVNlcnZpY2UubmF2aWdhdGUuc3Vic2NyaWJlKFxyXG4gICAgIHZhbHVlID0+IHtcclxuICAgICAgICAgdGhpcy5zZWxlY3RTaGVldCh2YWx1ZSk7XHJcbiAgICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoRXhjZWxEb2NIZWlnaHQoKSB7XHJcbiAgICAvLyBGb3IgY3VycmVudCBpdGVyYXRpb24gd2UnbGwgY2hhbmdlIGFjdHVhbCBoZWlnaHQgb2YgLmRvY3VtZW50XHJcbiAgICB0aGlzLmRvYyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApO1xyXG4gICAgdGhpcy5wYW56b29tID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCkuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIC8vIG1hZ2ljIG51bWJlciAzNyBpcyB0aGUgaGVpZ2h0IG9mIHRoZSBib3R0b20tYmFyIHdpdGggbmF2aWdhdGlvbiBiZXR3ZWVuIHBhZ2VzXHJcbiAgICB0aGlzLmRvYy5zdHlsZS5oZWlnaHQgPSB0aGlzLnBhbnpvb20uc2Nyb2xsSGVpZ2h0ICsgMzcgKyBcInB4XCI7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RTaGVldChudW1iZXIpe1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZU5vID0gbnVtYmVyO1xyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/dist/libs/common-components/esm2015/lib/excel-page.service.js b/dist/libs/common-components/esm2015/lib/excel-page.service.js new file mode 100644 index 000000000..11cdf41cc --- /dev/null +++ b/dist/libs/common-components/esm2015/lib/excel-page.service.js @@ -0,0 +1,143 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Injectable } from '@angular/core'; +import * as i0 from "@angular/core"; +export class ExcelPageService { + constructor() { + } + /** + * @param {?} data + * @return {?} + */ + getUpdatedPage(data) { + /** @type {?} */ + const doc = new DOMParser().parseFromString(data, "text/html"); + /** @type {?} */ + const table = doc.querySelector('table'); + /** @type {?} */ + let numCellsInFirstRow = 0; + /** @type {?} */ + const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td'); + cellsFromFirstRow.forEach((/** + * @param {?} elm + * @return {?} + */ + elm => { + numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1; + })); + /** @type {?} */ + const newTable = this.createHeader(numCellsInFirstRow, table); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + const resultData = new XMLSerializer().serializeToString(doc) + // work-around for FF which is adds a0 namespace during serialization + ; + // work-around for FF which is adds a0 namespace during serialization + return resultData.replace(/a0:/g, "").replace(/:a0/g, ""); + } + /** + * @param {?} data + * @return {?} + */ + getPageWithoutHeader(data) { + /** @type {?} */ + const doc = new DOMParser().parseFromString(data, "text/html"); + doc.querySelector('colgroup').remove(); + /** @type {?} */ + const newTable = doc.querySelector('table'); + newTable.deleteRow(0); + newTable.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + row => { + row.deleteCell(0); + })); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + const resultData = new XMLSerializer().serializeToString(doc); + return resultData; + } + /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + createHeader(numCols, table) { + /** @type {?} */ + const header = document.createElement('thead'); + header.append(document.createElement('tr')); + for (let i = 0; i < numCols; ++i) { + /** @type {?} */ + const th = document.createElement('th'); + th.innerText = this.colName(i); + th.setAttribute("contenteditable", "false"); + header.querySelector("tr").append(th); + } + /** @type {?} */ + const colgroup = table.querySelector('colgroup'); + /** @type {?} */ + const col = document.createElement('col'); + col.width = '80px'; + colgroup.prepend(col); + table.prepend(header); + /** @type {?} */ + let cnt = 0; + table.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + row => { + /** @type {?} */ + const div = document.createElement('div'); + if (cnt !== 0) { + /** @type {?} */ + const td = document.createElement('td'); + td.className = "excel"; + td.append(div); + div.innerText = cnt.toString(); + div.setAttribute("contenteditable", "false"); + row.prepend(td); + } + else { + /** @type {?} */ + const th = document.createElement('th'); + th.append(div); + div.setAttribute("contenteditable", "false"); + row.prepend(th); + } + cnt++; + })); + return table; + } + /** + * @param {?} n + * @return {?} + */ + colName(n) { + /** @type {?} */ + const ordA = 'a'.charCodeAt(0); + /** @type {?} */ + const ordZ = 'z'.charCodeAt(0); + /** @type {?} */ + const len = ordZ - ordA + 1; + /** @type {?} */ + let s = ""; + while (n >= 0) { + s = String.fromCharCode(n % len + ordA) + s; + n = Math.floor(n / len) - 1; + } + return s; + } +} +ExcelPageService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root' + },] } +]; +/** @nocollapse */ +ExcelPageService.ctorParameters = () => []; +/** @nocollapse */ ExcelPageService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function ExcelPageService_Factory() { return new ExcelPageService(); }, token: ExcelPageService, providedIn: "root" }); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtcGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFLekMsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjtJQUNBLENBQUM7Ozs7O0lBRUQsY0FBYyxDQUFDLElBQUk7O2NBQ1gsR0FBRyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUM7O2NBQ3hELEtBQUssR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQzs7WUFDcEMsa0JBQWtCLEdBQUcsQ0FBQzs7Y0FDcEIsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLG1DQUFtQyxDQUFDO1FBRW5GLGlCQUFpQixDQUFDLE9BQU87Ozs7UUFBQyxHQUFHLENBQUMsRUFBRTtZQUM5QixrQkFBa0IsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RyxDQUFDLEVBQUMsQ0FBQzs7Y0FFRyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUM7UUFDN0QsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7O2NBRTNDLFVBQVUsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQztRQUM3RCxxRUFBcUU7O1FBQXJFLHFFQUFx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Q3ZDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2YsR0FBRyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDN0MsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNqQjtZQUNELEdBQUcsRUFBRSxDQUFDO1FBQ1IsQ0FBQyxFQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Ozs7O0lBRUQsT0FBTyxDQUFDLENBQUM7O2NBQ0QsSUFBSSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDOztjQUN4QixJQUFJLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7O2NBQ3hCLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUM7O1lBRXZCLENBQUMsR0FBRyxFQUFFO1FBQ1YsT0FBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1osQ0FBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3QjtRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7O1lBN0ZGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeGNlbFBhZ2VTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIGdldFVwZGF0ZWRQYWdlKGRhdGEpIHtcclxuICAgIGNvbnN0IGRvYyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZGF0YSwgXCJ0ZXh0L2h0bWxcIik7XHJcbiAgICBjb25zdCB0YWJsZSA9IGRvYy5xdWVyeVNlbGVjdG9yKCd0YWJsZScpO1xyXG4gICAgbGV0IG51bUNlbGxzSW5GaXJzdFJvdyA9IDA7XHJcbiAgICBjb25zdCBjZWxsc0Zyb21GaXJzdFJvdyA9IGRvYy5xdWVyeVNlbGVjdG9yQWxsKCd0YWJsZSA+IHRib2R5ID4gdHI6Zmlyc3QtY2hpbGQgdGQnKTtcclxuXHJcbiAgICBjZWxsc0Zyb21GaXJzdFJvdy5mb3JFYWNoKGVsbSA9PiB7XHJcbiAgICAgIG51bUNlbGxzSW5GaXJzdFJvdyArPSBlbG0uYXR0cmlidXRlc1snY29sc3BhbiddID8gcGFyc2VJbnQoZWxtLmF0dHJpYnV0ZXNbJ2NvbHNwYW4nXS52YWx1ZSwgMTApIDogMTtcclxuICAgIH0pO1xyXG4gXHJcbiAgICBjb25zdCBuZXdUYWJsZSA9IHRoaXMuY3JlYXRlSGVhZGVyKG51bUNlbGxzSW5GaXJzdFJvdywgdGFibGUpO1xyXG4gICAgZG9jLnF1ZXJ5U2VsZWN0b3IoJ3RhYmxlJykucmVwbGFjZVdpdGgobmV3VGFibGUpO1xyXG5cclxuICAgIGNvbnN0IHJlc3VsdERhdGEgPSBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKGRvYylcclxuICAgIC8vIHdvcmstYXJvdW5kIGZvciBGRiB3aGljaCBpcyBhZGRzIGEwIG5hbWVzcGFjZSBkdXJpbmcgc2VyaWFsaXphdGlvblxyXG4gICAgcmV0dXJuIHJlc3VsdERhdGEucmVwbGFjZSgvYTA6L2csXCJcIikucmVwbGFjZSgvOmEwL2csXCJcIik7XHJcbiAgfVxyXG5cclxuICBnZXRQYWdlV2l0aG91dEhlYWRlcihkYXRhKSB7XHJcbiAgICBjb25zdCBkb2MgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGRhdGEsIFwidGV4dC9odG1sXCIpO1xyXG4gICAgZG9jLnF1ZXJ5U2VsZWN0b3IoJ2NvbGdyb3VwJykucmVtb3ZlKCk7XHJcbiAgICBjb25zdCBuZXdUYWJsZSA9IGRvYy5xdWVyeVNlbGVjdG9yKCd0YWJsZScpO1xyXG4gICAgbmV3VGFibGUuZGVsZXRlUm93KDApO1xyXG5cclxuICAgIG5ld1RhYmxlLnF1ZXJ5U2VsZWN0b3JBbGwoJ3RyJykuZm9yRWFjaChyb3cgPT4ge1xyXG4gICAgICByb3cuZGVsZXRlQ2VsbCgwKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGRvYy5xdWVyeVNlbGVjdG9yKCd0YWJsZScpLnJlcGxhY2VXaXRoKG5ld1RhYmxlKTtcclxuXHJcbiAgICBjb25zdCByZXN1bHREYXRhID0gbmV3IFhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZyhkb2MpO1xyXG4gICAgcmV0dXJuIHJlc3VsdERhdGE7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVIZWFkZXIobnVtQ29scywgdGFibGUpe1xyXG4gICAgY29uc3QgaGVhZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGhlYWQnKTtcclxuICAgIGhlYWRlci5hcHBlbmQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKSk7XHJcblxyXG4gICAgZm9yKGxldCBpID0gMDsgaSA8IG51bUNvbHM7ICsraSl7XHJcbiAgICAgIGNvbnN0IHRoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGgnKTtcclxuICAgICAgdGguaW5uZXJUZXh0ID0gdGhpcy5jb2xOYW1lKGkpO1xyXG4gICAgICB0aC5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgXCJmYWxzZVwiKTtcclxuICAgICAgaGVhZGVyLnF1ZXJ5U2VsZWN0b3IoXCJ0clwiKS5hcHBlbmQodGgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBjb25zdCBjb2xncm91cCA9IHRhYmxlLnF1ZXJ5U2VsZWN0b3IoJ2NvbGdyb3VwJyk7XHJcbiAgICBjb25zdCBjb2wgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb2wnKTtcclxuICAgIGNvbC53aWR0aCA9ICc4MHB4JztcclxuICAgIGNvbGdyb3VwLnByZXBlbmQoY29sKTtcclxuICAgIFxyXG4gICAgdGFibGUucHJlcGVuZChoZWFkZXIpO1xyXG5cclxuICAgIGxldCBjbnQgPSAwO1xyXG4gICAgdGFibGUucXVlcnlTZWxlY3RvckFsbCgndHInKS5mb3JFYWNoKHJvdyA9PiB7XHJcbiAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBpZiAoY250ICE9PSAwKSB7XHJcbiAgICAgICAgY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpO1xyXG4gICAgICAgIHRkLmNsYXNzTmFtZSA9IFwiZXhjZWxcIlxyXG4gICAgICAgIHRkLmFwcGVuZChkaXYpO1xyXG4gICAgICAgIGRpdi5pbm5lclRleHQgPSBjbnQudG9TdHJpbmcoKTtcclxuICAgICAgICBkaXYuc2V0QXR0cmlidXRlKFwiY29udGVudGVkaXRhYmxlXCIsIFwiZmFsc2VcIik7XHJcbiAgICAgICAgcm93LnByZXBlbmQodGQpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHRoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGgnKTtcclxuICAgICAgICB0aC5hcHBlbmQoZGl2KTtcclxuICAgICAgICBkaXYuc2V0QXR0cmlidXRlKFwiY29udGVudGVkaXRhYmxlXCIsIFwiZmFsc2VcIik7XHJcbiAgICAgICAgcm93LnByZXBlbmQodGgpO1xyXG4gICAgICB9XHJcbiAgICAgIGNudCsrO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRhYmxlO1xyXG4gIH1cclxuXHJcbiAgY29sTmFtZShuKSB7XHJcbiAgICBjb25zdCBvcmRBID0gJ2EnLmNoYXJDb2RlQXQoMCk7XHJcbiAgICBjb25zdCBvcmRaID0gJ3onLmNoYXJDb2RlQXQoMCk7XHJcbiAgICBjb25zdCBsZW4gPSBvcmRaIC0gb3JkQSArIDE7XHJcblxyXG4gICAgbGV0IHMgPSBcIlwiO1xyXG4gICAgd2hpbGUobiA+PSAwKSB7XHJcbiAgICAgIHMgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKG4gJSBsZW4gKyBvcmRBKSArIHM7XHJcbiAgICAgIG4gPSBNYXRoLmZsb29yKG4gLyBsZW4pIC0gMTtcclxuICAgIH1cclxuICAgIHJldHVybiBzO1xyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/dist/libs/common-components/esm2015/lib/excel-page/excel-page.component.js b/dist/libs/common-components/esm2015/lib/excel-page/excel-page.component.js new file mode 100644 index 000000000..4726c8db0 --- /dev/null +++ b/dist/libs/common-components/esm2015/lib/excel-page/excel-page.component.js @@ -0,0 +1,84 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Component, Input } from '@angular/core'; +import { ExcelPageService } from '../excel-page.service'; +export class ExcelPageComponent { + /** + * @param {?} _excelPageService + */ + constructor(_excelPageService) { + this._excelPageService = _excelPageService; + } + /** + * @return {?} + */ + ngOnInit() { + /** @type {?} */ + const isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + if (isIE && this.number === 0) { + this.editable = false; + } + } + /** + * @param {?} changes + * @return {?} + */ + ngOnChanges(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 {?} */ + const dataImagePngBase64 = 'data:image/png;base64,'; + this.imgData = dataImagePngBase64; + if (!this.isHtml) { + this.imgData += this.data; + } + this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null; + } +} +ExcelPageComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{border:1px solid #e7e7e7!important;vertical-align:middle!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + }] } +]; +/** @nocollapse */ +ExcelPageComponent.ctorParameters = () => [ + { type: ExcelPageService } +]; +ExcelPageComponent.propDecorators = { + angle: [{ type: Input }], + width: [{ type: Input }], + height: [{ type: Input }], + number: [{ type: Input }], + data: [{ type: Input }], + isHtml: [{ type: Input }], + editable: [{ type: Input }] +}; +if (false) { + /** @type {?} */ + ExcelPageComponent.prototype.angle; + /** @type {?} */ + ExcelPageComponent.prototype.width; + /** @type {?} */ + ExcelPageComponent.prototype.height; + /** @type {?} */ + ExcelPageComponent.prototype.number; + /** @type {?} */ + ExcelPageComponent.prototype.data; + /** @type {?} */ + ExcelPageComponent.prototype.isHtml; + /** @type {?} */ + ExcelPageComponent.prototype.editable; + /** @type {?} */ + ExcelPageComponent.prototype.imgData; + /** + * @type {?} + * @private + */ + ExcelPageComponent.prototype._excelPageService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQW1DLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT3pELE1BQU0sT0FBTyxrQkFBa0I7Ozs7SUFXN0IsWUFBb0IsaUJBQW1DO1FBQW5DLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7SUFDdkQsQ0FBQzs7OztJQUVELFFBQVE7O2NBQ0EsSUFBSSxHQUFHLFlBQVksQ0FBQSxLQUFLLElBQUksQ0FBQyxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ3hGLElBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsMkVBQTJFO1FBQzNFLCtEQUErRDtRQUMvRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDOztjQUN6RixrQkFBa0IsR0FBRyx3QkFBd0I7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNGLENBQUM7OztZQXJDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLHVuQkFBMEM7O2FBRTNDOzs7O1lBTlEsZ0JBQWdCOzs7b0JBU3RCLEtBQUs7b0JBQ0wsS0FBSztxQkFDTCxLQUFLO3FCQUNMLEtBQUs7bUJBQ0wsS0FBSztxQkFDTCxLQUFLO3VCQUNMLEtBQUs7Ozs7SUFOTixtQ0FBdUI7O0lBQ3ZCLG1DQUF1Qjs7SUFDdkIsb0NBQXdCOztJQUN4QixvQ0FBd0I7O0lBQ3hCLGtDQUFzQjs7SUFDdEIsb0NBQXlCOztJQUN6QixzQ0FBMkI7O0lBQzNCLHFDQUFnQjs7Ozs7SUFFSiwrQ0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRXhjZWxQYWdlU2VydmljZSB9IGZyb20gJy4uL2V4Y2VsLXBhZ2Uuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dkLWV4Y2VsLXBhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leGNlbC1wYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leGNlbC1wYWdlLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEV4Y2VsUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgYW5nbGU6IG51bWJlcjtcclxuICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGhlaWdodDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG51bWJlcjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGRhdGE6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0h0bWw6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW47XHJcbiAgaW1nRGF0YTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9leGNlbFBhZ2VTZXJ2aWNlOiBFeGNlbFBhZ2VTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGlzSUUgPSAvKkBjY19vbiFAKi9mYWxzZSB8fCAhIS8oTVNJRXxUcmlkZW50XFwvfEVkZ2VcXC8pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcclxuICAgIGlmKGlzSUUgJiYgdGhpcy5udW1iZXIgPT09IDApe1xyXG4gICAgICB0aGlzLmVkaXRhYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAvLyBUT0RPOiB0aGlzIGlzIHRlbXBvcmFyeSBuZWVkZWQgdG8gcmVtb3ZlIHVubmVlZGVkIHNwYWNlcyBhbmQgQk9NIHN5bWJvbCBcclxuICAgIC8vIHdoaWNoIGxlYWRzIHRvIHVuZGVzaXJlZCBzcGFjZXMgb24gdGhlIHRvcCBvZiB0aGUgZG9jcyBwYWdlc1xyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhICE9PSBudWxsID8gdGhpcy5kYXRhLnJlcGxhY2UoLz5cXHMrPC9nLCc+PCcpLnJlcGxhY2UoL1xcdUZFRkYvZyxcIlwiKSA6IG51bGw7XHJcbiAgICBjb25zdCBkYXRhSW1hZ2VQbmdCYXNlNjQgPSAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LCc7XHJcbiAgICB0aGlzLmltZ0RhdGEgPSBkYXRhSW1hZ2VQbmdCYXNlNjQ7XHJcbiAgICBpZiAoIXRoaXMuaXNIdG1sKSB7XHJcbiAgICAgIHRoaXMuaW1nRGF0YSArPSB0aGlzLmRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhICE9PSBudWxsID8gdGhpcy5fZXhjZWxQYWdlU2VydmljZS5nZXRVcGRhdGVkUGFnZSh0aGlzLmRhdGEpIDogbnVsbDtcclxuICB9XHJcbn0iXX0= \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js b/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js new file mode 100644 index 000000000..2a2172d5c --- /dev/null +++ b/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js @@ -0,0 +1,109 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import * as tslib_1 from "tslib"; +import { Component, ElementRef, ViewChildren, QueryList } from '@angular/core'; +import { DocumentComponent } from '../document/document.component'; +import { WindowService } from '../window.service'; +import { NavigateService } from '../navigate.service'; +import { ZoomService } from '../zoom.service'; +import { ExcelPageComponent } from '../excel-page/excel-page.component'; +var ExcelDocumentComponent = /** @class */ (function (_super) { + tslib_1.__extends(ExcelDocumentComponent, _super); + function ExcelDocumentComponent(_elementRef, zoomService, windowService, _navigateService) { + var _this = _super.call(this, _elementRef, zoomService, windowService) || this; + _this._navigateService = _navigateService; + _this.panzoom = null; + return _this; + } + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.currentPageNo = 1; + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this.refreshExcelDocHeight(); + this.pages.changes.subscribe((/** + * @return {?} + */ + function () { + _this.refreshExcelDocHeight(); + })); + this._navigateService.navigate.subscribe((/** + * @param {?} value + * @return {?} + */ + function (value) { + _this.selectSheet(value); + })); + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.refreshExcelDocHeight = /** + * @return {?} + */ + function () { + // For current iteration we'll change actual height of .document + this.doc = this._elementRef.nativeElement.children.item(0); + this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + // magic number 37 is the height of the bottom-bar with navigation between pages + this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; + }; + /** + * @param {?} number + * @return {?} + */ + ExcelDocumentComponent.prototype.selectSheet = /** + * @param {?} number + * @return {?} + */ + function (number) { + this.currentPageNo = number; + }; + ExcelDocumentComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-document', + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + }] } + ]; + /** @nocollapse */ + ExcelDocumentComponent.ctorParameters = function () { return [ + { type: ElementRef }, + { type: ZoomService }, + { type: WindowService }, + { type: NavigateService } + ]; }; + ExcelDocumentComponent.propDecorators = { + pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }] + }; + return ExcelDocumentComponent; +}(DocumentComponent)); +export { ExcelDocumentComponent }; +if (false) { + /** @type {?} */ + ExcelDocumentComponent.prototype.pages; + /** @type {?} */ + ExcelDocumentComponent.prototype.currentPageNo; + /** @type {?} */ + ExcelDocumentComponent.prototype.panzoom; + /** + * @type {?} + * @private + */ + ExcelDocumentComponent.prototype._navigateService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFlBQVksRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFPLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXhFO0lBSzRDLGtEQUFpQjtJQU0zRCxnQ0FBWSxXQUFvQyxFQUNwQyxXQUF3QixFQUN4QixhQUE0QixFQUNwQixnQkFBaUM7UUFIckQsWUFJRSxrQkFBTSxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxTQUMvQztRQUZtQixzQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBTHJELGFBQU8sR0FBRyxJQUFJLENBQUM7O0lBT2YsQ0FBQzs7OztJQUVELHlDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxnREFBZTs7O0lBQWY7UUFBQSxpQkFVQztRQVRDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVM7OztRQUFDO1lBQ3pCLEtBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTOzs7O1FBQ3ZDLFVBQUEsS0FBSztZQUNELEtBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFDLENBQUM7SUFDTixDQUFDOzs7O0lBRUQsc0RBQXFCOzs7SUFBckI7UUFDRSxnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNoRSxDQUFDOzs7OztJQUVELDRDQUFXOzs7O0lBQVgsVUFBWSxNQUFNO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQzlCLENBQUM7O2dCQTVDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsZzhCQUE4Qzs7aUJBRS9DOzs7O2dCQVhtQixVQUFVO2dCQUlyQixXQUFXO2dCQUZYLGFBQWE7Z0JBQ2IsZUFBZTs7O3dCQVVyQixZQUFZLFNBQUMsa0JBQWtCOztJQXVDbEMsNkJBQUM7Q0FBQSxBQTdDRCxDQUs0QyxpQkFBaUIsR0F3QzVEO1NBeENZLHNCQUFzQjs7O0lBQ2pDLHVDQUF1RTs7SUFFdkUsK0NBQXNCOztJQUN0Qix5Q0FBZTs7Ozs7SUFLSCxrREFBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9kb2N1bWVudC9kb2N1bWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vd2luZG93LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0ZVNlcnZpY2UgfSBmcm9tICcuLi9uYXZpZ2F0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWm9vbVNlcnZpY2UgfSBmcm9tICAnLi4vem9vbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXhjZWxQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dkLWV4Y2VsLWRvY3VtZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeGNlbERvY3VtZW50Q29tcG9uZW50IGV4dGVuZHMgRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQgIHtcclxuICBAVmlld0NoaWxkcmVuKEV4Y2VsUGFnZUNvbXBvbmVudCkgcGFnZXM6IFF1ZXJ5TGlzdDxFeGNlbFBhZ2VDb21wb25lbnQ+OyBcclxuICBcclxuICBjdXJyZW50UGFnZU5vOiBudW1iZXI7XHJcbiAgcGFuem9vbSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgICAgICAgICAgICB6b29tU2VydmljZTogWm9vbVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgd2luZG93U2VydmljZTogV2luZG93U2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9uYXZpZ2F0ZVNlcnZpY2U6IE5hdmlnYXRlU2VydmljZSkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIHpvb21TZXJ2aWNlLCB3aW5kb3dTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSAxO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5yZWZyZXNoRXhjZWxEb2NIZWlnaHQoKTtcclxuICAgIHRoaXMucGFnZXMuY2hhbmdlcy5zdWJzY3JpYmUoKCk9PntcclxuICAgICAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fbmF2aWdhdGVTZXJ2aWNlLm5hdmlnYXRlLnN1YnNjcmliZShcclxuICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICAgIHRoaXMuc2VsZWN0U2hlZXQodmFsdWUpO1xyXG4gICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCkge1xyXG4gICAgLy8gRm9yIGN1cnJlbnQgaXRlcmF0aW9uIHdlJ2xsIGNoYW5nZSBhY3R1YWwgaGVpZ2h0IG9mIC5kb2N1bWVudFxyXG4gICAgdGhpcy5kb2MgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIHRoaXMucGFuem9vbSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApLmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICAvLyBtYWdpYyBudW1iZXIgMzcgaXMgdGhlIGhlaWdodCBvZiB0aGUgYm90dG9tLWJhciB3aXRoIG5hdmlnYXRpb24gYmV0d2VlbiBwYWdlc1xyXG4gICAgdGhpcy5kb2Muc3R5bGUuaGVpZ2h0ID0gdGhpcy5wYW56b29tLnNjcm9sbEhlaWdodCArIDM3ICsgXCJweFwiO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0U2hlZXQobnVtYmVyKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IG51bWJlcjtcclxuICB9XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/excel-page.service.js b/dist/libs/common-components/esm5/lib/excel-page.service.js new file mode 100644 index 000000000..e974b74c2 --- /dev/null +++ b/dist/libs/common-components/esm5/lib/excel-page.service.js @@ -0,0 +1,162 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Injectable } from '@angular/core'; +import * as i0 from "@angular/core"; +var ExcelPageService = /** @class */ (function () { + function ExcelPageService() { + } + /** + * @param {?} data + * @return {?} + */ + ExcelPageService.prototype.getUpdatedPage = /** + * @param {?} data + * @return {?} + */ + function (data) { + /** @type {?} */ + var doc = new DOMParser().parseFromString(data, "text/html"); + /** @type {?} */ + var table = doc.querySelector('table'); + /** @type {?} */ + var numCellsInFirstRow = 0; + /** @type {?} */ + var cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td'); + cellsFromFirstRow.forEach((/** + * @param {?} elm + * @return {?} + */ + function (elm) { + numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1; + })); + /** @type {?} */ + var newTable = this.createHeader(numCellsInFirstRow, table); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + var resultData = new XMLSerializer().serializeToString(doc) + // work-around for FF which is adds a0 namespace during serialization + ; + // work-around for FF which is adds a0 namespace during serialization + return resultData.replace(/a0:/g, "").replace(/:a0/g, ""); + }; + /** + * @param {?} data + * @return {?} + */ + ExcelPageService.prototype.getPageWithoutHeader = /** + * @param {?} data + * @return {?} + */ + function (data) { + /** @type {?} */ + var doc = new DOMParser().parseFromString(data, "text/html"); + doc.querySelector('colgroup').remove(); + /** @type {?} */ + var newTable = doc.querySelector('table'); + newTable.deleteRow(0); + newTable.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + function (row) { + row.deleteCell(0); + })); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + var resultData = new XMLSerializer().serializeToString(doc); + return resultData; + }; + /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + ExcelPageService.prototype.createHeader = /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + function (numCols, table) { + /** @type {?} */ + var header = document.createElement('thead'); + header.append(document.createElement('tr')); + for (var i = 0; i < numCols; ++i) { + /** @type {?} */ + var th = document.createElement('th'); + th.innerText = this.colName(i); + th.setAttribute("contenteditable", "false"); + header.querySelector("tr").append(th); + } + /** @type {?} */ + var colgroup = table.querySelector('colgroup'); + /** @type {?} */ + var col = document.createElement('col'); + col.width = '80px'; + colgroup.prepend(col); + table.prepend(header); + /** @type {?} */ + var cnt = 0; + table.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + function (row) { + /** @type {?} */ + var div = document.createElement('div'); + if (cnt !== 0) { + /** @type {?} */ + var td = document.createElement('td'); + td.className = "excel"; + td.append(div); + div.innerText = cnt.toString(); + div.setAttribute("contenteditable", "false"); + row.prepend(td); + } + else { + /** @type {?} */ + var th = document.createElement('th'); + th.append(div); + div.setAttribute("contenteditable", "false"); + row.prepend(th); + } + cnt++; + })); + return table; + }; + /** + * @param {?} n + * @return {?} + */ + ExcelPageService.prototype.colName = /** + * @param {?} n + * @return {?} + */ + function (n) { + /** @type {?} */ + var ordA = 'a'.charCodeAt(0); + /** @type {?} */ + var ordZ = 'z'.charCodeAt(0); + /** @type {?} */ + var len = ordZ - ordA + 1; + /** @type {?} */ + var s = ""; + while (n >= 0) { + s = String.fromCharCode(n % len + ordA) + s; + n = Math.floor(n / len) - 1; + } + return s; + }; + ExcelPageService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + ExcelPageService.ctorParameters = function () { return []; }; + /** @nocollapse */ ExcelPageService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function ExcelPageService_Factory() { return new ExcelPageService(); }, token: ExcelPageService, providedIn: "root" }); + return ExcelPageService; +}()); +export { ExcelPageService }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtcGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFekM7SUFJRTtJQUNBLENBQUM7Ozs7O0lBRUQseUNBQWM7Ozs7SUFBZCxVQUFlLElBQUk7O1lBQ1gsR0FBRyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUM7O1lBQ3hELEtBQUssR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQzs7WUFDcEMsa0JBQWtCLEdBQUcsQ0FBQzs7WUFDcEIsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLG1DQUFtQyxDQUFDO1FBRW5GLGlCQUFpQixDQUFDLE9BQU87Ozs7UUFBQyxVQUFBLEdBQUc7WUFDM0Isa0JBQWtCLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEcsQ0FBQyxFQUFDLENBQUM7O1lBRUcsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDO1FBQzdELEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDOztZQUUzQyxVQUFVLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUM7UUFDN0QscUVBQXFFOztRQUFyRSxxRUFBcUU7UUFDckUsT0FBTyxV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RUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDZixHQUFHLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUM3QyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2pCO1lBQ0QsR0FBRyxFQUFFLENBQUM7UUFDUixDQUFDLEVBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Ozs7SUFFRCxrQ0FBTzs7OztJQUFQLFVBQVEsQ0FBQzs7WUFDRCxJQUFJLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7O1lBQ3hCLElBQUksR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzs7WUFDeEIsR0FBRyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQzs7WUFFdkIsQ0FBQyxHQUFHLEVBQUU7UUFDVixPQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDWixDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDOztnQkE3RkYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7Ozs7MkJBSkQ7Q0FnR0MsQUE5RkQsSUE4RkM7U0EzRlksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4Y2VsUGFnZVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgZ2V0VXBkYXRlZFBhZ2UoZGF0YSkge1xyXG4gICAgY29uc3QgZG9jID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhkYXRhLCBcInRleHQvaHRtbFwiKTtcclxuICAgIGNvbnN0IHRhYmxlID0gZG9jLnF1ZXJ5U2VsZWN0b3IoJ3RhYmxlJyk7XHJcbiAgICBsZXQgbnVtQ2VsbHNJbkZpcnN0Um93ID0gMDtcclxuICAgIGNvbnN0IGNlbGxzRnJvbUZpcnN0Um93ID0gZG9jLnF1ZXJ5U2VsZWN0b3JBbGwoJ3RhYmxlID4gdGJvZHkgPiB0cjpmaXJzdC1jaGlsZCB0ZCcpO1xyXG5cclxuICAgIGNlbGxzRnJvbUZpcnN0Um93LmZvckVhY2goZWxtID0+IHtcclxuICAgICAgbnVtQ2VsbHNJbkZpcnN0Um93ICs9IGVsbS5hdHRyaWJ1dGVzWydjb2xzcGFuJ10gPyBwYXJzZUludChlbG0uYXR0cmlidXRlc1snY29sc3BhbiddLnZhbHVlLCAxMCkgOiAxO1xyXG4gICAgfSk7XHJcbiBcclxuICAgIGNvbnN0IG5ld1RhYmxlID0gdGhpcy5jcmVhdGVIZWFkZXIobnVtQ2VsbHNJbkZpcnN0Um93LCB0YWJsZSk7XHJcbiAgICBkb2MucXVlcnlTZWxlY3RvcigndGFibGUnKS5yZXBsYWNlV2l0aChuZXdUYWJsZSk7XHJcblxyXG4gICAgY29uc3QgcmVzdWx0RGF0YSA9IG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoZG9jKVxyXG4gICAgLy8gd29yay1hcm91bmQgZm9yIEZGIHdoaWNoIGlzIGFkZHMgYTAgbmFtZXNwYWNlIGR1cmluZyBzZXJpYWxpemF0aW9uXHJcbiAgICByZXR1cm4gcmVzdWx0RGF0YS5yZXBsYWNlKC9hMDovZyxcIlwiKS5yZXBsYWNlKC86YTAvZyxcIlwiKTtcclxuICB9XHJcblxyXG4gIGdldFBhZ2VXaXRob3V0SGVhZGVyKGRhdGEpIHtcclxuICAgIGNvbnN0IGRvYyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZGF0YSwgXCJ0ZXh0L2h0bWxcIik7XHJcbiAgICBkb2MucXVlcnlTZWxlY3RvcignY29sZ3JvdXAnKS5yZW1vdmUoKTtcclxuICAgIGNvbnN0IG5ld1RhYmxlID0gZG9jLnF1ZXJ5U2VsZWN0b3IoJ3RhYmxlJyk7XHJcbiAgICBuZXdUYWJsZS5kZWxldGVSb3coMCk7XHJcblxyXG4gICAgbmV3VGFibGUucXVlcnlTZWxlY3RvckFsbCgndHInKS5mb3JFYWNoKHJvdyA9PiB7XHJcbiAgICAgIHJvdy5kZWxldGVDZWxsKDApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgZG9jLnF1ZXJ5U2VsZWN0b3IoJ3RhYmxlJykucmVwbGFjZVdpdGgobmV3VGFibGUpO1xyXG5cclxuICAgIGNvbnN0IHJlc3VsdERhdGEgPSBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKGRvYyk7XHJcbiAgICByZXR1cm4gcmVzdWx0RGF0YTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUhlYWRlcihudW1Db2xzLCB0YWJsZSl7XHJcbiAgICBjb25zdCBoZWFkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0aGVhZCcpO1xyXG4gICAgaGVhZGVyLmFwcGVuZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpKTtcclxuXHJcbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgbnVtQ29sczsgKytpKXtcclxuICAgICAgY29uc3QgdGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0aCcpO1xyXG4gICAgICB0aC5pbm5lclRleHQgPSB0aGlzLmNvbE5hbWUoaSk7XHJcbiAgICAgIHRoLnNldEF0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiLCBcImZhbHNlXCIpO1xyXG4gICAgICBoZWFkZXIucXVlcnlTZWxlY3RvcihcInRyXCIpLmFwcGVuZCh0aCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGNvbnN0IGNvbGdyb3VwID0gdGFibGUucXVlcnlTZWxlY3RvcignY29sZ3JvdXAnKTtcclxuICAgIGNvbnN0IGNvbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NvbCcpO1xyXG4gICAgY29sLndpZHRoID0gJzgwcHgnO1xyXG4gICAgY29sZ3JvdXAucHJlcGVuZChjb2wpO1xyXG4gICAgXHJcbiAgICB0YWJsZS5wcmVwZW5kKGhlYWRlcik7XHJcblxyXG4gICAgbGV0IGNudCA9IDA7XHJcbiAgICB0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCd0cicpLmZvckVhY2gocm93ID0+IHtcclxuICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGlmIChjbnQgIT09IDApIHtcclxuICAgICAgICBjb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7XHJcbiAgICAgICAgdGQuY2xhc3NOYW1lID0gXCJleGNlbFwiXHJcbiAgICAgICAgdGQuYXBwZW5kKGRpdik7XHJcbiAgICAgICAgZGl2LmlubmVyVGV4dCA9IGNudC50b1N0cmluZygpO1xyXG4gICAgICAgIGRpdi5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgXCJmYWxzZVwiKTtcclxuICAgICAgICByb3cucHJlcGVuZCh0ZCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0aCcpO1xyXG4gICAgICAgIHRoLmFwcGVuZChkaXYpO1xyXG4gICAgICAgIGRpdi5zZXRBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIiwgXCJmYWxzZVwiKTtcclxuICAgICAgICByb3cucHJlcGVuZCh0aCk7XHJcbiAgICAgIH1cclxuICAgICAgY250Kys7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGFibGU7XHJcbiAgfVxyXG5cclxuICBjb2xOYW1lKG4pIHtcclxuICAgIGNvbnN0IG9yZEEgPSAnYScuY2hhckNvZGVBdCgwKTtcclxuICAgIGNvbnN0IG9yZFogPSAneicuY2hhckNvZGVBdCgwKTtcclxuICAgIGNvbnN0IGxlbiA9IG9yZFogLSBvcmRBICsgMTtcclxuXHJcbiAgICBsZXQgcyA9IFwiXCI7XHJcbiAgICB3aGlsZShuID49IDApIHtcclxuICAgICAgcyA9IFN0cmluZy5mcm9tQ2hhckNvZGUobiAlIGxlbiArIG9yZEEpICsgcztcclxuICAgICAgbiA9IE1hdGguZmxvb3IobiAvIGxlbikgLSAxO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHM7XHJcbiAgfVxyXG59XHJcbiJdfQ== \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/excel-page/excel-page.component.js b/dist/libs/common-components/esm5/lib/excel-page/excel-page.component.js new file mode 100644 index 000000000..d543138c5 --- /dev/null +++ b/dist/libs/common-components/esm5/lib/excel-page/excel-page.component.js @@ -0,0 +1,90 @@ +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +import { Component, Input } from '@angular/core'; +import { ExcelPageService } from '../excel-page.service'; +var ExcelPageComponent = /** @class */ (function () { + function ExcelPageComponent(_excelPageService) { + this._excelPageService = _excelPageService; + } + /** + * @return {?} + */ + ExcelPageComponent.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 {?} + */ + ExcelPageComponent.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; + } + this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null; + }; + ExcelPageComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{border:1px solid #e7e7e7!important;vertical-align:middle!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + }] } + ]; + /** @nocollapse */ + ExcelPageComponent.ctorParameters = function () { return [ + { type: ExcelPageService } + ]; }; + ExcelPageComponent.propDecorators = { + angle: [{ type: Input }], + width: [{ type: Input }], + height: [{ type: Input }], + number: [{ type: Input }], + data: [{ type: Input }], + isHtml: [{ type: Input }], + editable: [{ type: Input }] + }; + return ExcelPageComponent; +}()); +export { ExcelPageComponent }; +if (false) { + /** @type {?} */ + ExcelPageComponent.prototype.angle; + /** @type {?} */ + ExcelPageComponent.prototype.width; + /** @type {?} */ + ExcelPageComponent.prototype.height; + /** @type {?} */ + ExcelPageComponent.prototype.number; + /** @type {?} */ + ExcelPageComponent.prototype.data; + /** @type {?} */ + ExcelPageComponent.prototype.isHtml; + /** @type {?} */ + ExcelPageComponent.prototype.editable; + /** @type {?} */ + ExcelPageComponent.prototype.imgData; + /** + * @type {?} + * @private + */ + ExcelPageComponent.prototype._excelPageService; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQW1DLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpEO0lBZ0JFLDRCQUFvQixpQkFBbUM7UUFBbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtJQUN2RCxDQUFDOzs7O0lBRUQscUNBQVE7OztJQUFSOztZQUNRLElBQUksR0FBRyxZQUFZLENBQUEsS0FBSyxJQUFJLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUN4RixJQUFHLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtJQUNILENBQUM7Ozs7O0lBRUQsd0NBQVc7Ozs7SUFBWCxVQUFZLE9BQXNCO1FBQ2hDLDJFQUEyRTtRQUMzRSwrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzs7WUFDekYsa0JBQWtCLEdBQUcsd0JBQXdCO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsa0JBQWtCLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRixDQUFDOztnQkFyQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6Qix1bkJBQTBDOztpQkFFM0M7Ozs7Z0JBTlEsZ0JBQWdCOzs7d0JBU3RCLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxLQUFLO3lCQUNMLEtBQUs7dUJBQ0wsS0FBSzt5QkFDTCxLQUFLOzJCQUNMLEtBQUs7O0lBeUJSLHlCQUFDO0NBQUEsQUF0Q0QsSUFzQ0M7U0FqQ1ksa0JBQWtCOzs7SUFFN0IsbUNBQXVCOztJQUN2QixtQ0FBdUI7O0lBQ3ZCLG9DQUF3Qjs7SUFDeEIsb0NBQXdCOztJQUN4QixrQ0FBc0I7O0lBQ3RCLG9DQUF5Qjs7SUFDekIsc0NBQTJCOztJQUMzQixxQ0FBZ0I7Ozs7O0lBRUosK0NBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEV4Y2VsUGFnZVNlcnZpY2UgfSBmcm9tICcuLi9leGNlbC1wYWdlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnZC1leGNlbC1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhjZWwtcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXhjZWwtcGFnZS5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeGNlbFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIGFuZ2xlOiBudW1iZXI7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcclxuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcclxuICBASW5wdXQoKSBudW1iZXI6IG51bWJlcjtcclxuICBASW5wdXQoKSBkYXRhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNIdG1sOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGVkaXRhYmxlOiBib29sZWFuO1xyXG4gIGltZ0RhdGE6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZXhjZWxQYWdlU2VydmljZTogRXhjZWxQYWdlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCBpc0lFID0gLypAY2Nfb24hQCovZmFsc2UgfHwgISEvKE1TSUV8VHJpZGVudFxcL3xFZGdlXFwvKS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcbiAgICBpZihpc0lFICYmIHRoaXMubnVtYmVyID09PSAwKXtcclxuICAgICAgdGhpcy5lZGl0YWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgLy8gVE9ETzogdGhpcyBpcyB0ZW1wb3JhcnkgbmVlZGVkIHRvIHJlbW92ZSB1bm5lZWRlZCBzcGFjZXMgYW5kIEJPTSBzeW1ib2wgXHJcbiAgICAvLyB3aGljaCBsZWFkcyB0byB1bmRlc2lyZWQgc3BhY2VzIG9uIHRoZSB0b3Agb2YgdGhlIGRvY3MgcGFnZXNcclxuICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YSAhPT0gbnVsbCA/IHRoaXMuZGF0YS5yZXBsYWNlKC8+XFxzKzwvZywnPjwnKS5yZXBsYWNlKC9cXHVGRUZGL2csXCJcIikgOiBudWxsO1xyXG4gICAgY29uc3QgZGF0YUltYWdlUG5nQmFzZTY0ID0gJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnO1xyXG4gICAgdGhpcy5pbWdEYXRhID0gZGF0YUltYWdlUG5nQmFzZTY0O1xyXG4gICAgaWYgKCF0aGlzLmlzSHRtbCkge1xyXG4gICAgICB0aGlzLmltZ0RhdGEgKz0gdGhpcy5kYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YSAhPT0gbnVsbCA/IHRoaXMuX2V4Y2VsUGFnZVNlcnZpY2UuZ2V0VXBkYXRlZFBhZ2UodGhpcy5kYXRhKSA6IG51bGw7XHJcbiAgfVxyXG59Il19 \ 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 48b11aa1e..320397f79 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 @@ -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, EventEmitter, Input, Output, Injectable, ElementRef, ɵɵdefineInjectable, ɵɵinject, ViewChildren, Pipe, Directive, HostBinding, HostListener, 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,7 +23,7 @@ class TopToolbarComponent { TopToolbarComponent.decorators = [ { type: Component, args: [{ selector: 'gd-top-toolbar', - template: "
\n
\n \n
\n
\n", + template: "
\r\n
\r\n \r\n
\r\n
\r\n", styles: [".top-toolbar{width:100%;height:60px;z-index:999;display: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}}"] }] } ]; @@ -55,7 +55,7 @@ class SidePanelComponent { SidePanelComponent.decorators = [ { type: Component, args: [{ selector: 'gd-side-panel', - template: "
\n
\n \n
{{title}}
\n
\n \n
\n
\n
\n \n
\n
\n", + 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}}"] }] } ]; @@ -204,7 +204,7 @@ class ButtonComponent { ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'gd-button', - template: "
\n \n \n
\n \n
\n
\n", + template: "
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n", styles: [".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:flex;align-items: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}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"] }] } ]; @@ -240,7 +240,7 @@ class LogoComponent { LogoComponent.decorators = [ { type: Component, args: [{ selector: 'gd-logo', - template: "
\n \n \n
\n\n", + template: "
\r\n \r\n \r\n
\r\n\r\n", styles: [".logo{background-color:#25c2d4;height:60px;display: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}}"] }] } ]; @@ -275,7 +275,7 @@ class TooltipComponent { TooltipComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tooltip', - template: "\n", + template: "\r\n", styles: [".tooltip{position:absolute;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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}"] }] } ]; @@ -531,7 +531,7 @@ class ModalComponent { ModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-modal', - template: "
\n
\n
\n
\n\n
\n
×
\n

{{title}}

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

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n", styles: ["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;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%}}"] }] } ]; @@ -914,7 +914,7 @@ class BrowseFilesModalComponent { BrowseFilesModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-browse-files-modal', - template: "\n
\n
\n \n Drop file here to upload\n
\n
\n
\n \n
\n
\n \n \n \n Upload file\n \n \n \n \n \n
{{item.name}}
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
FILE
\n
SIZE
\n
\n
\n
\n
\n
\n
\n \n
\n
..
\n
\n
\n
\n \n
\n
{{file?.name}}
\n
{{getFormatName(file)}}
\n
\n
\n
\n {{getSize(file?.size)}}\n
\n
\n
\n
\n
\n \n  Loading... Please wait.\n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n", styles: [".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display: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)}}"] }] } ]; @@ -1294,7 +1294,7 @@ class DocumentComponent { DocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-document', - template: "
Please wait...
\n
\n
\n
\n \n
\n
\n \n
\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n", styles: [":host{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}}"] }] } ]; @@ -1310,6 +1310,415 @@ DocumentComponent.propDecorators = { file: [{ type: Input }] }; +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class PagePreloadService { + constructor() { + this._checkPreload = new Observable((/** + * @param {?} observer + * @return {?} + */ + observer => this._observer = observer)); + } + /** + * @return {?} + */ + get checkPreload() { + return this._checkPreload; + } + /** + * @param {?} page + * @return {?} + */ + changeLastPageInView(page) { + if (this._observer) { + this._observer.next(page); + } + } +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class NavigateService { + /** + * @param {?} _pagePreloadService + */ + constructor(_pagePreloadService) { + this._pagePreloadService = _pagePreloadService; + this._currentPage = 0; + this._countPages = 0; + this._navigate = new Observable((/** + * @param {?} observer + * @return {?} + */ + observer => this._observer = observer)); + } + /** + * @return {?} + */ + get navigate() { + return this._navigate; + } + /** + * @return {?} + */ + get countPages() { + return this._countPages; + } + /** + * @param {?} value + * @return {?} + */ + set countPages(value) { + this._countPages = value; + } + /** + * @return {?} + */ + get currentPage() { + return this._currentPage; + } + /** + * @param {?} value + * @return {?} + */ + set currentPage(value) { + this._currentPage = value; + } + /** + * @return {?} + */ + nextPage() { + if (this._currentPage < this._countPages) { + this._currentPage++; + this.navigateTo(this._currentPage); + } + } + /** + * @return {?} + */ + prevPage() { + if (this._currentPage > 1) { + this._currentPage--; + this.navigateTo(this._currentPage); + } + } + /** + * @return {?} + */ + toLastPage() { + this._currentPage = this._countPages; + this.navigateTo(this._currentPage); + } + /** + * @return {?} + */ + toFirstPage() { + this._currentPage = 1; + this.navigateTo(this._currentPage); + } + /** + * @param {?} page + * @return {?} + */ + navigateTo(page) { + this.currentPage = page; + this._pagePreloadService.changeLastPageInView(page); + this._observer.next(page); + } +} +NavigateService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root' + },] } +]; +/** @nocollapse */ +NavigateService.ctorParameters = () => [ + { type: PagePreloadService } +]; +/** @nocollapse */ NavigateService.ngInjectableDef = ɵɵdefineInjectable({ factory: function NavigateService_Factory() { return new NavigateService(ɵɵinject(PagePreloadService)); }, token: NavigateService, providedIn: "root" }); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class ExcelPageService { + constructor() { + } + /** + * @param {?} data + * @return {?} + */ + getUpdatedPage(data) { + /** @type {?} */ + const doc = new DOMParser().parseFromString(data, "text/html"); + /** @type {?} */ + const table = doc.querySelector('table'); + /** @type {?} */ + let numCellsInFirstRow = 0; + /** @type {?} */ + const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td'); + cellsFromFirstRow.forEach((/** + * @param {?} elm + * @return {?} + */ + elm => { + numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1; + })); + /** @type {?} */ + const newTable = this.createHeader(numCellsInFirstRow, table); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + const resultData = new XMLSerializer().serializeToString(doc) + // work-around for FF which is adds a0 namespace during serialization + ; + // work-around for FF which is adds a0 namespace during serialization + return resultData.replace(/a0:/g, "").replace(/:a0/g, ""); + } + /** + * @param {?} data + * @return {?} + */ + getPageWithoutHeader(data) { + /** @type {?} */ + const doc = new DOMParser().parseFromString(data, "text/html"); + doc.querySelector('colgroup').remove(); + /** @type {?} */ + const newTable = doc.querySelector('table'); + newTable.deleteRow(0); + newTable.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + row => { + row.deleteCell(0); + })); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + const resultData = new XMLSerializer().serializeToString(doc); + return resultData; + } + /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + createHeader(numCols, table) { + /** @type {?} */ + const header = document.createElement('thead'); + header.append(document.createElement('tr')); + for (let i = 0; i < numCols; ++i) { + /** @type {?} */ + const th = document.createElement('th'); + th.innerText = this.colName(i); + th.setAttribute("contenteditable", "false"); + header.querySelector("tr").append(th); + } + /** @type {?} */ + const colgroup = table.querySelector('colgroup'); + /** @type {?} */ + const col = document.createElement('col'); + col.width = '80px'; + colgroup.prepend(col); + table.prepend(header); + /** @type {?} */ + let cnt = 0; + table.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + row => { + /** @type {?} */ + const div = document.createElement('div'); + if (cnt !== 0) { + /** @type {?} */ + const td = document.createElement('td'); + td.className = "excel"; + td.append(div); + div.innerText = cnt.toString(); + div.setAttribute("contenteditable", "false"); + row.prepend(td); + } + else { + /** @type {?} */ + const th = document.createElement('th'); + th.append(div); + div.setAttribute("contenteditable", "false"); + row.prepend(th); + } + cnt++; + })); + return table; + } + /** + * @param {?} n + * @return {?} + */ + colName(n) { + /** @type {?} */ + const ordA = 'a'.charCodeAt(0); + /** @type {?} */ + const ordZ = 'z'.charCodeAt(0); + /** @type {?} */ + const len = ordZ - ordA + 1; + /** @type {?} */ + let s = ""; + while (n >= 0) { + s = String.fromCharCode(n % len + ordA) + s; + n = Math.floor(n / len) - 1; + } + return s; + } +} +ExcelPageService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root' + },] } +]; +/** @nocollapse */ +ExcelPageService.ctorParameters = () => []; +/** @nocollapse */ ExcelPageService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ExcelPageService_Factory() { return new ExcelPageService(); }, token: ExcelPageService, providedIn: "root" }); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class ExcelPageComponent { + /** + * @param {?} _excelPageService + */ + constructor(_excelPageService) { + this._excelPageService = _excelPageService; + } + /** + * @return {?} + */ + ngOnInit() { + /** @type {?} */ + const isIE = /*@cc_on!@*/ !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + if (isIE && this.number === 0) { + this.editable = false; + } + } + /** + * @param {?} changes + * @return {?} + */ + ngOnChanges(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 {?} */ + const dataImagePngBase64 = 'data:image/png;base64,'; + this.imgData = dataImagePngBase64; + if (!this.isHtml) { + this.imgData += this.data; + } + this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null; + } +} +ExcelPageComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{border:1px solid #e7e7e7!important;vertical-align:middle!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + }] } +]; +/** @nocollapse */ +ExcelPageComponent.ctorParameters = () => [ + { type: ExcelPageService } +]; +ExcelPageComponent.propDecorators = { + angle: [{ type: Input }], + width: [{ type: Input }], + height: [{ type: Input }], + number: [{ type: Input }], + data: [{ type: Input }], + isHtml: [{ type: Input }], + editable: [{ type: Input }] +}; + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class ExcelDocumentComponent extends DocumentComponent { + /** + * @param {?} _elementRef + * @param {?} zoomService + * @param {?} windowService + * @param {?} _navigateService + */ + constructor(_elementRef, zoomService, windowService, _navigateService) { + super(_elementRef, zoomService, windowService); + this._navigateService = _navigateService; + this.panzoom = null; + } + /** + * @return {?} + */ + ngOnInit() { + this.currentPageNo = 1; + } + /** + * @return {?} + */ + ngAfterViewInit() { + this.refreshExcelDocHeight(); + this.pages.changes.subscribe((/** + * @return {?} + */ + () => { + this.refreshExcelDocHeight(); + })); + this._navigateService.navigate.subscribe((/** + * @param {?} value + * @return {?} + */ + value => { + this.selectSheet(value); + })); + } + /** + * @return {?} + */ + refreshExcelDocHeight() { + // For current iteration we'll change actual height of .document + this.doc = this._elementRef.nativeElement.children.item(0); + this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + // magic number 37 is the height of the bottom-bar with navigation between pages + this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; + } + /** + * @param {?} number + * @return {?} + */ + selectSheet(number) { + this.currentPageNo = number; + } +} +ExcelDocumentComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-document', + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + }] } +]; +/** @nocollapse */ +ExcelDocumentComponent.ctorParameters = () => [ + { type: ElementRef }, + { type: ZoomService }, + { type: WindowService }, + { type: NavigateService } +]; +ExcelDocumentComponent.propDecorators = { + pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }] +}; + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1346,7 +1755,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}"] }] } ]; @@ -1495,7 +1904,7 @@ class UploadFileZoneComponent { UploadFileZoneComponent.decorators = [ { type: Component, args: [{ selector: 'gd-upload-file-zone', - template: "
\n
\n \n
\n

Drag & Drop your files here

\n

OR

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

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n", styles: [".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display: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}"] }] } ]; @@ -1609,138 +2018,6 @@ DndDirective.propDecorators = { onClick: [{ type: HostListener, args: ['click', ['$event'],] }] }; -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -class PagePreloadService { - constructor() { - this._checkPreload = new Observable((/** - * @param {?} observer - * @return {?} - */ - observer => this._observer = observer)); - } - /** - * @return {?} - */ - get checkPreload() { - return this._checkPreload; - } - /** - * @param {?} page - * @return {?} - */ - changeLastPageInView(page) { - if (this._observer) { - this._observer.next(page); - } - } -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -class NavigateService { - /** - * @param {?} _pagePreloadService - */ - constructor(_pagePreloadService) { - this._pagePreloadService = _pagePreloadService; - this._currentPage = 0; - this._countPages = 0; - this._navigate = new Observable((/** - * @param {?} observer - * @return {?} - */ - observer => this._observer = observer)); - } - /** - * @return {?} - */ - get navigate() { - return this._navigate; - } - /** - * @return {?} - */ - get countPages() { - return this._countPages; - } - /** - * @param {?} value - * @return {?} - */ - set countPages(value) { - this._countPages = value; - } - /** - * @return {?} - */ - get currentPage() { - return this._currentPage; - } - /** - * @param {?} value - * @return {?} - */ - set currentPage(value) { - this._currentPage = value; - } - /** - * @return {?} - */ - nextPage() { - if (this._currentPage < this._countPages) { - this._currentPage++; - this.navigateTo(this._currentPage); - } - } - /** - * @return {?} - */ - prevPage() { - if (this._currentPage > 1) { - this._currentPage--; - this.navigateTo(this._currentPage); - } - } - /** - * @return {?} - */ - toLastPage() { - this._currentPage = this._countPages; - this.navigateTo(this._currentPage); - } - /** - * @return {?} - */ - toFirstPage() { - this._currentPage = 1; - this.navigateTo(this._currentPage); - } - /** - * @param {?} page - * @return {?} - */ - navigateTo(page) { - this.currentPage = page; - this._pagePreloadService.changeLastPageInView(page); - this._observer.next(page); - } -} -NavigateService.decorators = [ - { type: Injectable, args: [{ - providedIn: 'root' - },] } -]; -/** @nocollapse */ -NavigateService.ctorParameters = () => [ - { type: PagePreloadService } -]; -/** @nocollapse */ NavigateService.ngInjectableDef = ɵɵdefineInjectable({ factory: function NavigateService_Factory() { return new NavigateService(ɵɵinject(PagePreloadService)); }, token: NavigateService, providedIn: "root" }); - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2273,7 +2550,7 @@ 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", + 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}"] }] } ]; @@ -2449,7 +2726,7 @@ class InitStateComponent { InitStateComponent.decorators = [ { type: Component, args: [{ selector: 'gd-init-state', - template: "
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\n", + template: "
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n", styles: [".wrapper{color:#959da5;background-color:#e7e7e7;display: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}"] }] } ]; @@ -2668,7 +2945,7 @@ class ErrorModalComponent { ErrorModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-error-modal', - template: "\n
\n \n
\n
Something went wrong
\n
{{message ? message : 'Server is not available'}}
\n
\n
\n
\n", + template: "\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : 'Server is not available'}}
\r\n
\r\n
\r\n
\r\n", styles: [".gd-modal-error{display: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}"] }] } ]; @@ -2766,7 +3043,7 @@ class PasswordRequiredComponent { PasswordRequiredComponent.decorators = [ { type: Component, args: [{ selector: 'gd-password-required', - template: "\n
\n
\n \n \n {{message}}\n \n Open\n \n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n", styles: ["#gd-password-section{width: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}}"] }] } ]; @@ -2983,7 +3260,7 @@ class SearchComponent { SearchComponent.decorators = [ { type: Component, args: [{ selector: 'gd-search', - template: "
\n \n
{{current}} of {{total}}
\n \n \n \n \n \n \n
\n", + template: "
\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;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%}}"] }] } ]; @@ -3193,7 +3470,7 @@ class TabbedToolbarsComponent { TabbedToolbarsComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tabbed-toolbars', - template: "
\n \n \n
\n", + template: "
\r\n \r\n \r\n
\r\n", styles: [".top-panel{background:#3e4e5a;display: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}}"] }] } ]; @@ -3280,7 +3557,7 @@ class TabComponent { TabComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tab', - template: "
\n
{{tabTitle}}
\n \n
\n
\n \n
\n", + template: "
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n", styles: [".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display: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}}"] }] } ]; @@ -3308,7 +3585,7 @@ class TabsComponent { TabsComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tabs', - template: "
\n \n
\n", + template: "
\r\n \r\n
\r\n", styles: [".gd-tabs{display:flex}"] }] } ]; @@ -3631,7 +3908,7 @@ class ColorPickerComponent { ColorPickerComponent.decorators = [ { type: Component, args: [{ selector: 'gd-color-picker', - template: "
\n
\n
\n
\n
\n", + template: "
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:flex;flex-wrap:wrap;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"] }] } ]; @@ -4120,7 +4397,7 @@ class SuccessModalComponent { SuccessModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-success-modal', - template: "\n
\n
\n \n \n
\n
\n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display: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%)}}"] }] } ]; @@ -4318,7 +4595,7 @@ class LoadingMaskComponent { LoadingMaskComponent.decorators = [ { type: Component, args: [{ selector: 'gd-loading-mask', - template: "
\n
\n  Loading... Please wait.\n
\n
\n", + template: "
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n", styles: [".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}"] }] } ]; @@ -4589,7 +4866,7 @@ class LeftSideBarComponent { LeftSideBarComponent.decorators = [ { type: Component, args: [{ selector: 'gd-left-side-bar', - template: "
\n
\n
 Loading...\n
\n
\n \n
\n", + template: "
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n", styles: [".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;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%}}"] }] } ]; @@ -4915,7 +5192,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}"] }] } ]; @@ -4971,7 +5248,8 @@ const providers = [ConfigService, LoadingMaskService, TabActivatorService, AddDynamicComponentService, - HostingDynamicComponentService]; + HostingDynamicComponentService, + ExcelPageService]; class CommonComponentsModule { constructor() { library.add(fas, far); @@ -4989,7 +5267,9 @@ CommonComponentsModule.decorators = [ ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, @@ -5033,7 +5313,9 @@ CommonComponentsModule.decorators = [ ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeResourceHtmlPipe, SanitizeStylePipe, HighlightSearchPipe, @@ -5065,7 +5347,9 @@ CommonComponentsModule.decorators = [ LeftSideBarComponent, TooltipDirective, HostDynamicDirective, - ResizingComponent + ResizingComponent, + EditorDirective, + FormattingDirective ], providers: providers },] } @@ -5073,5 +5357,5 @@ CommonComponentsModule.decorators = [ /** @nocollapse */ CommonComponentsModule.ctorParameters = () => []; -export { AddDynamicComponentService, Api, BackFormattingService, BrowseFilesModalComponent, ButtonComponent, ColorPickerComponent, CommonComponentsModule, CommonModals, ConfigService, 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, 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, TooltipComponent, TopToolbarComponent, UploadFileZoneComponent, UploadFilesService, Utils, ViewportService, WindowService, ZoomDirective, ZoomService, TabsComponent as ɵa, TooltipDirective as ɵb, ResizingComponent as ɵc }; +export { AddDynamicComponentService, Api, BackFormattingService, BrowseFilesModalComponent, ButtonComponent, ColorPickerComponent, CommonComponentsModule, CommonModals, ConfigService, DisabledCursorDirective, DndDirective, DocumentComponent, DropDownComponent, DropDownItemComponent, DropDownItemsComponent, DropDownToggleComponent, EditHtmlService, EditorDirective, ErrorInterceptorService, ErrorModalComponent, ExcelDocumentComponent, ExcelPageComponent, ExcelPageService, ExceptionMessageService, FileCredentials, FileDescription, FileModel, FileService, FileUtil, Formatting, FormattingDirective, FormattingService, HighlightSearchPipe, HostDynamicDirective, HostingDynamicComponentService, HttpError, InitStateComponent, LeftSideBarComponent, LoadingMaskComponent, LoadingMaskInterceptorService, LoadingMaskService, LogoComponent, 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, TooltipComponent, TopToolbarComponent, UploadFileZoneComponent, UploadFilesService, Utils, ViewportService, WindowService, ZoomDirective, ZoomService, TabsComponent as ɵa, TooltipDirective as ɵb, ResizingComponent as ɵc }; //# 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 cc8549047..f6f2b252d 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/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\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 visibility = 'hidden';\n\n constructor() {\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 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\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","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}\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\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 are commented as a part of possible solution\n // for hiding one select after opening another one\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 {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';\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\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 ],\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 ],\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-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/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/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\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 visibility = 'hidden';\r\n\r\n constructor() {\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 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\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","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}\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\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 {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\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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 this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n super(_elementRef, zoomService, windowService);\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this._navigateService.navigate.subscribe(\r\n value => {\r\n this.selectSheet(value);\r\n });\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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 {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 are commented as a part of possible solution\r\n // for hiding one select after opening another one\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 {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 {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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-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 {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 {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 ],\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 EditorDirective,\r\n FormattingDirective\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 6e0fed657..4e834f7e3 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, Input, Output, EventEmitter, 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, ɵɵdefineInjectable, ɵɵinject, ViewChildren, Pipe, Directive, HostBinding, HostListener, 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,7 +23,7 @@ var TopToolbarComponent = /** @class */ (function () { TopToolbarComponent.decorators = [ { type: Component, args: [{ selector: 'gd-top-toolbar', - template: "
\n
\n \n
\n
\n", + template: "
\r\n
\r\n \r\n
\r\n
\r\n", styles: [".top-toolbar{width:100%;height:60px;z-index:999;display: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}}"] }] } ]; @@ -62,7 +62,7 @@ var SidePanelComponent = /** @class */ (function () { SidePanelComponent.decorators = [ { type: Component, args: [{ selector: 'gd-side-panel', - template: "
\n
\n \n
{{title}}
\n
\n \n
\n
\n
\n \n
\n
\n", + 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}}"] }] } ]; @@ -252,7 +252,7 @@ var ButtonComponent = /** @class */ (function () { ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'gd-button', - template: "
\n \n \n
\n \n
\n
\n", + template: "
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n", styles: [".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:flex;align-items: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}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"] }] } ]; @@ -293,7 +293,7 @@ var LogoComponent = /** @class */ (function () { LogoComponent.decorators = [ { type: Component, args: [{ selector: 'gd-logo', - template: "
\n \n \n
\n\n", + template: "
\r\n \r\n \r\n
\r\n\r\n", styles: [".logo{background-color:#25c2d4;height:60px;display: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}}"] }] } ]; @@ -336,7 +336,7 @@ var TooltipComponent = /** @class */ (function () { TooltipComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tooltip', - template: "\n", + template: "\r\n", styles: [".tooltip{position:absolute;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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}"] }] } ]; @@ -655,7 +655,7 @@ var ModalComponent = /** @class */ (function () { ModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-modal', - template: "
\n
\n
\n
\n\n
\n
×
\n

{{title}}

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

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n", styles: ["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;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%}}"] }] } ]; @@ -1116,7 +1116,7 @@ var BrowseFilesModalComponent = /** @class */ (function () { BrowseFilesModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-browse-files-modal', - template: "\n
\n
\n \n Drop file here to upload\n
\n
\n
\n \n
\n
\n \n \n \n Upload file\n \n \n \n \n \n
{{item.name}}
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
FILE
\n
SIZE
\n
\n
\n
\n
\n
\n
\n \n
\n
..
\n
\n
\n
\n \n
\n
{{file?.name}}
\n
{{getFormatName(file)}}
\n
\n
\n
\n {{getSize(file?.size)}}\n
\n
\n
\n
\n
\n \n  Loading... Please wait.\n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n", styles: [".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display: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)}}"] }] } ]; @@ -1592,7 +1592,7 @@ var DocumentComponent = /** @class */ (function () { DocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-document', - template: "
Please wait...
\n
\n
\n
\n \n
\n
\n \n
\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n", styles: [":host{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}}"] }] } ]; @@ -1610,6 +1610,490 @@ var DocumentComponent = /** @class */ (function () { return DocumentComponent; }()); +/** + * @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 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 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: Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + NavigateService.ctorParameters = function () { return [ + { type: PagePreloadService } + ]; }; + /** @nocollapse */ NavigateService.ngInjectableDef = ɵɵdefineInjectable({ factory: function NavigateService_Factory() { return new NavigateService(ɵɵinject(PagePreloadService)); }, token: NavigateService, providedIn: "root" }); + return NavigateService; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ExcelPageService = /** @class */ (function () { + function ExcelPageService() { + } + /** + * @param {?} data + * @return {?} + */ + ExcelPageService.prototype.getUpdatedPage = /** + * @param {?} data + * @return {?} + */ + function (data) { + /** @type {?} */ + var doc = new DOMParser().parseFromString(data, "text/html"); + /** @type {?} */ + var table = doc.querySelector('table'); + /** @type {?} */ + var numCellsInFirstRow = 0; + /** @type {?} */ + var cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td'); + cellsFromFirstRow.forEach((/** + * @param {?} elm + * @return {?} + */ + function (elm) { + numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1; + })); + /** @type {?} */ + var newTable = this.createHeader(numCellsInFirstRow, table); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + var resultData = new XMLSerializer().serializeToString(doc) + // work-around for FF which is adds a0 namespace during serialization + ; + // work-around for FF which is adds a0 namespace during serialization + return resultData.replace(/a0:/g, "").replace(/:a0/g, ""); + }; + /** + * @param {?} data + * @return {?} + */ + ExcelPageService.prototype.getPageWithoutHeader = /** + * @param {?} data + * @return {?} + */ + function (data) { + /** @type {?} */ + var doc = new DOMParser().parseFromString(data, "text/html"); + doc.querySelector('colgroup').remove(); + /** @type {?} */ + var newTable = doc.querySelector('table'); + newTable.deleteRow(0); + newTable.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + function (row) { + row.deleteCell(0); + })); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + var resultData = new XMLSerializer().serializeToString(doc); + return resultData; + }; + /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + ExcelPageService.prototype.createHeader = /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + function (numCols, table) { + /** @type {?} */ + var header = document.createElement('thead'); + header.append(document.createElement('tr')); + for (var i = 0; i < numCols; ++i) { + /** @type {?} */ + var th = document.createElement('th'); + th.innerText = this.colName(i); + th.setAttribute("contenteditable", "false"); + header.querySelector("tr").append(th); + } + /** @type {?} */ + var colgroup = table.querySelector('colgroup'); + /** @type {?} */ + var col = document.createElement('col'); + col.width = '80px'; + colgroup.prepend(col); + table.prepend(header); + /** @type {?} */ + var cnt = 0; + table.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + function (row) { + /** @type {?} */ + var div = document.createElement('div'); + if (cnt !== 0) { + /** @type {?} */ + var td = document.createElement('td'); + td.className = "excel"; + td.append(div); + div.innerText = cnt.toString(); + div.setAttribute("contenteditable", "false"); + row.prepend(td); + } + else { + /** @type {?} */ + var th = document.createElement('th'); + th.append(div); + div.setAttribute("contenteditable", "false"); + row.prepend(th); + } + cnt++; + })); + return table; + }; + /** + * @param {?} n + * @return {?} + */ + ExcelPageService.prototype.colName = /** + * @param {?} n + * @return {?} + */ + function (n) { + /** @type {?} */ + var ordA = 'a'.charCodeAt(0); + /** @type {?} */ + var ordZ = 'z'.charCodeAt(0); + /** @type {?} */ + var len = ordZ - ordA + 1; + /** @type {?} */ + var s = ""; + while (n >= 0) { + s = String.fromCharCode(n % len + ordA) + s; + n = Math.floor(n / len) - 1; + } + return s; + }; + ExcelPageService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + ExcelPageService.ctorParameters = function () { return []; }; + /** @nocollapse */ ExcelPageService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ExcelPageService_Factory() { return new ExcelPageService(); }, token: ExcelPageService, providedIn: "root" }); + return ExcelPageService; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ExcelPageComponent = /** @class */ (function () { + function ExcelPageComponent(_excelPageService) { + this._excelPageService = _excelPageService; + } + /** + * @return {?} + */ + ExcelPageComponent.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 {?} + */ + ExcelPageComponent.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; + } + this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null; + }; + ExcelPageComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{border:1px solid #e7e7e7!important;vertical-align:middle!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + }] } + ]; + /** @nocollapse */ + ExcelPageComponent.ctorParameters = function () { return [ + { type: ExcelPageService } + ]; }; + ExcelPageComponent.propDecorators = { + angle: [{ type: Input }], + width: [{ type: Input }], + height: [{ type: Input }], + number: [{ type: Input }], + data: [{ type: Input }], + isHtml: [{ type: Input }], + editable: [{ type: Input }] + }; + return ExcelPageComponent; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ExcelDocumentComponent = /** @class */ (function (_super) { + __extends(ExcelDocumentComponent, _super); + function ExcelDocumentComponent(_elementRef, zoomService, windowService, _navigateService) { + var _this = _super.call(this, _elementRef, zoomService, windowService) || this; + _this._navigateService = _navigateService; + _this.panzoom = null; + return _this; + } + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.currentPageNo = 1; + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this.refreshExcelDocHeight(); + this.pages.changes.subscribe((/** + * @return {?} + */ + function () { + _this.refreshExcelDocHeight(); + })); + this._navigateService.navigate.subscribe((/** + * @param {?} value + * @return {?} + */ + function (value) { + _this.selectSheet(value); + })); + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.refreshExcelDocHeight = /** + * @return {?} + */ + function () { + // For current iteration we'll change actual height of .document + this.doc = this._elementRef.nativeElement.children.item(0); + this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + // magic number 37 is the height of the bottom-bar with navigation between pages + this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; + }; + /** + * @param {?} number + * @return {?} + */ + ExcelDocumentComponent.prototype.selectSheet = /** + * @param {?} number + * @return {?} + */ + function (number) { + this.currentPageNo = number; + }; + ExcelDocumentComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-document', + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + }] } + ]; + /** @nocollapse */ + ExcelDocumentComponent.ctorParameters = function () { return [ + { type: ElementRef }, + { type: ZoomService }, + { type: WindowService }, + { type: NavigateService } + ]; }; + ExcelDocumentComponent.propDecorators = { + pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }] + }; + return ExcelDocumentComponent; +}(DocumentComponent)); + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1652,7 +2136,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}"] }] } ]; @@ -1827,7 +2311,7 @@ var UploadFileZoneComponent = /** @class */ (function () { UploadFileZoneComponent.decorators = [ { type: Component, args: [{ selector: 'gd-upload-file-zone', - template: "
\n
\n \n
\n

Drag & Drop your files here

\n

OR

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

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n", styles: [".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display: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}"] }] } ]; @@ -1965,179 +2449,6 @@ var DndDirective = /** @class */ (function () { 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 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 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: Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - NavigateService.ctorParameters = function () { return [ - { type: PagePreloadService } - ]; }; - /** @nocollapse */ NavigateService.ngInjectableDef = ɵɵdefineInjectable({ factory: function NavigateService_Factory() { return new NavigateService(ɵɵinject(PagePreloadService)); }, token: NavigateService, providedIn: "root" }); - return NavigateService; -}()); - /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2774,7 +3085,7 @@ 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", + 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}"] }] } ]; @@ -2985,7 +3296,7 @@ var InitStateComponent = /** @class */ (function () { InitStateComponent.decorators = [ { type: Component, args: [{ selector: 'gd-init-state', - template: "
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\n", + template: "
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n", styles: [".wrapper{color:#959da5;background-color:#e7e7e7;display: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}"] }] } ]; @@ -3274,7 +3585,7 @@ var ErrorModalComponent = /** @class */ (function () { ErrorModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-error-modal', - template: "\n
\n \n
\n
Something went wrong
\n
{{message ? message : 'Server is not available'}}
\n
\n
\n
\n", + template: "\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : 'Server is not available'}}
\r\n
\r\n
\r\n
\r\n", styles: [".gd-modal-error{display: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}"] }] } ]; @@ -3394,7 +3705,7 @@ var PasswordRequiredComponent = /** @class */ (function () { PasswordRequiredComponent.decorators = [ { type: Component, args: [{ selector: 'gd-password-required', - template: "\n
\n
\n \n \n {{message}}\n \n Open\n \n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n", styles: ["#gd-password-section{width: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}}"] }] } ]; @@ -3657,7 +3968,7 @@ var SearchComponent = /** @class */ (function () { SearchComponent.decorators = [ { type: Component, args: [{ selector: 'gd-search', - template: "
\n \n
{{current}} of {{total}}
\n \n \n \n \n \n \n
\n", + template: "
\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;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%}}"] }] } ]; @@ -3889,7 +4200,7 @@ var TabbedToolbarsComponent = /** @class */ (function () { TabbedToolbarsComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tabbed-toolbars', - template: "
\n \n \n
\n", + template: "
\r\n \r\n \r\n
\r\n", styles: [".top-panel{background:#3e4e5a;display: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}}"] }] } ]; @@ -3995,7 +4306,7 @@ var TabComponent = /** @class */ (function () { TabComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tab', - template: "
\n
{{tabTitle}}
\n \n
\n
\n \n
\n", + template: "
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n", styles: [".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display: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}}"] }] } ]; @@ -4024,7 +4335,7 @@ var TabsComponent = /** @class */ (function () { TabsComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tabs', - template: "
\n \n
\n", + template: "
\r\n \r\n
\r\n", styles: [".gd-tabs{display:flex}"] }] } ]; @@ -4461,7 +4772,7 @@ var ColorPickerComponent = /** @class */ (function () { ColorPickerComponent.decorators = [ { type: Component, args: [{ selector: 'gd-color-picker', - template: "
\n
\n
\n
\n
\n", + template: "
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:flex;flex-wrap:wrap;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"] }] } ]; @@ -5051,7 +5362,7 @@ var SuccessModalComponent = /** @class */ (function () { SuccessModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-success-modal', - template: "\n
\n
\n \n \n
\n
\n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display: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%)}}"] }] } ]; @@ -5285,7 +5596,7 @@ var LoadingMaskComponent = /** @class */ (function () { LoadingMaskComponent.decorators = [ { type: Component, args: [{ selector: 'gd-loading-mask', - template: "
\n
\n  Loading... Please wait.\n
\n
\n", + template: "
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n", styles: [".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}"] }] } ]; @@ -5590,7 +5901,7 @@ var LeftSideBarComponent = /** @class */ (function () { LeftSideBarComponent.decorators = [ { type: Component, args: [{ selector: 'gd-left-side-bar', - template: "
\n
\n
 Loading...\n
\n
\n \n
\n", + template: "
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n", styles: [".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;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%}}"] }] } ]; @@ -5984,7 +6295,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}"] }] } ]; @@ -6042,7 +6353,8 @@ var providers = [ConfigService, LoadingMaskService, TabActivatorService, AddDynamicComponentService, - HostingDynamicComponentService]; + HostingDynamicComponentService, + ExcelPageService]; var CommonComponentsModule = /** @class */ (function () { function CommonComponentsModule() { library.add(fas, far); @@ -6059,7 +6371,9 @@ var CommonComponentsModule = /** @class */ (function () { ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, @@ -6103,7 +6417,9 @@ var CommonComponentsModule = /** @class */ (function () { ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeResourceHtmlPipe, SanitizeStylePipe, HighlightSearchPipe, @@ -6135,7 +6451,9 @@ var CommonComponentsModule = /** @class */ (function () { LeftSideBarComponent, TooltipDirective, HostDynamicDirective, - ResizingComponent + ResizingComponent, + EditorDirective, + FormattingDirective ], providers: providers },] } @@ -6145,5 +6463,5 @@ var CommonComponentsModule = /** @class */ (function () { return CommonComponentsModule; }()); -export { AddDynamicComponentService, Api, BackFormattingService, BrowseFilesModalComponent, ButtonComponent, ColorPickerComponent, CommonComponentsModule, CommonModals, ConfigService, 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, 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, TooltipComponent, TopToolbarComponent, UploadFileZoneComponent, UploadFilesService, Utils, ViewportService, WindowService, ZoomDirective, ZoomService, TabsComponent as ɵa, TooltipDirective as ɵb, ResizingComponent as ɵc }; +export { AddDynamicComponentService, Api, BackFormattingService, BrowseFilesModalComponent, ButtonComponent, ColorPickerComponent, CommonComponentsModule, CommonModals, ConfigService, DisabledCursorDirective, DndDirective, DocumentComponent, DropDownComponent, DropDownItemComponent, DropDownItemsComponent, DropDownToggleComponent, EditHtmlService, EditorDirective, ErrorInterceptorService, ErrorModalComponent, ExcelDocumentComponent, ExcelPageComponent, ExcelPageService, ExceptionMessageService, FileCredentials, FileDescription, FileModel, FileService, FileUtil, Formatting, FormattingDirective, FormattingService, HighlightSearchPipe, HostDynamicDirective, HostingDynamicComponentService, HttpError, InitStateComponent, LeftSideBarComponent, LoadingMaskComponent, LoadingMaskInterceptorService, LoadingMaskService, LogoComponent, 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, TooltipComponent, TopToolbarComponent, UploadFileZoneComponent, UploadFilesService, Utils, ViewportService, WindowService, ZoomDirective, ZoomService, TabsComponent as ɵa, TooltipDirective as ɵb, ResizingComponent as ɵc }; //# 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 990afadf7..aa802df62 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/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\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 visibility = 'hidden';\n\n constructor() {\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 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\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","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}\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\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 are commented as a part of possible solution\n // for hiding one select after opening another one\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 {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';\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\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 ],\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 ],\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-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/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/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\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 visibility = 'hidden';\r\n\r\n constructor() {\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 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\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","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}\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\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 {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\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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 this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n super(_elementRef, zoomService, windowService);\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this._navigateService.navigate.subscribe(\r\n value => {\r\n this.selectSheet(value);\r\n });\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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 {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 are commented as a part of possible solution\r\n // for hiding one select after opening another one\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 {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 {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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-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 {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 {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 ],\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 EditorDirective,\r\n FormattingDirective\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 fbf5c10b8..156709143 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":102,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":103,"character":12},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":103,"character":26},{"__symbolic":"reference","module":"ng-click-outside","name":"ClickOutsideModule","line":103,"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"}],"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"}],"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"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Api":{"__symbolic":"class","members":{},"statics":{"VIEWER_APP":"/viewer","SIGNATURE_APP":"/signature","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","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":34,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":39,"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":46,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__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: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":"
\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:flex;align-items: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}@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}}]}],"__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{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":"\n
\n \n
\n
Something went wrong
\n
{{message ? message : 'Server is not available'}}
\n
\n
\n
\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":"
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\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":"
\n \n \n
\n\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":"
\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%;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":"
\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: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":"
\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;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":"
\n
\n {{showSelected?.name}}\n
\n \n
\n
\n
{{option.name}}
\n
\n
\n
\n
\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":"\n","styles":[".tooltip{position:absolute;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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}}]}],"__ctor__":[{"__symbolic":"constructor"}],"show":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"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: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":"
\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;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":"
\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: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":"
\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: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":"
\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%;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: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":"
\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: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":"
\n \n \n
\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":"
\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;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"}]}},"ɵ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: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"}]}}},"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","ɵa":"./lib/tabs/tabs.component","ɵb":"./lib/tooltip.directive","ɵc":"./lib/resizing/resizing.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":106,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":107,"character":12},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":107,"character":26},{"__symbolic":"reference","module":"ng-click-outside","name":"ClickOutsideModule","line":107,"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":"ExcelDocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"ExcelPageComponent"},{"__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"}],"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":"ExcelDocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"ExcelPageComponent"},{"__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":"EditorDirective"},{"__symbolic":"reference","name":"FormattingDirective"}],"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":"ExcelPageService"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Api":{"__symbolic":"class","members":{},"statics":{"VIEWER_APP":"/viewer","SIGNATURE_APP":"/signature","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","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":34,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":39,"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":46,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__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;align-items: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}@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}}]}],"__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"}]}},"ExcelDocumentComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"DocumentComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"gd-excel-document","template":"
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n","styles":[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"pages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":13,"character":3},"arguments":[{"__symbolic":"reference","name":"ExcelPageComponent"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":18,"character":38,"context":{"typeName":"HTMLElement"},"module":"./lib/excel-document/excel-document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"refreshExcelDocHeight":[{"__symbolic":"method"}],"selectSheet":[{"__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"}]}},"ExcelPageComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{border:1px solid #e7e7e7!important;vertical-align:middle!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"]}]}],"members":{"angle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"number":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"isHtml":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"editable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExcelPageService"}]}],"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;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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}}]}],"__ctor__":[{"__symbolic":"constructor"}],"show":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"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"}]}},"ExcelPageService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getUpdatedPage":[{"__symbolic":"method"}],"getPageWithoutHeader":[{"__symbolic":"method"}],"createHeader":[{"__symbolic":"method"}],"colName":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabs","template":"
\r\n \r\n
\r\n","styles":[".gd-tabs{display:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdTooltip]"}]}],"members":{"showToolTip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"onHovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["mouseenter"]}]}],"onUnhovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":17,"character":3},"arguments":["mouseleave"]}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"gd-resizing","template":"
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n","styles":[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],"members":{"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"se":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"ne":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"sw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"nw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"pageWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"pageHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"offsetY":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"offsetTop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"offsetLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"release":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"catchUp":[{"__symbolic":"method"}],"resize":[{"__symbolic":"method"}],"setOffsets":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"getElementId":[{"__symbolic":"method"}]}}},"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","ExcelDocumentComponent":"./lib/excel-document/excel-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","ExcelPageComponent":"./lib/excel-page/excel-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","ExcelPageService":"./lib/excel-page.service","ɵa":"./lib/tabs/tabs.component","ɵb":"./lib/tooltip.directive","ɵc":"./lib/resizing/resizing.component"},"importAs":"@groupdocs.examples.angular/common-components"} \ No newline at end of file diff --git a/dist/libs/common-components/index.d.ts b/dist/libs/common-components/index.d.ts index 8eeac5e80..1d7c78e8e 100644 --- a/dist/libs/common-components/index.d.ts +++ b/dist/libs/common-components/index.d.ts @@ -18,11 +18,13 @@ export * from './lib/button/button.component'; export * from './lib/disabled-cursor.directive'; export * from './lib/dnd.directive'; export * from './lib/document/document.component'; +export * from './lib/excel-document/excel-document.component'; export * from './lib/error-modal/error-modal.component'; export * from './lib/init-state/init-state.component'; export * from './lib/logo/logo.component'; export * from './lib/modal/modal.component'; export * from './lib/page/page.component'; +export * from './lib/excel-page/excel-page.component'; export * from './lib/password-required/password-required.component'; export * from './lib/render-print.directive'; export * from './lib/rotation.directive'; @@ -56,3 +58,4 @@ export * from './lib/left-side-bar/left-side-bar.component'; export * from './lib/add-dynamic-component.service'; export * from './lib/host-dynamic.directive'; export * from './lib/hosting-dynamic-component.service'; +export * from './lib/excel-page.service'; diff --git a/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts b/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts new file mode 100644 index 000000000..d9bb0be8a --- /dev/null +++ b/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts @@ -0,0 +1,17 @@ +import { ElementRef, OnInit, QueryList, AfterViewInit } from '@angular/core'; +import { DocumentComponent } from '../document/document.component'; +import { WindowService } from '../window.service'; +import { NavigateService } from '../navigate.service'; +import { ZoomService } from '../zoom.service'; +import { ExcelPageComponent } from '../excel-page/excel-page.component'; +export declare class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit { + private _navigateService; + pages: QueryList; + currentPageNo: number; + panzoom: any; + constructor(_elementRef: ElementRef, zoomService: ZoomService, windowService: WindowService, _navigateService: NavigateService); + ngOnInit(): void; + ngAfterViewInit(): void; + refreshExcelDocHeight(): void; + selectSheet(number: any): void; +} diff --git a/dist/libs/common-components/lib/excel-page.service.d.ts b/dist/libs/common-components/lib/excel-page.service.d.ts new file mode 100644 index 000000000..8bb25321e --- /dev/null +++ b/dist/libs/common-components/lib/excel-page.service.d.ts @@ -0,0 +1,7 @@ +export declare class ExcelPageService { + constructor(); + getUpdatedPage(data: any): string; + getPageWithoutHeader(data: any): string; + createHeader(numCols: any, table: any): any; + colName(n: any): string; +} diff --git a/dist/libs/common-components/lib/excel-page/excel-page.component.d.ts b/dist/libs/common-components/lib/excel-page/excel-page.component.d.ts new file mode 100644 index 000000000..4f2ffe4a7 --- /dev/null +++ b/dist/libs/common-components/lib/excel-page/excel-page.component.d.ts @@ -0,0 +1,16 @@ +import { OnChanges, OnInit, SimpleChanges } from '@angular/core'; +import { ExcelPageService } from '../excel-page.service'; +export declare class ExcelPageComponent implements OnInit, OnChanges { + private _excelPageService; + angle: number; + width: number; + height: number; + number: number; + data: string; + isHtml: boolean; + editable: boolean; + imgData: string; + constructor(_excelPageService: ExcelPageService); + ngOnInit(): void; + ngOnChanges(changes: SimpleChanges): void; +} diff --git a/libs/common-components/src/index.ts b/libs/common-components/src/index.ts index 11f696cc1..fbd956527 100644 --- a/libs/common-components/src/index.ts +++ b/libs/common-components/src/index.ts @@ -18,11 +18,13 @@ export * from './lib/button/button.component'; export * from './lib/disabled-cursor.directive'; export * from './lib/dnd.directive'; export * from './lib/document/document.component'; +export * from './lib/excel-document/excel-document.component'; export * from './lib/error-modal/error-modal.component'; export * from './lib/init-state/init-state.component'; export * from './lib/logo/logo.component'; export * from './lib/modal/modal.component'; export * from './lib/page/page.component'; +export * from './lib/excel-page/excel-page.component'; export * from './lib/password-required/password-required.component'; export * from './lib/render-print.directive'; export * from './lib/rotation.directive'; @@ -56,4 +58,5 @@ export * from './lib/left-side-bar/left-side-bar.component' export * from './lib/add-dynamic-component.service' export * from './lib/host-dynamic.directive' export * from './lib/hosting-dynamic-component.service' +export * from './lib/excel-page.service' diff --git a/libs/common-components/src/lib/common-components.module.ts b/libs/common-components/src/lib/common-components.module.ts index b0ce5c2fa..206f182a8 100644 --- a/libs/common-components/src/lib/common-components.module.ts +++ b/libs/common-components/src/lib/common-components.module.ts @@ -15,7 +15,9 @@ import {ModalComponent} from './modal/modal.component'; import {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component'; import {FileModel, FileService, FileUtil, Utils} from "./file.service"; import {DocumentComponent} from './document/document.component'; +import {ExcelDocumentComponent} from './excel-document/excel-document.component'; import {PageComponent} from './page/page.component'; +import {ExcelPageComponent} from './excel-page/excel-page.component'; import {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from "./pipes"; import {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component'; import {UploadFilesService} from "./upload-files.service"; @@ -68,6 +70,7 @@ import {AddDynamicComponentService} from "./add-dynamic-component.service"; import {HostDynamicDirective} from './host-dynamic.directive'; import {HostingDynamicComponentService} from "./hosting-dynamic-component.service"; import {ResizingComponent} from './resizing/resizing.component'; +import {ExcelPageService} from "./excel-page.service"; const providers = [ConfigService, Api, @@ -98,7 +101,8 @@ const providers = [ConfigService, LoadingMaskService, TabActivatorService, AddDynamicComponentService, - HostingDynamicComponentService]; + HostingDynamicComponentService, + ExcelPageService]; @NgModule({ imports: [CommonModule, FontAwesomeModule, ClickOutsideModule], @@ -111,7 +115,9 @@ const providers = [ConfigService, ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, @@ -155,7 +161,9 @@ const providers = [ConfigService, ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeResourceHtmlPipe, SanitizeStylePipe, HighlightSearchPipe, diff --git a/libs/editor/src/lib/excel-document/excel-document.component.html b/libs/common-components/src/lib/excel-document/excel-document.component.html similarity index 100% rename from libs/editor/src/lib/excel-document/excel-document.component.html rename to libs/common-components/src/lib/excel-document/excel-document.component.html diff --git a/libs/editor/src/lib/excel-document/excel-document.component.less b/libs/common-components/src/lib/excel-document/excel-document.component.less similarity index 100% rename from libs/editor/src/lib/excel-document/excel-document.component.less rename to libs/common-components/src/lib/excel-document/excel-document.component.less diff --git a/libs/editor/src/lib/excel-document/excel-document.component.spec.ts b/libs/common-components/src/lib/excel-document/excel-document.component.spec.ts similarity index 100% rename from libs/editor/src/lib/excel-document/excel-document.component.spec.ts rename to libs/common-components/src/lib/excel-document/excel-document.component.spec.ts diff --git a/libs/editor/src/lib/excel-document/excel-document.component.ts b/libs/common-components/src/lib/excel-document/excel-document.component.ts similarity index 87% rename from libs/editor/src/lib/excel-document/excel-document.component.ts rename to libs/common-components/src/lib/excel-document/excel-document.component.ts index 529da0e89..3aa46bd97 100644 --- a/libs/editor/src/lib/excel-document/excel-document.component.ts +++ b/libs/common-components/src/lib/excel-document/excel-document.component.ts @@ -1,6 +1,8 @@ import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core'; -import { DocumentComponent, WindowService, NavigateService } from '@groupdocs.examples.angular/common-components'; -import { ZoomService } from '@groupdocs.examples.angular/common-components'; +import { DocumentComponent } from '../document/document.component'; +import { WindowService } from '../window.service'; +import { NavigateService } from '../navigate.service'; +import { ZoomService } from '../zoom.service'; import { ExcelPageComponent } from '../excel-page/excel-page.component'; @Component({ diff --git a/libs/editor/src/lib/excel-page.service.spec.ts b/libs/common-components/src/lib/excel-page.service.spec.ts similarity index 100% rename from libs/editor/src/lib/excel-page.service.spec.ts rename to libs/common-components/src/lib/excel-page.service.spec.ts diff --git a/libs/editor/src/lib/excel-page.service.ts b/libs/common-components/src/lib/excel-page.service.ts similarity index 100% rename from libs/editor/src/lib/excel-page.service.ts rename to libs/common-components/src/lib/excel-page.service.ts diff --git a/libs/editor/src/lib/excel-page/excel-page.component.html b/libs/common-components/src/lib/excel-page/excel-page.component.html similarity index 100% rename from libs/editor/src/lib/excel-page/excel-page.component.html rename to libs/common-components/src/lib/excel-page/excel-page.component.html diff --git a/libs/editor/src/lib/excel-page/excel-page.component.less b/libs/common-components/src/lib/excel-page/excel-page.component.less similarity index 100% rename from libs/editor/src/lib/excel-page/excel-page.component.less rename to libs/common-components/src/lib/excel-page/excel-page.component.less diff --git a/libs/editor/src/lib/excel-page/excel-page.component.spec.ts b/libs/common-components/src/lib/excel-page/excel-page.component.spec.ts similarity index 100% rename from libs/editor/src/lib/excel-page/excel-page.component.spec.ts rename to libs/common-components/src/lib/excel-page/excel-page.component.spec.ts diff --git a/libs/editor/src/lib/excel-page/excel-page.component.ts b/libs/common-components/src/lib/excel-page/excel-page.component.ts similarity index 100% rename from libs/editor/src/lib/excel-page/excel-page.component.ts rename to libs/common-components/src/lib/excel-page/excel-page.component.ts diff --git a/libs/editor/src/lib/editor-app.component.ts b/libs/editor/src/lib/editor-app.component.ts index 1c3833d25..1db0ff510 100644 --- a/libs/editor/src/lib/editor-app.component.ts +++ b/libs/editor/src/lib/editor-app.component.ts @@ -18,12 +18,12 @@ import { EditHtmlService, RenderPrintService, WindowService, - LoadingMaskService, Option, FileUtil + LoadingMaskService, Option, FileUtil, + ExcelPageService } from '@groupdocs.examples.angular/common-components'; import {EditorConfig} from "./editor-config"; import {EditorConfigService} from "./editor-config.service"; import * as jquery from 'jquery'; -import { ExcelPageService } from './excel-page.service'; const $ = jquery; @Component({ @@ -522,7 +522,7 @@ export class EditorAppComponent implements OnInit, AfterViewInit { saveFile(credentials: FileCredentials) { if (!this.file || !this.file.pages) return; - let updatedTextBackup = this._excelPageService.getPageWithoutHeader(this.textBackup); + const updatedTextBackup = this._excelPageService.getPageWithoutHeader(this.textBackup); const saveFile = new SaveFile(credentials.guid, credentials.password, updatedTextBackup); this._editorService.save(saveFile).subscribe((loadFile: FileDescription) => { this.loadFile(loadFile); diff --git a/libs/editor/src/lib/editor.module.ts b/libs/editor/src/lib/editor.module.ts index 70a40db5f..37a9139aa 100644 --- a/libs/editor/src/lib/editor.module.ts +++ b/libs/editor/src/lib/editor.module.ts @@ -16,8 +16,6 @@ import { LoadingMaskInterceptorService, Api } from '@groupdocs.examples.angular/common-components'; import {EditorConfigService} from "./editor-config.service"; -import {ExcelDocumentComponent} from './excel-document/excel-document.component'; -import {ExcelPageComponent} from './excel-page/excel-page.component'; export function initializeApp(editorConfigService: EditorConfigService) { const result = () => editorConfigService.load(); @@ -32,9 +30,7 @@ export function setupLoadingInterceptor(service: LoadingMaskService) { @NgModule({ declarations: [EditorAppComponent, - CreateDocumentModalComponent, - ExcelDocumentComponent, - ExcelPageComponent + CreateDocumentModalComponent ], imports: [ BrowserModule, @@ -45,9 +41,7 @@ export function setupLoadingInterceptor(service: LoadingMaskService) { exports: [ CreateDocumentModalComponent, EditorAppComponent, - CommonComponentsModule, - ExcelDocumentComponent, - ExcelPageComponent + CommonComponentsModule ], providers: [ EditorService, diff --git a/libs/viewer/src/lib/excel-document/excel-document.component.html b/libs/viewer/src/lib/excel-document/excel-document.component.html deleted file mode 100644 index 32bec8d29..000000000 --- a/libs/viewer/src/lib/excel-document/excel-document.component.html +++ /dev/null @@ -1,17 +0,0 @@ -
Please wait...
-
-
-
- -
-
-
-
-
-
- Sheet {{page.number}} -
-
-
diff --git a/libs/viewer/src/lib/excel-document/excel-document.component.less b/libs/viewer/src/lib/excel-document/excel-document.component.less deleted file mode 100644 index 77e55a1ca..000000000 --- a/libs/viewer/src/lib/excel-document/excel-document.component.less +++ /dev/null @@ -1,95 +0,0 @@ -@import "./../../../../common-components/src/styles/variables.less"; - -:host { - overflow: scroll; - width: 100%; - background-color: @mercury; -} - -.document { - width: 100%; - transition: all 0.4s; - padding: 0px; - margin: 0px; - position: relative; -} - -.sheets { - background-color: #fff; - display: flex; - border-top: 1px solid @mercury; - position: fixed; - bottom: 17px; - right: 17px; - width: 100%; - /deep/ gd-button { - &.active { - .text { - background-color: #272727; - border-radius: 10px; - color: #eee; - } - } - .text { - padding: 1px 12px; - color: #000; - } - fa-icon { - display: none; - } - } -} - -.sheets-wrapper { - margin-left: 29px; - display: flex; -} - -.page { - position: relative; - display: inline-block; - background-color: #ffffff; - transition: all 0.3s; -} - -.wait { - position: absolute; - top: 55px; - left: Calc(50% - 20px); -} - -.panzoom { - transform: none; - backface-visibility: hidden; - transform-origin: 50% 50% 0px; - display: flex; - flex-wrap: wrap; -} - -.gd-zoomed { - margin: 10px 98px; -} - -.highlights{ - position: absolute; - top: 0px; - left: 0px; - bottom: 0px; - right: 0px; -} - -@media @phone-down { - .document { - overflow-x: auto !important; - } - - .panzoom { - flex-direction: column; - } - - .page { - min-width: unset !important; - min-height: unset !important; - margin: 5px 0px; - } -} diff --git a/libs/viewer/src/lib/excel-document/excel-document.component.spec.ts b/libs/viewer/src/lib/excel-document/excel-document.component.spec.ts deleted file mode 100644 index 923cc22dc..000000000 --- a/libs/viewer/src/lib/excel-document/excel-document.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ExcelDocumentComponent } from './excel-document.component'; - -describe('ExcelDocumentComponent', () => { - let component: ExcelDocumentComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ ExcelDocumentComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(ExcelDocumentComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/libs/viewer/src/lib/excel-document/excel-document.component.ts b/libs/viewer/src/lib/excel-document/excel-document.component.ts deleted file mode 100644 index 529da0e89..000000000 --- a/libs/viewer/src/lib/excel-document/excel-document.component.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core'; -import { DocumentComponent, WindowService, NavigateService } from '@groupdocs.examples.angular/common-components'; -import { ZoomService } from '@groupdocs.examples.angular/common-components'; -import { ExcelPageComponent } from '../excel-page/excel-page.component'; - -@Component({ - selector: 'gd-excel-document', - templateUrl: './excel-document.component.html', - styleUrls: ['./excel-document.component.less'], -}) -export class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit { - @ViewChildren(ExcelPageComponent) pages: QueryList; - - currentPageNo: number; - panzoom = null; - - constructor(_elementRef: ElementRef, - zoomService: ZoomService, - windowService: WindowService, - private _navigateService: NavigateService) { - super(_elementRef, zoomService, windowService); - } - - ngOnInit(){ - this.currentPageNo = 1; - } - - ngAfterViewInit() { - this.refreshExcelDocHeight(); - this.pages.changes.subscribe(()=>{ - this.refreshExcelDocHeight(); - }); - - this._navigateService.navigate.subscribe( - value => { - this.selectSheet(value); - }); - } - - refreshExcelDocHeight() { - // For current iteration we'll change actual height of .document - this.doc = this._elementRef.nativeElement.children.item(0); - this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); - // magic number 37 is the height of the bottom-bar with navigation between pages - this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; - } - - selectSheet(number){ - this.currentPageNo = number; - } -} diff --git a/libs/viewer/src/lib/excel-page/excel-page.component.html b/libs/viewer/src/lib/excel-page/excel-page.component.html deleted file mode 100644 index 981540675..000000000 --- a/libs/viewer/src/lib/excel-page/excel-page.component.html +++ /dev/null @@ -1,10 +0,0 @@ -
-
- -
- -  Loading... Please wait. -
-
diff --git a/libs/viewer/src/lib/excel-page/excel-page.component.less b/libs/viewer/src/lib/excel-page/excel-page.component.less deleted file mode 100644 index 3fdd8bafb..000000000 --- a/libs/viewer/src/lib/excel-page/excel-page.component.less +++ /dev/null @@ -1,63 +0,0 @@ -@import "../../../../common-components/src/styles/variables"; - -.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: yellow; -} - -/deep/ .gd-highlight-select { - background-color: #ff9b00; -} - -/deep/ th { - color: @regent-gray; - background-color: @wild-sand; - font-weight: unset; - border: 1px solid @mercury !important; - text-transform: uppercase; - font-size: 14px; - overflow: hidden; -} - -/deep/ td { - border: 1px solid @mercury !important; - vertical-align: middle !important; -} - -/deep/ tr td.excel:first-child { - color: @regent-gray; - background-color: @wild-sand; - font-weight: unset; - width: 1%; - text-align: center; - div { - width: 80px; - } -} - -/deep/ tr th.excel:first-child { - background-color: @wild-sand; - width: 1%; - div { - width: 80px; - } -} - -// TODO: remove this after related issue will be fixed -.gd-page-image { - height: 100% !important; - width: 100% !important; -} \ No newline at end of file diff --git a/libs/viewer/src/lib/excel-page/excel-page.component.spec.ts b/libs/viewer/src/lib/excel-page/excel-page.component.spec.ts deleted file mode 100644 index 7c9607a08..000000000 --- a/libs/viewer/src/lib/excel-page/excel-page.component.spec.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ExcelPageComponent } from './excel-page.component'; - -describe('ExcelPageComponent', () => { - let component: ExcelPageComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ ExcelPageComponent ], - schemas: [ - CUSTOM_ELEMENTS_SCHEMA - ], - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(ExcelPageComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/libs/viewer/src/lib/excel-page/excel-page.component.ts b/libs/viewer/src/lib/excel-page/excel-page.component.ts deleted file mode 100644 index aa4aef5eb..000000000 --- a/libs/viewer/src/lib/excel-page/excel-page.component.ts +++ /dev/null @@ -1,42 +0,0 @@ -import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core'; -import { ExcelPageService } from '../excel-page.service'; - -@Component({ - selector: 'gd-excel-page', - templateUrl: './excel-page.component.html', - styleUrls: ['./excel-page.component.less'] -}) -export class ExcelPageComponent implements OnInit, OnChanges { - - @Input() angle: number; - @Input() width: number; - @Input() height: number; - @Input() number: number; - @Input() data: string; - @Input() isHtml: boolean; - @Input() editable: boolean; - imgData: string; - - constructor(private _excelPageService: ExcelPageService) { - } - - ngOnInit() { - const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); - if(isIE && this.number === 0){ - this.editable = false; - } - } - - ngOnChanges(changes: SimpleChanges): void { - // 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; - const dataImagePngBase64 = 'data:image/png;base64,'; - this.imgData = dataImagePngBase64; - if (!this.isHtml) { - this.imgData += this.data; - } - - this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null; - } -} \ No newline at end of file diff --git a/libs/viewer/src/lib/viewer.module.ts b/libs/viewer/src/lib/viewer.module.ts index 75217f4b1..1740fc65f 100644 --- a/libs/viewer/src/lib/viewer.module.ts +++ b/libs/viewer/src/lib/viewer.module.ts @@ -12,8 +12,6 @@ import {ViewerService} from "./viewer.service"; import {ConfigService} from "@groupdocs.examples.angular/common-components"; import {ViewerConfigService} from "./viewer-config.service"; import {ThumbnailsComponent} from './thumbnails/thumbnails.component'; -import {ExcelDocumentComponent} from './excel-document/excel-document.component'; -import {ExcelPageComponent} from './excel-page/excel-page.component'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; export function initializeApp(viewerConfigService: ViewerConfigService) { @@ -30,9 +28,8 @@ export function setupLoadingInterceptor(service: LoadingMaskService) { @NgModule({ declarations: [ ViewerAppComponent, - ThumbnailsComponent, - ExcelDocumentComponent, - ExcelPageComponent], + ThumbnailsComponent + ], imports: [ BrowserModule, CommonComponentsModule, @@ -42,8 +39,6 @@ export function setupLoadingInterceptor(service: LoadingMaskService) { exports : [ ViewerAppComponent, ThumbnailsComponent, - ExcelDocumentComponent, - ExcelPageComponent, CommonComponentsModule ], providers: [ From ca20b0a05d3876cba77a532529b0513789cb9884 Mon Sep 17 00:00:00 2001 From: Egor Date: Thu, 19 Dec 2019 09:40:22 +0300 Subject: [PATCH 03/10] Work-around for adding docx root tags. --- libs/editor/src/lib/editor-app.component.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libs/editor/src/lib/editor-app.component.ts b/libs/editor/src/lib/editor-app.component.ts index 1db0ff510..8bd116a1e 100644 --- a/libs/editor/src/lib/editor-app.component.ts +++ b/libs/editor/src/lib/editor-app.component.ts @@ -522,7 +522,9 @@ export class EditorAppComponent implements OnInit, AfterViewInit { saveFile(credentials: FileCredentials) { if (!this.file || !this.file.pages) return; - const updatedTextBackup = this._excelPageService.getPageWithoutHeader(this.textBackup); + const updatedTextBackup = credentials.guid.includes('xls') ? + this._excelPageService.getPageWithoutHeader(this.textBackup) : + this.getPageWithRootTags(this.textBackup); const saveFile = new SaveFile(credentials.guid, credentials.password, updatedTextBackup); this._editorService.save(saveFile).subscribe((loadFile: FileDescription) => { this.loadFile(loadFile); @@ -531,6 +533,12 @@ export class EditorAppComponent implements OnInit, AfterViewInit { }); } + getPageWithRootTags(data) { + const doc = new DOMParser().parseFromString(data, "text/html"); + const resultData = new XMLSerializer().serializeToString(doc); + return resultData; + } + printFile() { if (this.formatDisabled) return; From 46319056edd43872632989fa3e0aee4dfae1f23c Mon Sep 17 00:00:00 2001 From: Egor Date: Mon, 23 Dec 2019 10:46:39 +0300 Subject: [PATCH 04/10] Another approach for adding root tags. --- libs/editor/src/lib/editor-app.component.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/editor/src/lib/editor-app.component.ts b/libs/editor/src/lib/editor-app.component.ts index 8bd116a1e..f98f558d0 100644 --- a/libs/editor/src/lib/editor-app.component.ts +++ b/libs/editor/src/lib/editor-app.component.ts @@ -534,8 +534,9 @@ export class EditorAppComponent implements OnInit, AfterViewInit { } getPageWithRootTags(data) { - const doc = new DOMParser().parseFromString(data, "text/html"); - const resultData = new XMLSerializer().serializeToString(doc); + let resultData = "" + data + ""; + resultData = resultData.replace('
', '
'); + resultData = resultData.replace('', ''); return resultData; } From 72791ac6b143780672b65e37f728703f72aeb648 Mon Sep 17 00:00:00 2001 From: Egor Date: Wed, 12 Feb 2020 12:28:04 +0300 Subject: [PATCH 05/10] Fixed code that affects viewer. --- ....examples.angular-common-components.umd.js | 12335 ++++++++-------- ...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 +- .../excel-document.component.js | 4 +- .../lib/excel-page/excel-page.component.js | 6 +- .../excel-document.component.js | 4 +- .../lib/excel-page/excel-page.component.js | 6 +- ...docs.examples.angular-common-components.js | 6 +- ....examples.angular-common-components.js.map | 2 +- ...docs.examples.angular-common-components.js | 6 +- ....examples.angular-common-components.js.map | 2 +- ...es.angular-common-components.metadata.json | 2 +- .../excel-document.component.html | 2 +- .../lib/excel-page/excel-page.component.ts | 2 +- 15 files changed, 6352 insertions(+), 6031 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 e7efe504f..c785b97ac 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 @@ -44,6135 +44,6453 @@ }; } - /** - * @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: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 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;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; + /** + * @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; }()); - /** - * @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; }()); - /** - * @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.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:flex;align-items: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}@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 }] - }; - 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.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;align-items: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}@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 }] + }; + return ButtonComponent; }()); - /** - * @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: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; + /** + * @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; }()); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TooltipComponent = /** @class */ (function () { - function TooltipComponent() { - this.visibility = 'hidden'; - } - 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;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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 }], - 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.visibility = 'hidden'; + } + 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;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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 }], + show: [{ type: core.Input }] + }; + return TooltipComponent; }()); - /** - * @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.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.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; - }; - 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.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.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; + }; + 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 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; + /** + * @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; }()); - /** - * @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%;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; + /** + * @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; }()); - /** - * @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; - }; - 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 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; + }; + 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; }()); - /** - * @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: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; + /** + * @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; }()); - /** - * @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; }()); - /** - * @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{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; + /** + * @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; }()); - /** - * @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: "
\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 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 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; + /** + * @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; }()); - 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 ExcelPageService = /** @class */ (function () { + function ExcelPageService() { + } + /** + * @param {?} data + * @return {?} + */ + ExcelPageService.prototype.getUpdatedPage = /** + * @param {?} data + * @return {?} + */ + function (data) { + /** @type {?} */ + var doc = new DOMParser().parseFromString(data, "text/html"); + /** @type {?} */ + var table = doc.querySelector('table'); + /** @type {?} */ + var numCellsInFirstRow = 0; + /** @type {?} */ + var cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td'); + cellsFromFirstRow.forEach((/** + * @param {?} elm + * @return {?} + */ + function (elm) { + numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1; + })); + /** @type {?} */ + var newTable = this.createHeader(numCellsInFirstRow, table); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + var resultData = new XMLSerializer().serializeToString(doc) + // work-around for FF which is adds a0 namespace during serialization + ; + // work-around for FF which is adds a0 namespace during serialization + return resultData.replace(/a0:/g, "").replace(/:a0/g, ""); + }; + /** + * @param {?} data + * @return {?} + */ + ExcelPageService.prototype.getPageWithoutHeader = /** + * @param {?} data + * @return {?} + */ + function (data) { + /** @type {?} */ + var doc = new DOMParser().parseFromString(data, "text/html"); + doc.querySelector('colgroup').remove(); + /** @type {?} */ + var newTable = doc.querySelector('table'); + newTable.deleteRow(0); + newTable.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + function (row) { + row.deleteCell(0); + })); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + var resultData = new XMLSerializer().serializeToString(doc); + return resultData; + }; + /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + ExcelPageService.prototype.createHeader = /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + function (numCols, table) { + /** @type {?} */ + var header = document.createElement('thead'); + header.append(document.createElement('tr')); + for (var i = 0; i < numCols; ++i) { + /** @type {?} */ + var th = document.createElement('th'); + th.innerText = this.colName(i); + th.setAttribute("contenteditable", "false"); + header.querySelector("tr").append(th); + } + /** @type {?} */ + var colgroup = table.querySelector('colgroup'); + /** @type {?} */ + var col = document.createElement('col'); + col.width = '80px'; + colgroup.prepend(col); + table.prepend(header); + /** @type {?} */ + var cnt = 0; + table.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + function (row) { + /** @type {?} */ + var div = document.createElement('div'); + if (cnt !== 0) { + /** @type {?} */ + var td = document.createElement('td'); + td.className = "excel"; + td.append(div); + div.innerText = cnt.toString(); + div.setAttribute("contenteditable", "false"); + row.prepend(td); + } + else { + /** @type {?} */ + var th = document.createElement('th'); + th.append(div); + div.setAttribute("contenteditable", "false"); + row.prepend(th); + } + cnt++; + })); + return table; + }; + /** + * @param {?} n + * @return {?} + */ + ExcelPageService.prototype.colName = /** + * @param {?} n + * @return {?} + */ + function (n) { + /** @type {?} */ + var ordA = 'a'.charCodeAt(0); + /** @type {?} */ + var ordZ = 'z'.charCodeAt(0); + /** @type {?} */ + var len = ordZ - ordA + 1; + /** @type {?} */ + var s = ""; + while (n >= 0) { + s = String.fromCharCode(n % len + ordA) + s; + n = Math.floor(n / len) - 1; + } + return s; + }; + ExcelPageService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + ExcelPageService.ctorParameters = function () { return []; }; + /** @nocollapse */ ExcelPageService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ExcelPageService_Factory() { return new ExcelPageService(); }, token: ExcelPageService, providedIn: "root" }); + return ExcelPageService; }()); - /** - * @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: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 ExcelPageComponent = /** @class */ (function () { + function ExcelPageComponent(_excelPageService) { + this._excelPageService = _excelPageService; + } + /** + * @return {?} + */ + ExcelPageComponent.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 {?} + */ + ExcelPageComponent.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; + } + this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data; + }; + ExcelPageComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{vertical-align:middle!important}/deep/ .page-grid-lines td{border:1px solid #e7e7e7!important}/deep/ .page td:nth-child(1){border:1px solid #e7e7e7!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + }] } + ]; + /** @nocollapse */ + ExcelPageComponent.ctorParameters = function () { return [ + { type: ExcelPageService } + ]; }; + ExcelPageComponent.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 ExcelPageComponent; }()); - /** - * @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 ExcelDocumentComponent = /** @class */ (function (_super) { + __extends(ExcelDocumentComponent, _super); + function ExcelDocumentComponent(_elementRef, zoomService, windowService, _navigateService) { + var _this = _super.call(this, _elementRef, zoomService, windowService) || this; + _this._navigateService = _navigateService; + _this.panzoom = null; + return _this; + } + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.currentPageNo = 1; + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this.refreshExcelDocHeight(); + this.pages.changes.subscribe((/** + * @return {?} + */ + function () { + _this.refreshExcelDocHeight(); + })); + this._navigateService.navigate.subscribe((/** + * @param {?} value + * @return {?} + */ + function (value) { + _this.selectSheet(value); + })); + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.refreshExcelDocHeight = /** + * @return {?} + */ + function () { + // For current iteration we'll change actual height of .document + this.doc = this._elementRef.nativeElement.children.item(0); + this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + // magic number 37 is the height of the bottom-bar with navigation between pages + this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; + }; + /** + * @param {?} number + * @return {?} + */ + ExcelDocumentComponent.prototype.selectSheet = /** + * @param {?} number + * @return {?} + */ + function (number) { + this.currentPageNo = number; + }; + ExcelDocumentComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-excel-document', + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + }] } + ]; + /** @nocollapse */ + ExcelDocumentComponent.ctorParameters = function () { return [ + { type: core.ElementRef }, + { type: ZoomService }, + { type: WindowService }, + { type: NavigateService } + ]; }; + ExcelDocumentComponent.propDecorators = { + pages: [{ type: core.ViewChildren, args: [ExcelPageComponent,] }] + }; + return ExcelDocumentComponent; + }(DocumentComponent)); + + /** + * @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; }()); - /** - * @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 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; }()); - /** - * @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 + */ + 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 - */ - /** @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 + */ + 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 - */ - /** @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 $$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 - */ - 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 + */ + /** @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 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 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 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: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; + /** + * @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 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 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; }()); - /** - * @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 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 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: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; + /** + * @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 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 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; }()); - /** - * @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 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 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 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 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: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; + /** + * @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 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 + */ + 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; }()); - /** - * @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: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; + /** + * @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 - */ - 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 + */ + /** @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; }()); - /** - * @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 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 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;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; + /** + * @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 - */ - /** @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 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; }()); - /** - * @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: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 + */ + /** @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 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 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; }()); - /** - * @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: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; + /** + * @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 TabsComponent = /** @class */ (function () { - function TabsComponent() { - } - TabsComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-tabs', - template: "
\n \n
\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 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; }()); - /** - * @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; + /** + * @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; }()); - 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; }()); - /** - * @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: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; + /** + * @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; }()); - /** - * @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 = !!/(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; }()); - /** - * @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; + /** + * @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; }()); - /** - * @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: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 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; }()); - /** - * @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; + /** + * @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; }()); - /** - * @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; }()); - /** - * @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%;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; }()); - /** - * @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; }()); - /** - * @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; + /** + * @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; }()); - /** - * @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;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; + /** + * @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; }()); - /** - * @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; }()); - /** - * @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; }()); - /** - * @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; }()); - /** - * @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; }()); - /** - * @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; }()); - /** - * @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]; - 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 - ], - 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 - ], - 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, + ExcelPageService]; + 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, + ExcelDocumentComponent, + PageComponent, + ExcelPageComponent, + 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 + ], + exports: [ + TopToolbarComponent, + SidePanelComponent, + ButtonComponent, + LogoComponent, + TooltipComponent, + ModalComponent, + BrowseFilesModalComponent, + DocumentComponent, + ExcelDocumentComponent, + PageComponent, + ExcelPageComponent, + 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, + EditorDirective, + FormattingDirective + ], + providers: providers + },] } + ]; + /** @nocollapse */ + CommonComponentsModule.ctorParameters = function () { return []; }; + return CommonComponentsModule; }()); exports.AddDynamicComponentService = AddDynamicComponentService; @@ -6195,6 +6513,9 @@ exports.EditorDirective = EditorDirective; exports.ErrorInterceptorService = ErrorInterceptorService; exports.ErrorModalComponent = ErrorModalComponent; + exports.ExcelDocumentComponent = ExcelDocumentComponent; + exports.ExcelPageComponent = ExcelPageComponent; + exports.ExcelPageService = ExcelPageService; exports.ExceptionMessageService = ExceptionMessageService; exports.FileCredentials = FileCredentials; exports.FileDescription = FileDescription; 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 078061d2b..a7ce24956 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/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\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 visibility = 'hidden';\n\n constructor() {\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 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\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","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\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 {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';\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\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 ],\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 ],\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":"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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-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/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/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\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 visibility = 'hidden';\r\n\r\n constructor() {\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 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\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","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\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 {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\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n super(_elementRef, zoomService, windowService);\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this._navigateService.navigate.subscribe(\r\n value => {\r\n this.selectSheet(value);\r\n });\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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 {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 {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 {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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-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 {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 {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 ],\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 EditorDirective,\r\n FormattingDirective\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","$","ViewChildren","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 a8d464e1b..a56267dcc 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,d,l,u,h){"use strict";var f=function(t,e){return(f=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 g(t,e){function o(){this.constructor=t}f(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:'
\n
\n \n
\n
\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:'
\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;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}(),w=function(){function t(t){var e=this;this.iconOnly=!0,this.intent="default",this.disabled=!1,this.toggle=!1,this.iconRegular=!1,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:flex;align-items: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}@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}]},t}(),x=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: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}(),C=function(){function t(){this.visibility="hidden"}return 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;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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}],show:[{type:e.Input}]},t}(),S=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",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.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=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.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}(),O=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:'
\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%;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:O},{type:e.ElementRef}]},t.propDecorators={id:[{type:e.Input}],title:[{type:e.Input}],visible:[{type:e.Output}],cancel:[{type:e.Output}]},t}(),I=function(){},F=function(){},k=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 g(e,t),e}(k),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}(),L=function(){function t(){}return t.find=function(e,o){if(e&&!o){var n=e.split("."),i=n.pop().toLowerCase();return void 0===t.map[i]?n.length>0?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}(),M=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}(),H=d,U=[{name:"Disc",icon:"hdd"},{name:"URL",icon:"link"}],B=function(){function t(t){this._uploadService=t,this.uploads=U,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 L.find(t.name,t.directory).format},t.prototype.getFormatIcon=function(t){return L.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,H("#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: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}(),W=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}(),N=d,$=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 l(this.container)},t.prototype.ifExcel=function(){return"Microsoft Excel"===L.find(this.file.guid,!1).format},t.prototype.getDimensionWithUnit=function(t){return t+(this.mode?L.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&&N(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{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:W},{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:'
\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}(),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}(),X=function(){function t(t){this.sanitizer=t}return t.prototype.transform=function(t){return this.sanitizer.bypassSecurityTrustResourceUrl(t)},t.decorators=[{type:e.Pipe,args:[{name:"safeResourceHtml"}]}],t.ctorParameters=function(){return[{type:u.DomSanitizer}]},t}(),Z=function(){function t(t){this.sanitizer=t}return t.prototype.transform=function(t){return this.sanitizer.bypassSecurityTrustStyle(t)},t.decorators=[{type:e.Pipe,args:[{name:"safeStyle"}]}],t.ctorParameters=function(){return[{type:u.DomSanitizer}]},t}(),G=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: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=d,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 d=e/100,l=tt(t).outerHeight()*d,u=tt(t).outerWidth()*d;if(!u||!l)return!1;var h=tt(t).offset(),f=h.left*d+u,g=h.top*d+l;if(!!(cf||pg))return!1;var m=parseFloat(Math.min(1,(g-s)/l).toFixed(2)),v=parseFloat(Math.min(1,(p-h.top*d)/l).toFixed(2));return parseFloat(Math.min(1,(f-a)/u).toFixed(2))*parseFloat(Math.min(1,(c-h.left*d)/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=d,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+L.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:W},{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:'
\n
\n {{showSelected?.name}}\n
\n \n \n
\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:'
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\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}(),dt=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}(),lt=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+='
'+d.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 d;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:dt}]},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:'\n
\n \n
\n
Something went wrong
\n
{{message ? message : \'Server is not available\'}}
\n
\n
\n
\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}(),ft=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}(),gt=d,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=gt("#password");t&&t.focus()},100):gt("#password").val("")},t.prototype.cancel=function(t){gt("#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: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:ft}]},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:O},{type:ut}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(O),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\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;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}(),wt=d,xt=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: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}(),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}(),_t=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: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: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}(),Pt=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-tabs",template:'
\n \n
\n',styles:[".gd-tabs{display:flex}"]}]}],t.ctorParameters=function(){return[]},t}(),Ot=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}(),Et=function(){function t(){this._observerBold=new n.Subject,this._formatBoldChange=this._observerBold.asObservable(),this._observerUnderline=new n.Subject,this._formatUnderlineChange=this._observerUnderline.asObservable(),this._observerUndo=new n.Subject,this._undo=this._observerUndo.asObservable(),this._observerRedo=new n.Subject,this._redo=this._observerRedo.asObservable(),this._observerItalic=new n.Subject,this._formatItalicChange=this._observerItalic.asObservable(),this._observerColor=new n.Subject,this._formatColorChange=this._observerColor.asObservable(),this._observerBgColor=new n.Subject,this._formatBgColorChange=this._observerBgColor.asObservable(),this._observerFontSize=new n.Subject,this._formatFontSizeChange=this._observerFontSize.asObservable(),this._observerFont=new n.Subject,this._formatFontChange=this._observerFont.asObservable(),this._observerStrikeout=new n.Subject,this._formatStrikeoutChange=this._observerStrikeout.asObservable(),this._observerAlign=new n.Subject,this._formatAlignChange=this._observerAlign.asObservable(),this._observerList=new n.Subject,this._formatListChange=this._observerList.asObservable()}return Object.defineProperty(t.prototype,"formatBoldChange",{get:function(){return this._formatBoldChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatUnderlineChange",{get:function(){return this._formatUnderlineChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatColorChange",{get:function(){return this._formatColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatBgColorChange",{get:function(){return this._formatBgColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatFontSizeChange",{get:function(){return this._formatFontSizeChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatFontChange",{get:function(){return this._formatFontChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"undo",{get:function(){return this._undo},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"redo",{get:function(){return this._redo},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatItalicChange",{get:function(){return this._formatItalicChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatStrikeoutChange",{get:function(){return this._formatStrikeoutChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatAlignChange",{get:function(){return this._formatAlignChange},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formatListChange",{get:function(){return this._formatListChange},enumerable:!0,configurable:!0}),t.createFontSizeOption=function(t){return{value:t,name:t+"px",separator:!1}},t.getFontSizeOptions=function(){return[t.createFontSizeOption(8),t.createFontSizeOption(10),t.createFontSizeOption(12),t.createFontSizeOption(14),t.createFontSizeOption(16),t.createFontSizeOption(18),t.createFontSizeOption(20),t.createFontSizeOption(22),t.createFontSizeOption(24)]},t.createFontOption=function(t){return{value:t,name:t,separator:!1}},t.getFontOptions=function(){var t=this,e=[];return["Arial","Calibri","Century Gothic","Comic Sans","Consolas","Courier","Dejavu Sans","Dejavu Serif","Georgia","Gill Sans","Helvetica","Impact","Lucida Sans","Myriad Pro","Open Sans","Palatino","Tahoma","Times New Roman","Trebuchet"].forEach(function(o){e.push(t.createFontOption(o))}),e},t.prototype.changeFormatFontSize=function(t){this._observerFontSize.next(t)},t.prototype.changeFormatBold=function(t){this._observerBold.next(t)},t.prototype.changeFormatUnderline=function(t){this._observerUnderline.next(t)},t.prototype.Undo=function(){this._observerUndo.next()},t.prototype.Redo=function(){this._observerRedo.next()},t.prototype.changeFormatItalic=function(t){this._observerItalic.next(t)},t.prototype.changeFormatColor=function(t){this._observerColor.next(t)},t.prototype.changeFormatBgColor=function(t){this._observerBgColor.next(t)},t.prototype.changeFormatFont=function(t){this._observerFont.next(t)},t.prototype.changeFormatStrikeout=function(t){this._observerStrikeout.next(t)},t.prototype.changeFormatAlign=function(t){this._observerAlign.next(t)},t.prototype.changeFormatList=function(t){this._observerList.next(t)},t}(),It=["#000000","#434343","#666666","#999999","#B7B7B7","#CCCCCC","#D9D9D9","#EFEFEF","#F3F3F3","#FFFFFF","#980000","#FF0000","#FF9900","#FFFF00","#00FF00","#00FFFF","#4986E8","#0000FF","#9900FF","#FF00FF","#E6B8AF","#F4CCCC","#FDE5CD","#FFF2CC","#D9EAD3","#D0E0E2","#C9DAF8","#CFE2F3","#D9D2E9","#EAD1DC","#DD7E6B","#EA9899","#F9CB9C","#FFE59A","#B7D7A8","#A2C4C9","#A4C2F4","#9FC5E8","#B4A7D7","#D5A6BD","#CC4125","#E06666","#F6B26B","#FFD966","#92C47D","#75A5AF","#6D9EEB","#6FA9DB","#8E7CC3","#C27BA0","#A61C00","#CC0000","#E69138","#F2C131","#6AA84F","#45818E","#3C78D8","#3C85C6","#674EA7","#A64D79","#85200B","#990000","#B45F05","#BF9000","#37761D","#144F5C","#1254CC","#0A5394","#351C75","#741B47","#5B0F00","#660000","#783F03","#7F6000","#284E13","#0B343D","#1B4586","#063763","#20124D","#4C1030"],Ft=function(){function t(){this.isOpen=!1,this.selectedColor=new e.EventEmitter,this.closeOutside=new e.EventEmitter,this.colors=It,this.white="#FFFFFF"}return t.prototype.ngOnInit=function(){},t.prototype.select=function(t,e){t.preventDefault(),t.stopPropagation(),this.selectedColor.emit(e)},t.prototype.close=function(){this.isOpen=!1,this.closeOutside.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-color-picker",template:'
\n
\n
\n
\n
\n',styles:[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display: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}(),kt=function(t){function o(){return t.call(this)||this}return g(o,t),o.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],o.ctorParameters=function(){return[]},o.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new o},token:o,providedIn:"root"}),o}(Et),zt=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}(),Dt=d,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=/*@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=Dt(window.getSelection().focusNode.parentNode).css("background-color").toString()),this.font=document.queryCommandValue("FontName").replace(/"/g,""),this.font.split(",").length>1&&(this.font=this.font.split(",")[0]),this.color=document.queryCommandValue("foreColor"),this._backFormattingService.changeFormatBold(this.bold),this._backFormattingService.changeFormatUnderline(this.underline),this._backFormattingService.changeFormatItalic(this.italic),this._backFormattingService.changeFormatColor(this.color),this._backFormattingService.changeFormatBgColor(this.bgColor),this._backFormattingService.changeFormatFontSize(this.reportFontSize()),this._backFormattingService.changeFormatFont(this.font),this._backFormattingService.changeFormatStrikeout(this.strikeout),this._backFormattingService.changeFormatAlign(this.align),this._backFormattingService.changeFormatList(this.list)},t.prototype.checkJustify=function(){var t="";return t=document.queryCommandState("justifyCenter")?"center":t,t=document.queryCommandState("justifyFull")?"full":t,t=document.queryCommandState("justifyLeft")?"left":t,t=document.queryCommandState("justifyRight")?"right":t},t.prototype.checkList=function(){var t="";return t=document.queryCommandState("insertUnorderedList")?"unordered":t,t=document.queryCommandState("insertOrderedList")?"ordered":t},t.prototype.reportFontSize=function(){var t,e;if(window.getSelection?(e=window.getSelection()).rangeCount&&3===(t=e.getRangeAt(0).commonAncestorContainer).nodeType&&(t=t.parentNode):(e=document.getSelection())&&"Control"!==e.type&&(t=e.createRange().parentElement()),t)return parseInt(this.getComputedStyleProperty(t,"fontSize").replace("px",""),10)},t.prototype.getComputedStyleProperty=function(t,e){return window.getComputedStyle?window.getComputedStyle(t,null)[e]:t.currentStyle?t.currentStyle[e]:void 0},t.prototype.ngOnInit=function(){var t=this;this._formattingService.undo.subscribe(function(){t.toggleUndo()}),this._formattingService.redo.subscribe(function(){t.toggleRedo()}),this._formattingService.formatBoldChange.subscribe(function(e){t.bold=e,t.toggleBold()}),this._formattingService.formatUnderlineChange.subscribe(function(e){t.underline=e,t.toggleUnderline()}),this._formattingService.formatItalicChange.subscribe(function(e){t.italic=e,t.toggleItalic()}),this._formattingService.formatColorChange.subscribe(function(e){t.color=e,t.setColor(e)}),this._formattingService.formatBgColorChange.subscribe(function(e){t.bgColor=e,t.setBgColor(e)}),this._formattingService.formatFontSizeChange.subscribe(function(e){t.setFontSize(e)}),this._formattingService.formatFontChange.subscribe(function(e){t.font=e,t.setFont(e)}),this._formattingService.formatStrikeoutChange.subscribe(function(e){t.strikeout=e,t.toggleStrikeout()}),this._formattingService.formatAlignChange.subscribe(function(e){t.align=e,t.toggleAlign(t.align)}),this._formattingService.formatListChange.subscribe(function(e){var o=t.list===e;t.list=e,t.toggleList(t.list,o)})},t.prototype.toggleBold=function(){document.execCommand("bold"),this._selectionService.refreshSelection()},t.prototype.toggleUnderline=function(){document.execCommand("underline"),this._selectionService.refreshSelection()},t.prototype.toggleItalic=function(){document.execCommand("italic"),this._selectionService.refreshSelection()},t.prototype.setBgColor=function(t){document.execCommand("backColor",!1,t),this._selectionService.refreshSelection()},t.prototype.setColor=function(t){document.execCommand("foreColor",!1,t),this._selectionService.refreshSelection()},t.prototype.setFontSize=function(t){if(document.getSelection().toString()){var e=""+document.getSelection()+"";this.bold&&(e=""+e+""),this.italic&&(e=""+e+""),this.underline&&(e=""+e+""),this.strikeout&&(e=""+e+""),document.execCommand("insertHTML",!1,e)}else document.execCommand("fontsize",!1,"7");this._selectionService.refreshSelection()},t.prototype.toggleUndo=function(){document.execCommand("undo")},t.prototype.toggleRedo=function(){document.execCommand("redo")},t.prototype.setFont=function(t){document.execCommand("fontName",!1,t),this._selectionService.refreshSelection()},t.prototype.toggleStrikeout=function(){document.execCommand("strikeThrough"),this._selectionService.refreshSelection()},t.prototype.toggleAlign=function(t){if(this.isIE)this.toggleAlignIE(t);else{switch(document.execCommand("styleWithCSS",!1,"true"),t){case"center":document.execCommand("justifyCenter");break;case"full":document.execCommand("justifyFull");break;case"left":document.execCommand("justifyLeft");break;case"right":document.execCommand("justifyRight")}this._selectionService.refreshSelection()}},t.prototype.toggleAlignIE=function(t){this._selectionService.restoreSelection(),this._selectionService.captureSelection();var e=window.getSelection().focusNode.parentNode.parentNode;"full"===t&&(t="justify"),Dt(e).css("text-align",t),this._selectionService.refreshSelection()},t.prototype.toggleList=function(t,e){switch(t){case"unordered":document.execCommand("insertUnorderedList",e);break;case"ordered":document.execCommand("insertOrderedList",e)}this._selectionService.refreshSelection()},t.decorators=[{type:e.Directive,args:[{selector:"[gdFormatting]"}]}],t.ctorParameters=function(){return[{type:Et},{type:kt},{type:zt}]},t.propDecorators={mouseup:[{type:e.HostListener,args:["mouseup"]}]},t}(),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: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}(),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}(),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:zt},{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}(),Mt=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}(),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%;transform:translate(-50%,-50%)}"]}]}],t.ctorParameters=function(){return[{type:Mt}]},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:Mt}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(Mt))},token:t,providedIn:"root"}),t}(),Ut={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},Bt={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},Wt=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 qt})]}]}]},t.propDecorators={click:[{type:e.HostListener,args:["click",["$event"]]}]},t}(),Nt=function(){function t(t){this.dropdown=t}return Object.defineProperty(t.prototype,"horizontalAlign",{get:function(){return Ut[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 qt})]}]}]},t}(),$t=function(){function t(t){var o=this;this.dropdown=t,this.class="drop-down-item",this.selected=new e.EventEmitter,this.click=function(){return o.selectEntry()}}return t.prototype.selectEntry=function(){this.selected.next(),this.dropdown.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-drop-down-item",template:'',styles:[".drop-down{position:relative}.show .drop-down-items{display: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 qt})]}]}]},t.propDecorators={class:[{type:e.HostBinding,args:["class"]}],selected:[{type:e.Output}],click:[{type:e.HostListener,args:["click"]}]},t}(),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: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}(),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;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}(),Gt=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}(),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:Gt}]},t.propDecorators={ident:[{type:e.Input}]},t}(),Jt=d,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}(),Qt=[_,S,O,M,T,L,j,V,X,Z,G,R,dt,Q,K,W,ut,ft,vt,yt,b,et,Et,kt,rt,Ht,Mt,St,Zt,Gt],te=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,w,x,C,E,B,$,q,V,X,Z,G,Y,J,nt,it,st,at,ct,pt,lt,ht,mt,bt,xt,Ct,_t,Pt,Ft,Tt,At,Lt,Rt,qt,$t,Nt,Wt,Vt,Xt,Yt,Kt],exports:[v,y,w,x,C,E,B,$,q,X,Z,G,V,Y,nt,st,ct,pt,lt,ht,mt,bt,xt,Ct,_t,Pt,Ft,Tt,At,Rt,J,qt,$t,Nt,Wt,it,Wt,Vt,Xt,Yt,Kt],providers:Qt}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Zt,t.Api=S,t.BackFormattingService=kt,t.BrowseFilesModalComponent=B,t.ButtonComponent=w,t.ColorPickerComponent=Ft,t.CommonComponentsModule=te,t.CommonModals=P,t.ConfigService=_,t.DisabledCursorDirective=at,t.DndDirective=J,t.DocumentComponent=$,t.DropDownComponent=qt,t.DropDownItemComponent=$t,t.DropDownItemsComponent=Nt,t.DropDownToggleComponent=Wt,t.EditHtmlService=jt,t.EditorDirective=Lt,t.ErrorInterceptorService=vt,t.ErrorModalComponent=ht,t.ExceptionMessageService=ut,t.FileCredentials=k,t.FileDescription=D,t.FileModel=T,t.FileService=M,t.FileUtil=L,t.Formatting=Ot,t.FormattingDirective=Tt,t.FormattingService=Et,t.HighlightSearchPipe=G,t.HostDynamicDirective=Yt,t.HostingDynamicComponentService=Gt,t.HttpError=A,t.InitStateComponent=pt,t.LeftSideBarComponent=Vt,t.LoadingMaskComponent=Rt,t.LoadingMaskInterceptorService=Ht,t.LoadingMaskService=Mt,t.LogoComponent=x,t.ModalComponent=E,t.ModalService=O,t.NavigateService=Q,t.OnCloseService=rt,t.PageComponent=q,t.PageModel=I,t.PagePreloadService=K,t.PasswordRequiredComponent=mt,t.PasswordService=ft,t.RenderPrintDirective=lt,t.RenderPrintService=dt,t.RotatedPage=F,t.RotationDirective=ct,t.SanitizeHtmlPipe=V,t.SanitizeResourceHtmlPipe=X,t.SanitizeStylePipe=Z,t.SaveFile=z,t.ScrollableDirective=nt,t.SearchComponent=bt,t.SearchService=yt,t.SearchableDirective=xt,t.SelectComponent=st,t.SelectionService=zt,t.SidePanelComponent=y,t.SuccessModalComponent=At,t.TabActivatorService=St,t.TabComponent=_t,t.TabbedToolbarsComponent=Ct,t.TooltipComponent=C,t.TopToolbarComponent=v,t.UploadFileZoneComponent=Y,t.UploadFilesService=R,t.Utils=j,t.ViewportService=et,t.WindowService=b,t.ZoomDirective=it,t.ZoomService=W,t.ɵa=Pt,t.ɵb=Xt,t.ɵc=Kt,Object.defineProperty(t,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(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"],t):t(((e=e||self).groupdocs=e.groupdocs||{},e.groupdocs.examples=e.groupdocs.examples||{},e.groupdocs.examples.angular=e.groupdocs.examples.angular||{},e.groupdocs.examples.angular["common-components"]={}),e.ng.core,e.ng.common,e.rxjs,e.rxjs.operators,e.angularFontawesome,e.fontawesomeSvgCore,e.freeSolidSvgIcons,e.freeRegularSvgIcons,e.ng.common.http,e.jquery,e.Hammer,e.ng.platformBrowser,e.ngClickOutside)}(this,function(e,t,o,n,i,r,s,a,c,p,d,l,u,h){"use strict";var g=function(e,t){return(g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)};function f(e,t){function o(){this.constructor=e}g(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}function m(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}}var v=function(){function e(){}return e.decorators=[{type:t.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}}"]}]}],e.ctorParameters=function(){return[]},e}(),y=function(){function e(){this.hideSidePanel=new t.EventEmitter,this.onlyTitle=!1}return e.prototype.openSidePanel=function(){this.hideSidePanel.emit(!0)},e.prototype.toggleTitleMode=function(){this.onlyTitle=!this.onlyTitle},e.decorators=[{type:t.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}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={title:[{type:t.Input}],icon:[{type:t.Input}],hideSidePanel:[{type:t.Output}]},e}(),b=function(){function e(){var e=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(t){e.resizeSubject.next(t.target),e.width=t.target.innerWidth,e.height=t.target.innerHeight})),this._resize$.subscribe()}return Object.defineProperty(e.prototype,"onResize",{get:function(){return this.resizeSubject.asObservable()},enumerable:!0,configurable:!0}),e.prototype.isMobile=function(){return this.width<=425},e.prototype.isTablet=function(){return this.width<=1024},e.prototype.isDesktop=function(){return!this.isMobile()&&!this.isTablet()},e.prototype.getWidth=function(){return this.width},e.prototype.getHeight=function(){return this.height},e.prototype.isEdge=function(){return window.navigator.userAgent.toLowerCase().indexOf("edge")>-1},e.prototype.isFirefox=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},e}(),x=function(){function e(e){var t=this;this.iconOnly=!0,this.intent="default",this.disabled=!1,this.toggle=!1,this.iconRegular=!1,this.showToolTip=!1,this.isDesktop=e.isDesktop(),e.onResize.subscribe(function(o){t.isDesktop=e.isDesktop()})}return e.prototype.iconButtonClass=function(){return this.iconOnly?"icon-button":""},e.prototype.onHovering=function(){this.isDesktop&&!this.disabled&&(this.className+=" active")},e.prototype.onUnhovering=function(){this.isDesktop&&!this.disabled&&(this.className=this.cleanAll(this.className," active"))},e.prototype.cleanAll=function(e,t){for(;e&&-1!==e.indexOf(t);)e=e.replace(t,"");return e},e.decorators=[{type:t.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;align-items: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}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],e.ctorParameters=function(){return[{type:b}]},e.propDecorators={iconOnly:[{type:t.Input}],intent:[{type:t.Input}],disabled:[{type:t.Input}],icon:[{type:t.Input}],iconClass:[{type:t.Input}],tooltip:[{type:t.Input}],className:[{type:t.Input}],toggle:[{type:t.Input}],iconSize:[{type:t.Input}],iconRegular:[{type:t.Input}]},e}(),w=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.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}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={logo:[{type:t.Input}],icon:[{type:t.Input}]},e}(),S=function(){function e(){this.visibility="hidden"}return Object.defineProperty(e.prototype,"show",{set:function(e){this.visibility=e?"shown":"hidden"},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-tooltip",template:'\r\n',styles:['.tooltip{position:absolute;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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}']}]}],e.ctorParameters=function(){return[]},e.propDecorators={text:[{type:t.Input}],show:[{type:t.Input}]},e}(),C=function(){function e(){}return e.VIEWER_APP="/viewer",e.SIGNATURE_APP="/signature",e.EDITOR_APP="/editor",e.COMPARISON_APP="/comparison",e.CONVERSION_APP="/conversion",e.DEFAULT_API_ENDPOINT=window.location.href,e.LOAD_FILE_TREE="/loadFileTree",e.LOAD_CONFIG="/loadConfig",e.LOAD_DOCUMENT_DESCRIPTION="/loadDocumentDescription",e.LOAD_DOCUMENT_PAGE="/loadDocumentPage",e.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",e.UPLOAD_DOCUMENTS="/uploadDocument",e.DOWNLOAD_DOCUMENTS="/downloadDocument",e.LOAD_PRINT="/loadPrint",e.LOAD_PRINT_PDF="/printPdf",e.LOAD_THUMBNAILS="/loadThumbnails",e.LOAD_FORMATS="/loadFormats",e.SAVE_FILE="/saveFile",e.COMPARE_FILES="/compare",e.CONVERT_FILE="/convert",e.DELETE_SIGNATURE_FILE="/deleteSignatureFile",e.SAVE_OPTICAL_CODE="/saveOpticalCode",e.SAVE_TEXT="/saveText",e.SAVE_IMAGE="/saveImage",e.SAVE_STAMP="/saveStamp",e.SIGN="/sign",e.DOWNLOAD_SIGNED="/downloadSigned",e.LOAD_SIGNATURE_IMAGE="/loadSignatureImage",e.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},e.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},e}(),_=function(){function e(){this.apiEndpoint=C.DEFAULT_API_ENDPOINT}return Object.defineProperty(e.prototype,"apiEndpoint",{get:function(){return this._apiEndpoint},set:function(e){this._apiEndpoint=e&&e.trim().endsWith("/")?e.substring(0,e.length-1):e},enumerable:!0,configurable:!0}),e.prototype.getConfigEndpoint=function(e){return(this.apiEndpoint.endsWith(e)?this.apiEndpoint:this.apiEndpoint+e)+C.LOAD_CONFIG},e.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(C.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+C.VIEWER_APP},e.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+C.EDITOR_APP},e.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+C.COMPARISON_APP},e.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+C.CONVERSION_APP},e.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(C.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+C.SIGNATURE_APP},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[]},e}(),P=function(){function e(){}return e.PasswordRequired="gd-password-required",e.ErrorMessage="gd-error-message",e.BrowseFiles="gd-browse-files",e.CreateDocument="gd-create-document",e.OperationSuccess="gd-success-modal",e.DrawHandSignature="gd-draw-hand-signature",e.DrawStampSignature="gd-draw-stamp-signature",e.InformationMessage="gd-information-message",e}(),E=function(){function e(){this.modals=[]}return e.prototype.add=function(e){this.modals.push(e)},e.prototype.remove=function(e){this.modals=this.modals.filter(function(t){return t.id!==e})},e.prototype.open=function(e){var t=this.modals.filter(function(t){return t.id===e})[0];t&&t.open()},e.prototype.close=function(e){var t=this.modals.filter(function(t){return t.id===e})[0];t&&t.close()},e}(),I=function(){function e(e,o){this.modalService=e,this.visible=new t.EventEmitter,this.cancel=new t.EventEmitter,this.visibility=!1,this.element=o.nativeElement}return e.prototype.ngOnInit=function(){this.id?(document.body.appendChild(this.element),this.modalService.add(this)):console.error("modal must have an id")},e.prototype.ngOnDestroy=function(){this.modalService.remove(this.id),this.element.remove()},e.prototype.open=function(){this.visibility=!0,this.visible.emit(!0)},e.prototype.close=function(){event.preventDefault(),event.stopPropagation(),this.visibility=!1,this.visible.emit(!1)},e.prototype.onClose=function(e){e.stopPropagation(),e&&e.target&&"modalDialog"===e.target.id&&this.close()},e.prototype.cancelClose=function(){this.cancel.emit(!1),this.close()},e.decorators=[{type:t.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%}}"]}]}],e.ctorParameters=function(){return[{type:E},{type:t.ElementRef}]},e.propDecorators={id:[{type:t.Input}],title:[{type:t.Input}],visible:[{type:t.Output}],cancel:[{type:t.Output}]},e}(),O=function(){},k=function(){},z=function(e,t){this.guid=e,this.password=t},F=function(e){function t(t,o,n){var i=e.call(this,t,o)||this;return i.content=n,i}return f(t,e),t}(z),D=function(){this.printAllowed=!0},T=function(){},A=function(){function e(){}return e.BadRequest=400,e.Unauthorized=401,e.Forbidden=403,e.NotFound=404,e.TimeOut=408,e.Conflict=409,e.InternalServerError=500,e}(),j=function(){function e(){}return e.getMousePosition=function(e){var t={x:0,y:0},o=window.event,n=e||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;t.x=i||(s?o.screenX:n.touches[0].pageX),t.y=r||(a?o.screenY:n.touches[0].pageY)}else n.clientX&&(t.x=n.clientX+document.body.scrollLeft,t.y=n.clientY+document.body.scrollTop);return t},e}(),L=function(){function e(){}return e.find=function(t,o){if(t&&!o){var n=t.split("."),i=n.pop().toLowerCase();return void 0===e.map[i]?n.length>0?e.map.unknown:e.map.folder:e.map[i]}return e.map.folder},e.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"}},e}(),M=function(){},R=function(){function e(){var e=this;this._uploadsChange=new n.Observable(function(t){return e._observer=t})}return Object.defineProperty(e.prototype,"uploadsChange",{get:function(){return this._uploadsChange},enumerable:!0,configurable:!0}),e.prototype.changeFilesList=function(e){this._observer.next(e)},e}(),H=d,U=[{name:"Disc",icon:"hdd"},{name:"URL",icon:"link"}],B=function(){function e(e){this._uploadService=e,this.uploads=U,this.selectedFileGuid=new t.EventEmitter,this.selectedDirectory=new t.EventEmitter,this.urlForUpload=new t.EventEmitter,this.closing=new t.EventEmitter,this.showUploadUrl=!1,this.showUploadFile=!1}return e.prototype.ngOnInit=function(){},e.prototype.getSize=function(e){var t=e/1024/1024;if(t>1)return Math.round(100*t)/100+" MB";var o=e/1024;return o>1?Math.round(100*o)/100+" KB":e+" Bytes"},e.prototype.getFormatName=function(e){return L.find(e.name,e.directory).format},e.prototype.getFormatIcon=function(e){return L.find(e.name,e.directory).icon},e.prototype.choose=function(e){this.selectedFile=e,e.directory||e.isDirectory?this.selectedDirectory.emit(e.name):this.selectedFileGuid.emit(e.guid)},e.prototype.goUp=function(){if(this.selectedFile){var e=this.selectedFile.guid;e=e.length>0&&-1===e.indexOf("/")?"":e.replace(/\/[^\/]+\/?$/,""),this.selectedDirectory.emit(e)}},e.prototype.selectUpload=function(e){"URL"===e?this.showUploadUrl=!0:(this.showUploadUrl=!1,H("#gd-upload-input").trigger("click"))},e.prototype.refresh=function(e){e?(this.files=null,this.selectedDirectory.emit(""),this.showUploadUrl=!1,this.selectedFile=null):this.closing.emit(!0)},e.prototype.showSpinner=function(){return!this.files},e.prototype.uploadUrl=function(e){e&&(this.urlForUpload.emit(e),this.cleanUpload())},e.prototype.handleFileInput=function(e){this._uploadService.changeFilesList(e)},e.prototype.cleanUpload=function(){this.showUploadFile=!1,this.showUploadUrl=!1},e.decorators=[{type:t.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)}}"]}]}],e.ctorParameters=function(){return[{type:R}]},e.propDecorators={files:[{type:t.Input}],uploadConfig:[{type:t.Input}],selectedFileGuid:[{type:t.Output}],selectedDirectory:[{type:t.Output}],urlForUpload:[{type:t.Output}],closing:[{type:t.Output}]},e}(),W=function(){function e(){this._observer=new n.Subject,this._zoomChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"zoom",{get:function(){return this._zoom},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"zoomChange",{get:function(){return this._zoomChange},enumerable:!0,configurable:!0}),e.prototype.changeZoom=function(e){this._zoom=e,this._observer.next(e)},e.prototype.createZoomOption=function(e,t,o){return void 0===o&&(o=!1),{value:e,name:t,separator:o}},e.prototype.zoomOptions=function(e,t){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(e,"Fit Width"),this.createZoomOption(t,"Fit Height")]},e}(),N=d,$=function(){function e(e,t,o){var n=this;this._elementRef=e,this._zoomService=t,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,t.zoomChange.subscribe(function(e){n.zoom=e}),this.isDesktop=o.isDesktop()}return e.prototype.ngOnInit=function(){},e.prototype.ngOnChanges=function(){this._elementRef.nativeElement.children.item(0).children.item(0).style.transform=""},e.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 l(this.container)},e.prototype.ifExcel=function(){return"Microsoft Excel"===L.find(this.file.guid,!1).format},e.prototype.getDimensionWithUnit=function(e){return e+(this.mode?L.find(this.file.guid,!1).unit:"px")},e.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},e.prototype.ngAfterViewChecked=function(){var e=this._elementRef.nativeElement.querySelectorAll(".gd-wrapper").item(0);e&&N(e).trigger("focus")},e.prototype.absolutePosition=function(e){for(var t=0,o=0;null!==e;)t+=e.offsetLeft,o+=e.offsetTop,e=e.offsetParent;return{x:t,y:o}},e.prototype.restrictRawPos=function(e,t,o){return e0&&(e=0),e},e.prototype.updateLastPos=function(){this.lastX=this.x,this.lastY=this.y},e.prototype.translate=function(e,t){var o=this.restrictRawPos(this.lastX+e/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+t/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+")"},e.prototype.startZoom=function(e){this.scale=this.lastScale*e,this.curWidth=this.docWidth*this.scale,this.curHeight=this.docHeight*this.scale,this.translate(0,0)},e.prototype.rawCenter=function(e){var t=this.absolutePosition(this.container),o=window.pageXOffset?window.pageXOffset:document.body.scrollLeft,n=window.pageYOffset?window.pageYOffset:document.body.scrollTop;return{x:-this.x+(e.center.x-t.x+o)/this.scale,y:-this.y+(e.center.y-t.y+n)/this.scale}},e.prototype.updateLastScale=function(){this.lastScale=this.scale},e.prototype.zoomAround=function(e,t,o,n){this.startZoom(e);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-t)*this.scale,a=(r-o)*this.scale;this.translate(s,a),n||(this.updateLastScale(),this.updateLastPos())},e.prototype.onPinch=function(e){if(null===this.pinchCenter){this.pinchCenter=this.rawCenter(e);var t=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:t,y:o}}var n=this.scale*e.scale,i={x:(this.pinchCenter.x*n-this.pinchCenterOffset.x)/n,y:(this.pinchCenter.y*n-this.pinchCenterOffset.y)/n};this.zoomAround(e.scale,i.x,i.y,!0)},e.prototype.onPinchEnd=function(e){this.updateLastScale(),this.updateLastPos(),this.pinchCenter=null},e.prototype.onPan=function(e){},e.prototype.onPanEnd=function(e){},e.prototype.onDoubleTap=function(e){if(!this.isDesktop&&2===e.tapCount){var t=this.rawCenter(e);this.zoomAround(2,t.x,t.y,!1)}},e.decorators=[{type:t.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}}"]}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:W},{type:b}]},e.propDecorators={mode:[{type:t.Input}],preloadPageCount:[{type:t.Input}],file:[{type:t.Input}]},e}(),q=function(){function e(){var e=this;this._checkPreload=new n.Observable(function(t){return e._observer=t})}return Object.defineProperty(e.prototype,"checkPreload",{get:function(){return this._checkPreload},enumerable:!0,configurable:!0}),e.prototype.changeLastPageInView=function(e){this._observer&&this._observer.next(e)},e}(),V=function(){function e(e){var t=this;this._pagePreloadService=e,this._currentPage=0,this._countPages=0,this._navigate=new n.Observable(function(e){return t._observer=e})}return Object.defineProperty(e.prototype,"navigate",{get:function(){return this._navigate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"countPages",{get:function(){return this._countPages},set:function(e){this._countPages=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentPage",{get:function(){return this._currentPage},set:function(e){this._currentPage=e},enumerable:!0,configurable:!0}),e.prototype.nextPage=function(){this._currentPage1&&(this._currentPage--,this.navigateTo(this._currentPage))},e.prototype.toLastPage=function(){this._currentPage=this._countPages,this.navigateTo(this._currentPage)},e.prototype.toFirstPage=function(){this._currentPage=1,this.navigateTo(this._currentPage)},e.prototype.navigateTo=function(e){this.currentPage=e,this._pagePreloadService.changeLastPageInView(e),this._observer.next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:q}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(q))},token:e,providedIn:"root"}),e}(),X=function(){function e(){}return e.prototype.getUpdatedPage=function(e){var t=(new DOMParser).parseFromString(e,"text/html"),o=t.querySelector("table"),n=0;t.querySelectorAll("table > tbody > tr:first-child td").forEach(function(e){n+=e.attributes.colspan?parseInt(e.attributes.colspan.value,10):1});var i=this.createHeader(n,o);return t.querySelector("table").replaceWith(i),(new XMLSerializer).serializeToString(t).replace(/a0:/g,"").replace(/:a0/g,"")},e.prototype.getPageWithoutHeader=function(e){var t=(new DOMParser).parseFromString(e,"text/html");t.querySelector("colgroup").remove();var o=t.querySelector("table");return o.deleteRow(0),o.querySelectorAll("tr").forEach(function(e){e.deleteCell(0)}),t.querySelector("table").replaceWith(o),(new XMLSerializer).serializeToString(t)},e.prototype.createHeader=function(e,t){var o=document.createElement("thead");o.append(document.createElement("tr"));for(var n=0;n=0;)n=String.fromCharCode(e%o+t)+n,e=Math.floor(e/o)-1;return n},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),Z=function(){function e(e){this._excelPageService=e}return e.prototype.ngOnInit=function(){/*@cc_on!@*/!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},e.prototype.ngOnChanges=function(e){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),this.data=null!==this.data&&e.data?this._excelPageService.getUpdatedPage(this.data):this.data},e.decorators=[{type:t.Component,args:[{selector:"gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{vertical-align:middle!important}/deep/ .page-grid-lines td{border:1px solid #e7e7e7!important}/deep/ .page td:nth-child(1){border:1px solid #e7e7e7!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"]}]}],e.ctorParameters=function(){return[{type:X}]},e.propDecorators={angle:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],number:[{type:t.Input}],data:[{type:t.Input}],isHtml:[{type:t.Input}],editable:[{type:t.Input}]},e}(),G=function(e){function o(t,o,n,i){var r=e.call(this,t,o,n)||this;return r._navigateService=i,r.panzoom=null,r}return f(o,e),o.prototype.ngOnInit=function(){this.currentPageNo=1},o.prototype.ngAfterViewInit=function(){var e=this;this.refreshExcelDocHeight(),this.pages.changes.subscribe(function(){e.refreshExcelDocHeight()}),this._navigateService.navigate.subscribe(function(t){e.selectSheet(t)})},o.prototype.refreshExcelDocHeight=function(){this.doc=this._elementRef.nativeElement.children.item(0),this.panzoom=this._elementRef.nativeElement.children.item(0).children.item(0),this.doc.style.height=this.panzoom.scrollHeight+37+"px"},o.prototype.selectSheet=function(e){this.currentPageNo=e},o.decorators=[{type:t.Component,args:[{selector:"gd-excel-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n',styles:[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],o.ctorParameters=function(){return[{type:t.ElementRef},{type:W},{type:b},{type:V}]},o.propDecorators={pages:[{type:t.ViewChildren,args:[Z]}]},o}($),Y=function(){function e(){}return e.prototype.ngOnInit=function(){/*@cc_on!@*/!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},e.prototype.ngOnChanges=function(e){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)},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={angle:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],number:[{type:t.Input}],data:[{type:t.Input}],isHtml:[{type:t.Input}],editable:[{type:t.Input}]},e}(),J=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustHtml(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeHtml"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}(),K=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustResourceUrl(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeResourceHtml"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}(),Q=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustStyle(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeStyle"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}(),ee=function(){function e(){}return e.prototype.transform=function(e,t){if(!t)return e;var o=new RegExp(t,"gi");return e.replace(o,"$&")},e.decorators=[{type:t.Pipe,args:[{name:"highlight"}]}],e}(),te=function(){function e(e){this._uploadService=e,this.closeUpload=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.handleFileInput=function(e){this._uploadService.changeFilesList(e),this.onCloseUpload()},e.prototype.onCloseUpload=function(){this.closeUpload.emit(!0)},e.prototype.close=function(e){"gd-dropZone"===e.target.id&&this.onCloseUpload()},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[{type:R}]},e.propDecorators={closeUpload:[{type:t.Output}]},e}(),oe=function(){function e(e){this._uploadFilesService=e,this.closing=new t.EventEmitter,this.opening=new t.EventEmitter,this.dropped=new t.EventEmitter,this.active=!1,this.dragCounter=0}return e.prototype.onDragEnter=function(e){e.preventDefault(),e.stopPropagation(),this.dragCounter++,this.active=!0,this.opening.emit(!0)},e.prototype.onDragOver=function(e){return e.preventDefault(),e.stopPropagation(),!1},e.prototype.onDragLeave=function(e){e.preventDefault(),e.stopPropagation(),this.dragCounter--,0===this.dragCounter&&(this.active=!1,this.closeArea())},e.prototype.onDrop=function(e){e.preventDefault(),e.stopPropagation();var t=e.dataTransfer.files;t.length>0&&(this.active=!1,this.dropped.emit(!0),this._uploadFilesService.changeFilesList(t),this.closeArea())},e.prototype.onClick=function(e){this.closeArea()},e.prototype.closeArea=function(){this.closing.emit(!0),this.opening.emit(!1)},e.decorators=[{type:t.Directive,args:[{selector:"[gdDnd]"}]}],e.ctorParameters=function(){return[{type:R}]},e.propDecorators={closing:[{type:t.Output}],opening:[{type:t.Output}],dropped:[{type:t.Output}],active:[{type:t.HostBinding,args:["class.active"]}],onDragEnter:[{type:t.HostListener,args:["dragenter",["$event"]]}],onDragOver:[{type:t.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:t.HostListener,args:["dragleave",["$event"]]}],onDrop:[{type:t.HostListener,args:["drop",["$event"]]}],onClick:[{type:t.HostListener,args:["click",["$event"]]}]},e}(),ne=d,ie=function(){function e(){}return e.prototype.checkInViewport=function(e,t,o,n){if(void 0===t&&(t=100),void 0===o&&(o=0),void 0===n&&(n=.5),!e)return!1;var i=n,r=ne(window),s=r.scrollTop(),a=r.scrollLeft()+o,c=r.scrollLeft()+r.width()-10,p=r.scrollTop()+r.height();isNaN(t)&&(t=100);var d=t/100,l=ne(e).outerHeight()*d,u=ne(e).outerWidth()*d;if(!u||!l)return!1;var h=ne(e).offset(),g=h.left*d+u,f=h.top*d+l;if(!!(cg||pf))return!1;var m=parseFloat(Math.min(1,(f-s)/l).toFixed(2)),v=parseFloat(Math.min(1,(p-h.top*d)/l).toFixed(2));return parseFloat(Math.min(1,(g-a)/u).toFixed(2))*parseFloat(Math.min(1,(c-h.left*d)/u).toFixed(2))>=i&&m*v>=.5},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),re=d,se=function(){function e(e,t,o,n,i,r){var s=this;this._elementRef=e,this._navigateService=t,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(e){s.zoom=e||s.zoom,s.refresh()})}return e.prototype.ngAfterViewInit=function(){var e=this;this.zoom=this._zoomService.zoom?this._zoomService.zoom:this.zoom,this._navigateService.navigate.subscribe(function(t){e.currentPage=t,e.scrollToPage(t)}),this.refresh()},e.prototype.scrolling=function(){this.refresh()},e.prototype.resizing=function(){this.refresh()},e.prototype.scrollToPage=function(e){var t=this._elementRef.nativeElement,o=this.getPage(e),n=e>0?this.getPage(e-1):null,i=n&&re(n).offset().top===re(o).offset().top;if(!this._viewportService.checkInViewport(o,this.zoom)||!i){var r={left:0,top:this.calculateOffset(e)};t&&t.scroll(r)}},e.prototype.getChildren=function(){var e=this._elementRef?this._elementRef.nativeElement:null;if(e)return e.children.item(0).children.item(0).children},e.prototype.getPage=function(e){var t=this._elementRef?this._elementRef.nativeElement:null;if(t)return t.children.item(0).children.item(0).children.item(e-1)},e.prototype.calculateOffset=function(e){for(var t=this._windowService.isFirefox()?1:this.countPagesOnWidth(),o=this._windowService.isDesktop()?40:10,n=0,i=1;i0?s*this.getZoom()+o:0}return n},e.prototype.countPagesOnWidth=function(){var e=this.getPage(1),t=Math.floor((this.getWidth()-150)/(e.getBoundingClientRect().width*this.getZoom()));return 0===t?1:t},e.prototype.refresh=function(){var e,t=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(e=1;eo&&(o=e.width)}),this.minWidth=o+L.find(this.file.guid,!1).unit}},e.prototype.getScrollWidth=function(e){return e.offsetWidth-e.clientWidth},e.prototype.resizePages=function(e){var t=100===e?1:e/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.getScrollWidth(this.el.nativeElement.parentElement);this.width=o/t-n/t+"px"},e.prototype.ngAfterViewInit=function(){this.setStyles(this._zoomService.zoom)},e.decorators=[{type:t.Directive,args:[{selector:"[gdZoom]"}]}],e.ctorParameters=function(){return[{type:W},{type:b},{type:t.ElementRef}]},e.propDecorators={zoomActive:[{type:t.Input}],file:[{type:t.Input}],zoomInt:[{type:t.HostBinding,args:["style.zoom"]}],transform:[{type:t.HostBinding,args:["style.transform"]}],transformOrigin:[{type:t.HostBinding,args:["style.transform-origin"]}],width:[{type:t.HostBinding,args:["style.width"]}],minWidth:[{type:t.HostBinding,args:["style.min-width"]}]},e}(),ce=function(){function e(){this._observer=new n.Subject,this._onClose=this._observer.asObservable()}return Object.defineProperty(e.prototype,"onClose",{get:function(){return this._onClose},enumerable:!0,configurable:!0}),e.prototype.close=function(e){this._observer.next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),pe=function(){function e(e){var o=this;this._onCloseService=e,this.disabled=!1,this.selected=new t.EventEmitter,this.isOpen=!1,e.onClose.subscribe(function(){o.close()})}return e.prototype.open=function(){this.disabled||(this.isOpen=!0)},e.prototype.close=function(){this.isOpen=!1},e.prototype.onClickOutside=function(e){this.close()},e.prototype.toggle=function(e){e.preventDefault(),e.stopPropagation(),this.disabled||(this.isOpen=!this.isOpen)},e.prototype.select=function(e,t){e.preventDefault(),e.stopPropagation(),this.selected.emit(t),this.close()},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[{type:ce}]},e.propDecorators={options:[{type:t.Input}],disabled:[{type:t.Input}],showSelected:[{type:t.Input}],selected:[{type:t.Output}],isOpen:[{type:t.Input}]},e}(),de=function(){function e(){}return e.prototype.updateCursor=function(){this.cursor=!!this.dis},e.prototype.ngOnInit=function(){this.updateCursor()},e.prototype.ngOnChanges=function(e){this.updateCursor()},e.decorators=[{type:t.Directive,args:[{selector:"[gdDisabledCursor]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={dis:[{type:t.Input}],cursor:[{type:t.HostBinding,args:["class.inactive"]}]},e}(),le=function(){function e(){this.withMargin=!0}return e.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)},e.prototype.isLandscape=function(){return this.width>this.height},e.prototype.ngOnInit=function(){this.updateCursor()},e.prototype.ngOnChanges=function(e){this.updateCursor()},e.decorators=[{type:t.Directive,args:[{selector:"[gdRotation]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={angle:[{type:t.Input}],isHtmlMode:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],withMargin:[{type:t.Input}],animation:[{type:t.HostBinding,args:["style.animation"]}],transition:[{type:t.HostBinding,args:["style.transition-property"]}],transform:[{type:t.HostBinding,args:["style.transform"]}],margin:[{type:t.HostBinding,args:["style.margin"]}]},e}(),ue=function(){function e(){this.fileDropped=new t.EventEmitter,this.showUploadFile=!1}return e.prototype.ngOnInit=function(){},e.prototype.dropped=function(e){e&&(this.fileDropped.emit(e),this.showUploadFile=!1)},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={icon:[{type:t.Input}],text:[{type:t.Input}],fileDropped:[{type:t.Output}]},e}(),he=function(){function e(){var e=this;this._render=new n.Observable(function(t){return e._observer=t}),this._renderBlob=new n.Observable(function(t){return e._observerBlob=t})}return Object.defineProperty(e.prototype,"renderPrint",{get:function(){return this._render},enumerable:!0,configurable:!0}),e.prototype.changePages=function(e){this._observer.next(e)},Object.defineProperty(e.prototype,"renderPrintBlob",{get:function(){return this._renderBlob},enumerable:!0,configurable:!0}),e.prototype.changeBlob=function(e){this._observerBlob.next(e)},e}(),ge=function(){function e(e){var t=this;this._renderService=e,e.renderPrint.subscribe(function(e){t.renderPrint(e)}),e.renderPrintBlob.subscribe(function(e){t.renderPrintBlob(e)})}return e.prototype.renderPrint=function(e){var t,o,n,i,r="";if(this.htmlMode)try{for(var s=m(e),a=s.next();!a.done;a=s.next()){r+='
'+d.data+"
"}}catch(e){t={error:e}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(t)throw t.error}}else try{for(var c=m(e),p=c.next();!p.done;p=c.next()){var d;r+='
'}}catch(e){n={error:e}}finally{try{p&&!p.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}this.openWindow(r,e[0].width,e[0].height)},e.prototype.openWindow=function(e,t,o){var n="";if(t>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(e),s.document.close(),s.focus(),s.print(),s.close()},e.prototype.renderPrintBlob=function(e){var t=URL.createObjectURL(e),o=window.open(t,"PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");o.focus(),o.print(),o.close()},e.decorators=[{type:t.Directive,args:[{selector:"[gdRenderPrint]"}]}],e.ctorParameters=function(){return[{type:he}]},e.propDecorators={htmlMode:[{type:t.Input}]},e}(),fe=function(){function e(){this._observer=new n.BehaviorSubject("Server is not available"),this._messageChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),e.prototype.changeMessage=function(e){this._observer.next(e)},e}(),me=function(){function e(e){var t=this;e.messageChange.subscribe(function(e){return t.message=e})}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[{type:fe}]},e}(),ve=function(){function e(){this._observer=new n.Subject,this._passChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"passChange",{get:function(){return this._passChange},enumerable:!0,configurable:!0}),e.prototype.setPassword=function(e){this._observer.next(e)},e}(),ye=d,be=function(){function e(e,o){var n=this;this._passwordService=o,this.cancelEvent=new t.EventEmitter,e.messageChange.subscribe(function(e){return n.message=e})}return e.prototype.ngOnInit=function(){},e.prototype.setPassword=function(e){this._passwordService.setPassword(e)},e.prototype.onCloseOpen=function(e){e?setTimeout(function(){var e=ye("#password");e&&e.focus()},100):ye("#password").val("")},e.prototype.cancel=function(e){ye("#password").val(""),this.cancelEvent.emit(!0)},e.decorators=[{type:t.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}}"]}]}],e.ctorParameters=function(){return[{type:fe},{type:ve}]},e.propDecorators={cancelEvent:[{type:t.Output}]},e}(),xe=function(){function e(e,t){this._modalService=e,this._messageService=t}return e.prototype.intercept=function(e,t){var o=this,r="background: maroon; color: white";return t.handle(e).pipe(i.map(function(e){return e}),i.catchError(function(e){if(e instanceof p.HttpErrorResponse)switch(e.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(e.error.message),o._modalService.open(P.ErrorMessage);break;case A.Forbidden:console.error("%c Forbidden 403",r),o._messageService.changeMessage(e.error.message),o._modalService.open(P.PasswordRequired)}return n.throwError(e)}))},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:E},{type:fe}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(E),t.ɵɵinject(fe))},token:e,providedIn:"root"}),e}(),we=function(){function e(){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(e.prototype,"textChange",{get:function(){return this._textChange},enumerable:!0,configurable:!0}),e.prototype.setText=function(e){this._observer.next(e)},Object.defineProperty(e.prototype,"currentChange",{get:function(){return this._currentChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"totalChange",{get:function(){return this._totalChange},enumerable:!0,configurable:!0}),e.prototype.setCurrent=function(e){this._observerCurrent.next(e)},e.prototype.setTotal=function(e){this._observerTotal.next(e)},e}(),Se=function(){function e(e){var o=this;this._searchService=e,this.hidePanel=new t.EventEmitter(!1),this.current=0,this.total=0,e.totalChange.subscribe(function(e){o.total=e,o.current=0!==e?1:0,o._searchService.setCurrent(o.current)})}return e.prototype.ngOnInit=function(){},e.prototype.setText=function(e){this._searchService.setText(e)},e.prototype.hide=function(){this.setText(""),this.hidePanel.emit(!0)},e.prototype.prev=function(){this.current>1&&(this.current--,this._searchService.setCurrent(this.current))},e.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%}}"]}]}],e.ctorParameters=function(){return[{type:we}]},e.propDecorators={hidePanel:[{type:t.Output}],textElement:[{type:t.ViewChild,args:["text",{static:!0}]}]},e}(),Ce=d,_e=function(){function e(e,t,o,n){var i=this;this._elementRef=e,this._searchService=t,this._highlight=o,this._zoomService=n,this.current=0,this.total=0,this.zoom=100,t.currentChange.subscribe(function(e){i.current=e,0!==i.current&&i.moveToCurrent()}),t.textChange.subscribe(function(e){i.text=e,i.highlightSearch()}),this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe(function(e){i.zoom=e||i.zoom})}return e.prototype.highlightSearch=function(){var e=this._elementRef?this._elementRef.nativeElement:null;if(e){if(this.cleanHighlight(e),this.text){this.highlightEl(e);var t=e.querySelectorAll(".gd-highlight").length;this.total=t}else this.total=0;this._searchService.setTotal(this.total)}},e.prototype.moveToCurrent=function(){if(0!==this.current){this.getZoom();var e=this._elementRef?this._elementRef.nativeElement:null;if(e){e.querySelectorAll(".gd-highlight-select").forEach(function(e){Ce(e).removeClass("gd-highlight-select")});var t=e.querySelectorAll(".gd-highlight")[this.current-1];if(Ce(t).addClass("gd-highlight-select"),t){var o={left:0,top:Ce(t).offset().top+e.parentElement.parentElement.scrollTop-150};e.parentElement.parentElement.scroll(o)}}}},e.prototype.highlightEl=function(e){var t=Ce(e).find("*").contents().filter(function(){var e=this.parentElement.nodeName.toLowerCase(),t=!this.classList||!this.classList.contains("gd-highlight");return 3===this.nodeType&&0!==this.textContent.trim().length&&"style"!==e&&"title"!==e&&"body"!==e&&"script"!==e&&t}),o=this.text,n=this._highlight;t.each(function(){var e=Ce(this),t=e.text();t=n.transform(t,o),e.replaceWith(t)}),e.normalize()},e.prototype.cleanHighlight=function(e){for(var t=e.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}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={logo:[{type:t.Input}],icon:[{type:t.Input}]},e}(),Ee=function(){function e(){this._observer=new n.Subject,this._activeTabChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"activeTabChange",{get:function(){return this._activeTabChange},enumerable:!0,configurable:!0}),e.prototype.changeActiveTab=function(e){this._observer.next(e)},e}(),Ie=function(){function e(e){var t=this;this._tabActivatorService=e,this.disabled=!1,this.active=!1,this.content=!0,this._tabActivatorService.activeTabChange.subscribe(function(e){t.activation(e)})}return e.prototype.activation=function(e){this.id===e?this.active=!0:this.active=!1},e.prototype.ngOnInit=function(){},e.prototype.selectTab=function(){this.disabled||this._tabActivatorService.changeActiveTab(this.id)},e.decorators=[{type:t.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}}"]}]}],e.ctorParameters=function(){return[{type:Ee}]},e.propDecorators={id:[{type:t.Input}],tabTitle:[{type:t.Input}],icon:[{type:t.Input}],disabled:[{type:t.Input}],active:[{type:t.Input}],content:[{type:t.Input}]},e}(),Oe=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"gd-tabs",template:'
\r\n \r\n
\r\n',styles:[".gd-tabs{display:flex}"]}]}],e.ctorParameters=function(){return[]},e}(),ke=function(){function e(e,t,o,n,i,r,s,a,c,p){this.fontSize=e,this.color=t,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 e.default=function(){return new e(10,"#000000","#FFFFFF",!1,!1,!1,"Arial",!1,"","")},e}(),ze=function(){function e(){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(e.prototype,"formatBoldChange",{get:function(){return this._formatBoldChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatUnderlineChange",{get:function(){return this._formatUnderlineChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatColorChange",{get:function(){return this._formatColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatBgColorChange",{get:function(){return this._formatBgColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatFontSizeChange",{get:function(){return this._formatFontSizeChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatFontChange",{get:function(){return this._formatFontChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"undo",{get:function(){return this._undo},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"redo",{get:function(){return this._redo},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatItalicChange",{get:function(){return this._formatItalicChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatStrikeoutChange",{get:function(){return this._formatStrikeoutChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatAlignChange",{get:function(){return this._formatAlignChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatListChange",{get:function(){return this._formatListChange},enumerable:!0,configurable:!0}),e.createFontSizeOption=function(e){return{value:e,name:e+"px",separator:!1}},e.getFontSizeOptions=function(){return[e.createFontSizeOption(8),e.createFontSizeOption(10),e.createFontSizeOption(12),e.createFontSizeOption(14),e.createFontSizeOption(16),e.createFontSizeOption(18),e.createFontSizeOption(20),e.createFontSizeOption(22),e.createFontSizeOption(24)]},e.createFontOption=function(e){return{value:e,name:e,separator:!1}},e.getFontOptions=function(){var e=this,t=[];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){t.push(e.createFontOption(o))}),t},e.prototype.changeFormatFontSize=function(e){this._observerFontSize.next(e)},e.prototype.changeFormatBold=function(e){this._observerBold.next(e)},e.prototype.changeFormatUnderline=function(e){this._observerUnderline.next(e)},e.prototype.Undo=function(){this._observerUndo.next()},e.prototype.Redo=function(){this._observerRedo.next()},e.prototype.changeFormatItalic=function(e){this._observerItalic.next(e)},e.prototype.changeFormatColor=function(e){this._observerColor.next(e)},e.prototype.changeFormatBgColor=function(e){this._observerBgColor.next(e)},e.prototype.changeFormatFont=function(e){this._observerFont.next(e)},e.prototype.changeFormatStrikeout=function(e){this._observerStrikeout.next(e)},e.prototype.changeFormatAlign=function(e){this._observerAlign.next(e)},e.prototype.changeFormatList=function(e){this._observerList.next(e)},e}(),Fe=["#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"],De=function(){function e(){this.isOpen=!1,this.selectedColor=new t.EventEmitter,this.closeOutside=new t.EventEmitter,this.colors=Fe,this.white="#FFFFFF"}return e.prototype.ngOnInit=function(){},e.prototype.select=function(e,t){e.preventDefault(),e.stopPropagation(),this.selectedColor.emit(t)},e.prototype.close=function(){this.isOpen=!1,this.closeOutside.emit(!0)},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={isOpen:[{type:t.Input}],selectedColor:[{type:t.Output}],closeOutside:[{type:t.Output}]},e}(),Te=function(e){function o(){return e.call(this)||this}return f(o,e),o.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],o.ctorParameters=function(){return[]},o.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new o},token:o,providedIn:"root"}),o}(ze),Ae=function(){function e(){this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return e.prototype.restoreSelection=function(){(this.selection&&!this.selection.collapsed||this.isIE)&&this.putSelection(this.selection)},e.prototype.captureSelection=function(){var e=window.getSelection();e.rangeCount>0&&(this.selection=e.getRangeAt(0))},e.prototype.putSelection=function(e){var t=window.getSelection();t.removeAllRanges(),t.addRange(e.cloneRange())},e.prototype.refreshSelection=function(){this.captureSelection(),this.restoreSelection()},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),je=d,Le=function(){function e(e,t,o){this._formattingService=e,this._backFormattingService=t,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 e.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=je(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)},e.prototype.checkJustify=function(){var e="";return e=document.queryCommandState("justifyCenter")?"center":e,e=document.queryCommandState("justifyFull")?"full":e,e=document.queryCommandState("justifyLeft")?"left":e,e=document.queryCommandState("justifyRight")?"right":e},e.prototype.checkList=function(){var e="";return e=document.queryCommandState("insertUnorderedList")?"unordered":e,e=document.queryCommandState("insertOrderedList")?"ordered":e},e.prototype.reportFontSize=function(){var e,t;if(window.getSelection?(t=window.getSelection()).rangeCount&&3===(e=t.getRangeAt(0).commonAncestorContainer).nodeType&&(e=e.parentNode):(t=document.getSelection())&&"Control"!==t.type&&(e=t.createRange().parentElement()),e)return parseInt(this.getComputedStyleProperty(e,"fontSize").replace("px",""),10)},e.prototype.getComputedStyleProperty=function(e,t){return window.getComputedStyle?window.getComputedStyle(e,null)[t]:e.currentStyle?e.currentStyle[t]:void 0},e.prototype.ngOnInit=function(){var e=this;this._formattingService.undo.subscribe(function(){e.toggleUndo()}),this._formattingService.redo.subscribe(function(){e.toggleRedo()}),this._formattingService.formatBoldChange.subscribe(function(t){e.bold=t,e.toggleBold()}),this._formattingService.formatUnderlineChange.subscribe(function(t){e.underline=t,e.toggleUnderline()}),this._formattingService.formatItalicChange.subscribe(function(t){e.italic=t,e.toggleItalic()}),this._formattingService.formatColorChange.subscribe(function(t){e.color=t,e.setColor(t)}),this._formattingService.formatBgColorChange.subscribe(function(t){e.bgColor=t,e.setBgColor(t)}),this._formattingService.formatFontSizeChange.subscribe(function(t){e.setFontSize(t)}),this._formattingService.formatFontChange.subscribe(function(t){e.font=t,e.setFont(t)}),this._formattingService.formatStrikeoutChange.subscribe(function(t){e.strikeout=t,e.toggleStrikeout()}),this._formattingService.formatAlignChange.subscribe(function(t){e.align=t,e.toggleAlign(e.align)}),this._formattingService.formatListChange.subscribe(function(t){var o=e.list===t;e.list=t,e.toggleList(e.list,o)})},e.prototype.toggleBold=function(){document.execCommand("bold"),this._selectionService.refreshSelection()},e.prototype.toggleUnderline=function(){document.execCommand("underline"),this._selectionService.refreshSelection()},e.prototype.toggleItalic=function(){document.execCommand("italic"),this._selectionService.refreshSelection()},e.prototype.setBgColor=function(e){document.execCommand("backColor",!1,e),this._selectionService.refreshSelection()},e.prototype.setColor=function(e){document.execCommand("foreColor",!1,e),this._selectionService.refreshSelection()},e.prototype.setFontSize=function(e){if(document.getSelection().toString()){var t=""+document.getSelection()+"";this.bold&&(t=""+t+""),this.italic&&(t=""+t+""),this.underline&&(t=""+t+""),this.strikeout&&(t=""+t+""),document.execCommand("insertHTML",!1,t)}else document.execCommand("fontsize",!1,"7");this._selectionService.refreshSelection()},e.prototype.toggleUndo=function(){document.execCommand("undo")},e.prototype.toggleRedo=function(){document.execCommand("redo")},e.prototype.setFont=function(e){document.execCommand("fontName",!1,e),this._selectionService.refreshSelection()},e.prototype.toggleStrikeout=function(){document.execCommand("strikeThrough"),this._selectionService.refreshSelection()},e.prototype.toggleAlign=function(e){if(this.isIE)this.toggleAlignIE(e);else{switch(document.execCommand("styleWithCSS",!1,"true"),e){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()}},e.prototype.toggleAlignIE=function(e){this._selectionService.restoreSelection(),this._selectionService.captureSelection();var t=window.getSelection().focusNode.parentNode.parentNode;"full"===e&&(e="justify"),je(t).css("text-align",e),this._selectionService.refreshSelection()},e.prototype.toggleList=function(e,t){switch(e){case"unordered":document.execCommand("insertUnorderedList",t);break;case"ordered":document.execCommand("insertOrderedList",t)}this._selectionService.refreshSelection()},e.decorators=[{type:t.Directive,args:[{selector:"[gdFormatting]"}]}],e.ctorParameters=function(){return[{type:ze},{type:Te},{type:Ae}]},e.propDecorators={mouseup:[{type:t.HostListener,args:["mouseup"]}]},e}(),Me=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.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%)}}"]}]}],e.ctorParameters=function(){return[]},e}(),Re=function(){function e(){this._observer=new n.Subject,this._htmlContent=this._observer.asObservable()}return Object.defineProperty(e.prototype,"observer",{get:function(){return this._observer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"htmlContent",{get:function(){return this._htmlContent},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),He=function(){function e(e,t){this._selectionService=e,this._htmlService=t,this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return e.prototype.onInput=function(e){if(this.text=e.target,this.isIE&&this.text.innerHTML){var t=this.text.innerHTML.toString();this._htmlService.observer.next(t)}},e.prototype.onMouseleave=function(e){this._selectionService.captureSelection(),this.isIE&&this._htmlService.observer.next(e.target.innerHTML.toString())},e.prototype.onBlur=function(e){if(e.preventDefault(),this._selectionService.restoreSelection(),this.text.innerHTML){var t=this.text.innerHTML.toString();this._htmlService.observer.next(t)}else this._htmlService.observer.next(e.target.innerHTML.toString())},e.decorators=[{type:t.Directive,args:[{selector:"[gdEditor]"}]}],e.ctorParameters=function(){return[{type:Ae},{type:Re}]},e.propDecorators={text:[{type:t.Input}],onInput:[{type:t.HostListener,args:["keyup",["$event"]]}],onMouseleave:[{type:t.HostListener,args:["mouseleave",["$event"]]}],onBlur:[{type:t.HostListener,args:["blur",["$event"]]}]},e}(),Ue=function(){function e(){this.onLoadingChanged=new t.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(C.SAVE_TEXT),this.stopList.push(C.SAVE_OPTICAL_CODE)}return e.prototype.onRequestStart=function(e){this.stopList.find(function(t){return e.url.includes(t)})||(this.requests.push(e),this.notify())},e.prototype.onRequestFinish=function(e){var t=this.requests.indexOf(e);-1!==t&&this.requests.splice(t,1),this.notify()},e.prototype.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[]},e}(),Be=function(){function e(e){this._loadingMaskService=e,this.loadingMask=!1}return e.prototype.ngOnInit=function(){},e.prototype.ngAfterViewInit=function(){var e=this;this._loadingMaskService.onLoadingChanged.subscribe(function(t){return e.loadingMask=t})},e.decorators=[{type:t.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%)}"]}]}],e.ctorParameters=function(){return[{type:Ue}]},e.propDecorators={loadingMask:[{type:t.Input}]},e}(),We=function(){function e(e){this._loadingMaskService=e}return e.prototype.intercept=function(e,t){var o=this;this._loadingMaskService.onRequestStart(e);return t.handle(e).pipe(i.finalize(function(){return o._loadingMaskService.onRequestFinish(e)}))},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:Ue}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(Ue))},token:e,providedIn:"root"}),e}(),Ne={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},$e={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},qe=function(){function e(e){var t=this;this.dropdown=e,this.click=function(e){return t.dropdown.toggle(e)}}return e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down-toggle",template:"",encapsulation:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef(function(){return Ze})]}]}]},e.propDecorators={click:[{type:t.HostListener,args:["click",["$event"]]}]},e}(),Ve=function(){function e(e){this.dropdown=e}return Object.defineProperty(e.prototype,"horizontalAlign",{get:function(){return Ne[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"verticalAlign",{get:function(){return $e[this.dropdown.getPlacement().v].top},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOpen",{get:function(){return this.dropdown.open},enumerable:!0,configurable:!0}),e.prototype.onClickOutside=function(e){this.dropdown.close()},e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down-items",template:'',encapsulation:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef(function(){return Ze})]}]}]},e}(),Xe=function(){function e(e){var o=this;this.dropdown=e,this.class="drop-down-item",this.selected=new t.EventEmitter,this.click=function(){return o.selectEntry()}}return e.prototype.selectEntry=function(){this.selected.next(),this.dropdown.close()},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef(function(){return Ze})]}]}]},e.propDecorators={class:[{type:t.HostBinding,args:["class"]}],selected:[{type:t.Output}],click:[{type:t.HostListener,args:["click"]}]},e}(),Ze=function(){function e(){this.placement={h:"center",v:"bottom"},this.open=!1,this.class="drop-down"}return e.prototype.close=function(){this.open=!1},e.prototype.toggle=function(e){e.stopPropagation(),this.open=!this.open,document.body.click()},e.prototype.getPlacement=function(){return this.placement},e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down",template:'',encapsulation:t.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}"]}]}],e.propDecorators={placement:[{type:t.Input}],open:[{type:t.Input},{type:t.HostBinding,args:["class.show"]}],class:[{type:t.HostBinding,args:["class"]}]},e}(),Ge=function(){function e(){this.showSpinner=!1}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.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%}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={showSpinner:[{type:t.Input}]},e}(),Ye=function(){function e(){this.showToolTip=new t.EventEmitter}return e.prototype.onHovering=function(){this.showToolTip.emit(!0)},e.prototype.onUnhovering=function(){this.showToolTip.emit(!1)},e.decorators=[{type:t.Directive,args:[{selector:"[gdTooltip]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={showToolTip:[{type:t.Output}],onHovering:[{type:t.HostListener,args:["mouseenter"]}],onUnhovering:[{type:t.HostListener,args:["mouseleave"]}]},e}(),Je=function(){function e(e,t){this._factoryResolver=e,this._appRef=t}return e.prototype.addDynamicComponent=function(e,t){var o=this,n=this._factoryResolver.resolveComponentFactory(t),i=e.createComponent(n);return i.onDestroy(function(){o._appRef.detachView(i.hostView)}),i},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.ComponentFactoryResolver},{type:t.ApplicationRef}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(t.ComponentFactoryResolver),t.ɵɵinject(t.ApplicationRef))},token:e,providedIn:"root"}),e}(),Ke=function(){function e(){this.hosts=[]}return e.prototype.add=function(e){this.hosts=this.hosts.filter(function(t){return t.ident!==e.ident}),this.hosts.push(e)},e.prototype.remove=function(e){this.hosts=this.hosts.filter(function(t){return t.ident!==e.ident})},e.prototype.find=function(e){return this.hosts.find(function(t){return t.ident===e})},e}(),Qe=function(){function e(e,t){this.viewContainerRef=e,this._hostingService=t}return e.prototype.ngAfterViewInit=function(){this._hostingService.add(this)},e.prototype.ngOnDestroy=function(){this._hostingService.remove(this),this.viewContainerRef.clear()},e.decorators=[{type:t.Directive,args:[{selector:"[gdHostDynamic]"}]}],e.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:Ke}]},e.propDecorators={ident:[{type:t.Input}]},e}(),et=d,tt=function(){function e(){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 t.EventEmitter,this.offsetY=new t.EventEmitter,this.offsetTop=new t.EventEmitter,this.offsetLeft=new t.EventEmitter,this.release=new t.EventEmitter,this.grab=!1}return e.prototype.ngAfterViewInit=function(){var e=this,t=et(this.getElementId(this.SE)),o=et(this.getElementId(this.NW));if(this.init&&t&&o&&t.offset()&&o.offset()){for(var n=t.offset().left-o.offset().left,i=t.offset().top-o.offset().top;n>=this.pageWidth||i>=this.pageHeight;)n/=2,i/=2;setTimeout(function(){e.offsetX.emit(n),e.offsetY.emit(i)},100)}},e.prototype.ngOnInit=function(){},e.prototype.catchUp=function(e){e.preventDefault(),e.dataTransfer&&e.dataTransfer.setData("text","foo"),this.grab=!0,this.oldPosition=j.getMousePosition(e)},e.prototype.resize=function(e,t){if(this.grab){var o=j.getMousePosition(e);if(0!==o.x||0!==o.y){var n=this.NE===t||this.NW===t,i=this.SW===t||this.NW===t;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}}},e.prototype.setOffsets=function(e,t,o){var n=t?this.oldPosition.x-e.x:e.x-this.oldPosition.x,i=o?this.oldPosition.y-e.y:e.y-this.oldPosition.y;this.offsetX.emit(n),this.offsetY.emit(i)},e.prototype.end=function(e,t){this.resize(e,t),this.release.emit(!0),this.grab=!1},e.prototype.start=function(e){this.drop(e)},e.prototype.drop=function(e){e.stopPropagation(),e.preventDefault()},e.prototype.getElementId=function(e){return"#"+e+"-"+this.id},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={init:[{type:t.Input}],id:[{type:t.Input}],se:[{type:t.Input}],ne:[{type:t.Input}],sw:[{type:t.Input}],nw:[{type:t.Input}],pageWidth:[{type:t.Input}],pageHeight:[{type:t.Input}],offsetX:[{type:t.Output}],offsetY:[{type:t.Output}],offsetTop:[{type:t.Output}],offsetLeft:[{type:t.Output}],release:[{type:t.Output}]},e}(),ot=[_,C,E,M,T,L,j,J,K,Q,ee,R,he,V,q,W,fe,ve,xe,we,b,ie,ze,Te,ce,We,Ue,Ee,Je,Ke,X],nt=function(){function e(){s.library.add(a.fas,c.far)}return e.decorators=[{type:t.NgModule,args:[{imports:[o.CommonModule,r.FontAwesomeModule,h.ClickOutsideModule],declarations:[v,y,x,w,S,I,B,$,G,Y,Z,J,K,Q,ee,te,oe,se,ae,pe,de,le,ue,ge,me,be,Se,_e,Pe,Ie,Oe,De,Le,Me,He,Be,Ze,Xe,Ve,qe,Ge,Ye,Qe,tt],exports:[v,y,x,w,S,I,B,$,G,Y,Z,K,Q,ee,J,te,se,pe,le,ue,ge,me,be,Se,_e,Pe,Ie,Oe,De,Le,Me,Be,oe,Ze,Xe,Ve,qe,ae,qe,Ge,Ye,Qe,tt,He,Le],providers:ot}]}],e.ctorParameters=function(){return[]},e}();e.AddDynamicComponentService=Je,e.Api=C,e.BackFormattingService=Te,e.BrowseFilesModalComponent=B,e.ButtonComponent=x,e.ColorPickerComponent=De,e.CommonComponentsModule=nt,e.CommonModals=P,e.ConfigService=_,e.DisabledCursorDirective=de,e.DndDirective=oe,e.DocumentComponent=$,e.DropDownComponent=Ze,e.DropDownItemComponent=Xe,e.DropDownItemsComponent=Ve,e.DropDownToggleComponent=qe,e.EditHtmlService=Re,e.EditorDirective=He,e.ErrorInterceptorService=xe,e.ErrorModalComponent=me,e.ExcelDocumentComponent=G,e.ExcelPageComponent=Z,e.ExcelPageService=X,e.ExceptionMessageService=fe,e.FileCredentials=z,e.FileDescription=D,e.FileModel=T,e.FileService=M,e.FileUtil=L,e.Formatting=ke,e.FormattingDirective=Le,e.FormattingService=ze,e.HighlightSearchPipe=ee,e.HostDynamicDirective=Qe,e.HostingDynamicComponentService=Ke,e.HttpError=A,e.InitStateComponent=ue,e.LeftSideBarComponent=Ge,e.LoadingMaskComponent=Be,e.LoadingMaskInterceptorService=We,e.LoadingMaskService=Ue,e.LogoComponent=w,e.ModalComponent=I,e.ModalService=E,e.NavigateService=V,e.OnCloseService=ce,e.PageComponent=Y,e.PageModel=O,e.PagePreloadService=q,e.PasswordRequiredComponent=be,e.PasswordService=ve,e.RenderPrintDirective=ge,e.RenderPrintService=he,e.RotatedPage=k,e.RotationDirective=le,e.SanitizeHtmlPipe=J,e.SanitizeResourceHtmlPipe=K,e.SanitizeStylePipe=Q,e.SaveFile=F,e.ScrollableDirective=se,e.SearchComponent=Se,e.SearchService=we,e.SearchableDirective=_e,e.SelectComponent=pe,e.SelectionService=Ae,e.SidePanelComponent=y,e.SuccessModalComponent=Me,e.TabActivatorService=Ee,e.TabComponent=Ie,e.TabbedToolbarsComponent=Pe,e.TooltipComponent=S,e.TopToolbarComponent=v,e.UploadFileZoneComponent=te,e.UploadFilesService=R,e.Utils=j,e.ViewportService=ie,e.WindowService=b,e.ZoomDirective=ae,e.ZoomService=W,e.ɵa=Oe,e.ɵb=Ye,e.ɵc=tt,Object.defineProperty(e,"__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 40acfec8a..73f931a72 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/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","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","visibility","Api","VIEWER_APP","SIGNATURE_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","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getSignatureApiEndpoint","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","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","c","PageComponent","test","number","editable","changes","data","imgData","isHtml","SanitizeHtmlPipe","sanitizer","bypassSecurityTrustHtml","Pipe","DomSanitizer","SanitizeResourceHtmlPipe","bypassSecurityTrustResourceUrl","SanitizeStylePipe","bypassSecurityTrustStyle","HighlightSearchPipe","re","RegExp","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","parseInt","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","color","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","toString","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","position","notSW","notNE","setOffsets","end","start","drop","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,4lBAOFJ,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,glDAKCQ,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,WAuBE,SAAAA,EAAYC,GAAZ,IAAAhC,EAAA9B,KAdSA,KAAA+D,UAAW,EACX/D,KAAAgE,OAAS,UACThE,KAAAiE,UAAW,EAKXjE,KAAAkE,QAAS,EAETlE,KAAAmE,aAAc,EAEvBnE,KAAAoE,aAAc,EAIZpE,KAAKoD,UAAYU,EAAcV,YAC/BU,EAAcO,SAAStB,UAAS,SAAEuB,GAChCxC,EAAKsB,UAAYU,EAAcV,cA0BrC,OAtBES,EAAA3D,UAAAqE,gBAAA,WACE,OAAOvE,KAAK+D,SAAW,cAAgB,IAGzCF,EAAA3D,UAAAsE,WAAA,WACMxE,KAAKoD,YAAcpD,KAAKiE,WAC1BjE,KAAKyE,WAAa,YAItBZ,EAAA3D,UAAAwE,aAAA,WACM1E,KAAKoD,YAAcpD,KAAKiE,WAC1BjE,KAAKyE,UAAYzE,KAAK2E,SAAS3E,KAAKyE,UAAW,aAI3CZ,EAAA3D,UAAAyE,SAAR,SAAiBC,EAAaC,GAC5B,KAAOD,IAA6B,IAAtBA,EAAIjB,QAAQkB,IACxBD,EAAMA,EAAIE,QAAQD,EAAK,IAEzB,OAAOD,uBA/CV5D,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,YACVC,SAAA,0tCAJMU,uCAQLF,EAAAA,sBACAA,EAAAA,wBACAA,EAAAA,oBACAA,EAAAA,yBACAA,EAAAA,uBACAA,EAAAA,yBACAA,EAAAA,sBACAA,EAAAA,wBACAA,EAAAA,2BACAA,EAAAA,SAkCHkC,EApDA,GCAAkB,EAAA,WAYE,SAAAA,KAKF,OAHEA,EAAA7E,UAAA8E,SAAA,iCAZDhE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,UACVC,SAAA,omBAKCQ,EAAAA,oBACAA,EAAAA,SAOHoD,EAjBA,GCAAE,EAAA,WAYE,SAAAA,IAFAjF,KAAAkF,WAAa,SAaf,OARE1F,OAAAwD,eACIiC,EAAA/E,UAAA,OAAI,KADR,SACSW,GACPb,KAAKkF,WAAarE,EAAQ,QAAU,0CAGtCoE,EAAA/E,UAAA8E,SAAA,iCAlBDhE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,aACVC,SAAA,2jBAKCQ,EAAAA,oBAMAA,EAAAA,SAQHsD,EAvBA,GCAAE,EAAA,WAGA,SAAAA,KAyCA,OAxCgBA,EAAAC,WAAa,UACbD,EAAAE,cAAgB,aAChBF,EAAAG,WAAa,UACbH,EAAAI,eAAiB,cACjBJ,EAAAK,eAAiB,cACjBL,EAAAM,qBAAuBvD,OAAOwD,SAASC,KACvCR,EAAAS,eAAiB,gBACjBT,EAAAU,YAAc,cACdV,EAAAW,0BAA4B,2BAC5BX,EAAAY,mBAAqB,oBACrBZ,EAAAa,qBAAuB,uBACvBb,EAAAc,iBAAmB,kBACnBd,EAAAe,mBAAqB,oBACrBf,EAAAgB,WAAa,aACbhB,EAAAiB,eAAiB,YACjBjB,EAAAkB,gBAAkB,kBAClBlB,EAAAmB,aAAe,eACfnB,EAAAoB,UAAY,YACZpB,EAAAqB,cAAgB,WAChBrB,EAAAsB,aAAe,WACftB,EAAAuB,sBAAwB,uBACxBvB,EAAAwB,kBAAoB,mBACpBxB,EAAAyB,UAAY,YACZzB,EAAA0B,WAAa,aACb1B,EAAA2B,WAAa,aACb3B,EAAA4B,KAAO,QACP5B,EAAA6B,gBAAkB,kBAClB7B,EAAA8B,qBAAuB,sBAEvB9B,EAAA+B,gBAAkB,CAC9BC,QAAS,IAAIC,EAAAA,YAAY,CACvBC,eAAgB,sBAGNlC,EAAAmC,gCAAkC,CAC9CH,QAAS,IAAIC,EAAAA,YAAY,CACvBC,eAAgB,qBAElBE,aAAY,QAEhBpC,EA5CA,gBAmDE,SAAAqC,IACExH,KAAKyH,YAActC,EAAIM,qBAkC3B,OA/BEjG,OAAAwD,eAAIwE,EAAAtH,UAAA,cAAW,KAwBf,WACE,OAAOF,KAAK0H,kBAzBd,SAAgBC,GACd3H,KAAK0H,aAAeC,GAAOA,EAAIC,OAAOC,SAAS,KAAOF,EAAIG,UAAU,EAAGH,EAAI/G,OAAS,GAAK+G,mCAG3FH,EAAAtH,UAAA6H,kBAAA,SAAkBC,GAChB,OAAQhI,KAAKyH,YAAYI,SAASG,GAAOhI,KAAKyH,YAAczH,KAAKyH,YAAcO,GAAO7C,EAAIU,aAG5F2B,EAAAtH,UAAA+H,qBAAA,WACE,OAAOjI,KAAK0H,aAAaG,SAAS1C,EAAIC,YAAcpF,KAAK0H,aAAe1H,KAAK0H,aAAevC,EAAIC,YAGlGoC,EAAAtH,UAAAgI,qBAAA,WACE,OAAOlI,KAAK0H,aAAaE,OAAOC,SAAS1C,EAAIG,YAActF,KAAK0H,aAAe1H,KAAK0H,aAAevC,EAAIG,YAGzGkC,EAAAtH,UAAAiI,yBAAA,WACE,OAAOnI,KAAK0H,aAAaE,OAAOC,SAAS1C,EAAII,gBAAkBvF,KAAK0H,aAAe1H,KAAK0H,aAAevC,EAAII,gBAG7GiC,EAAAtH,UAAAkI,yBAAA,WACE,OAAOpI,KAAK0H,aAAaE,OAAOC,SAAS1C,EAAIK,gBAAkBxF,KAAK0H,aAAe1H,KAAK0H,aAAevC,EAAIK,gBAO7GgC,EAAAtH,UAAAmI,wBAAA,WACE,OAAOrI,KAAK0H,aAAaG,SAAS1C,EAAIE,eAAiBrF,KAAK0H,aAAe1H,KAAK0H,aAAevC,EAAIE,mCAtCtGiD,EAAAA,mDAwCDd,KCtFAe,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,IACUhJ,KAAAiJ,OAAgB,GAuB1B,OArBED,EAAA9I,UAAAgJ,IAAA,SAAIC,GACFnJ,KAAKiJ,OAAOG,KAAKD,IAGnBH,EAAA9I,UAAAmJ,OAAA,SAAOC,GACLtJ,KAAKiJ,OAASjJ,KAAKiJ,OAAOM,OAAM,SAACC,GAAK,OAAAA,EAAEF,KAAOA,KAGjDN,EAAA9I,UAAAuJ,KAAA,SAAKH,OACGH,EAAanJ,KAAKiJ,OAAOM,OAAM,SAACC,GAAK,OAAAA,EAAEF,KAAOA,IAAI,GACpDH,GACFA,EAAMM,QAIVT,EAAA9I,UAAAwJ,MAAA,SAAMJ,OACEH,EAAanJ,KAAKiJ,OAAOM,OAAM,SAACC,GAAK,OAAAA,EAAEF,KAAOA,IAAI,GACpDH,GACFA,EAAMO,SAGZV,KCnCAW,EAAA,WAgBE,SAAAA,EAAoBC,EAA4BC,GAA5B7J,KAAA4J,aAAAA,EALV5J,KAAA8J,QAAU,IAAIxI,EAAAA,aACdtB,KAAA+J,OAAS,IAAIzI,EAAAA,aACvBtB,KAAAkF,YAAa,EAIXlF,KAAKgK,QAAUH,EAAGI,cA0CtB,OAvCEN,EAAAzJ,UAAA8E,SAAA,WACOhF,KAAKsJ,IAKVY,SAASC,KAAKC,YAAYpK,KAAKgK,SAE/BhK,KAAK4J,aAAaV,IAAIlJ,OANpBqK,QAAQC,MAAM,0BASlBX,EAAAzJ,UAAAqK,YAAA,WACEvK,KAAK4J,aAAaP,OAAOrJ,KAAKsJ,IAC9BtJ,KAAKgK,QAAQX,UAGfM,EAAAzJ,UAAAuJ,KAAA,WACEzJ,KAAKkF,YAAa,EAClBlF,KAAK8J,QAAQrI,MAAK,IAGpBkI,EAAAzJ,UAAAwJ,MAAA,WACE5G,MAAM0H,iBACN1H,MAAM2H,kBACNzK,KAAKkF,YAAa,EAClBlF,KAAK8J,QAAQrI,MAAK,IAGpBkI,EAAAzJ,UAAAwK,QAAA,SAAQC,GACNA,EAAOF,kBACHE,GAAUA,EAAO/H,QAA0C,gBAAtB+H,EAAa,OAAErB,IACtDtJ,KAAK0J,SAITC,EAAAzJ,UAAA0K,YAAA,WACE5K,KAAK+J,OAAOtI,MAAK,GACjBzB,KAAK0J,6BAtDR1I,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,WACVC,SAAA,sxDAJM6H,SADW6B,EAAAA,0CAShBlJ,EAAAA,qBACAA,EAAAA,uBACAC,EAAAA,uBACAA,EAAAA,UA+CH+H,EA3DA,KCAA,eASA,eASE,SAAYmB,EAAcC,GACxB/K,KAAK8K,KAAOA,EACZ9K,KAAK+K,SAAWA,iBAOlB,SAAAC,EAAYF,EAAcC,EAAkBE,GAA5C,IAAAnJ,EACEoJ,EAAAxK,KAAAV,KAAM8K,EAAMC,IAAS/K,YACrB8B,EAAKmJ,QAAUA,IAEnB,OAP8BE,EAAAA,EAAAA,GAO9BH,GAP8BI,KAS9B,WAGEpL,KAAAqL,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,KAqBA,OApBgBA,EAAAC,iBAAd,SAA+BjJ,OACvBkJ,EAAQ,CACZxC,EAAG,EACHyC,EAAG,GAECC,EAA+BhK,OAAY,MAC3CiK,EAAKrJ,GAASoJ,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,GAEXF,kBAEA,SAAAiB,KA2FA,OAbgBA,EAAAC,KAAd,SAAmBC,EAAkBC,GACnC,GAAID,IAAaC,EAAa,KACtBC,EAAUF,EAASG,MAAM,KACzBC,EAAOF,EAAQG,MAAM5J,cAC3B,YAAkC,IAAvBqJ,EAASQ,IAAIF,GACfF,EAAQvM,OAAS,EAAImM,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,aChLFsF,EAAA,WAME,SAAAA,IAAA,IAAAvQ,EAAA9B,KACEA,KAAKsS,eAAiB,IAAIC,EAAAA,WAAU,SAACC,GACnC,OAAA1Q,EAAK2Q,UAAYD,IAUvB,OAPEhT,OAAAwD,eAAIqP,EAAAnS,UAAA,gBAAa,KAAjB,WACE,OAAOF,KAAKsS,gDAGdD,EAAAnS,UAAAwS,gBAAA,SAAgBC,GACd3S,KAAKyS,UAAU9R,KAAKgS,IAExBN,EAlBA,GCIMO,EAAIC,EAMJC,EAAkB,CAAC,CAACC,KAJN,OAIyBrF,KAAM,OAAQ,CAACqF,KAFzC,MAE2DrF,KAAM,SAEpFsF,EAAA,WAkBE,SAAAA,EAAoBC,GAAAjT,KAAAiT,eAAAA,EAZpBjT,KAAAkT,QAAUJ,EAIA9S,KAAAmT,iBAAmB,IAAI7R,EAAAA,aACvBtB,KAAAoT,kBAAoB,IAAI9R,EAAAA,aACxBtB,KAAAqT,aAAe,IAAI/R,EAAAA,aACnBtB,KAAAsT,QAAU,IAAIhS,EAAAA,aAExBtB,KAAAuT,eAAgB,EAChBvT,KAAAwT,gBAAiB,EA0FnB,OArFER,EAAA9S,UAAA8E,SAAA,aAGAgO,EAAA9S,UAAAuT,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,EAAA9S,UAAA6T,cAAA,SAAcC,GACZ,OAAOjH,EAASC,KAAKgH,EAAKjB,KAAMiB,EAAKC,WAAWxG,QAGlDuF,EAAA9S,UAAAgU,cAAA,SAAcF,GACZ,OAAOjH,EAASC,KAAKgH,EAAKjB,KAAMiB,EAAKC,WAAWvG,MAGlDsF,EAAA9S,UAAAiU,OAAA,SAAOH,GACLhU,KAAKoU,aAAeJ,EAChBA,EAAKC,WAAaD,EAAK9G,YACzBlN,KAAKoT,kBAAkB3R,KAAKuS,EAAKjB,MAEjC/S,KAAKmT,iBAAiB1R,KAAKuS,EAAKlJ,OAIpCkI,EAAA9S,UAAAmU,KAAA,WACE,GAAIrU,KAAKoU,aAAc,KACjBtJ,EAAO9K,KAAKoU,aAAatJ,KAE3BA,EADEA,EAAKlK,OAAS,IAA4B,IAAvBkK,EAAKnH,QAAQ,KAC3B,GAEAmH,EAAKhG,QAAQ,eAAgB,IAEtC9E,KAAKoT,kBAAkB3R,KAAKqJ,KAIhCkI,EAAA9S,UAAAoU,aAAA,SAAa3J,GAtEI,QAuEIA,EACjB3K,KAAKuT,eAAgB,GAErBvT,KAAKuT,eAAgB,EACrBX,EAAE,oBAAoB2B,QAAQ,WAIlCvB,EAAA9S,UAAAsU,QAAA,SAAQ7J,GAEFA,GACF3K,KAAKyU,MAAQ,KACbzU,KAAKoT,kBAAkB3R,KAAK,IAC5BzB,KAAKuT,eAAgB,EACrBvT,KAAKoU,aAAe,MAEpBpU,KAAKsT,QAAQ7R,MAAK,IAItBuR,EAAA9S,UAAAwU,YAAA,WACE,OAAQ1U,KAAKyU,OAGfzB,EAAA9S,UAAAyU,UAAA,SAAUhN,GACJA,IACF3H,KAAKqT,aAAa5R,KAAKkG,GACvB3H,KAAK4U,gBAIT5B,EAAA9S,UAAA2U,gBAAA,SAAgBJ,GACdzU,KAAKiT,eAAeP,gBAAgB+B,IAGtCzB,EAAA9S,UAAA0U,YAAA,WACE5U,KAAKwT,gBAAiB,EACtBxT,KAAKuT,eAAgB,uBAxGxBvS,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,wBACVC,SAAA,iqNAZMkR,oCAkBL1Q,EAAAA,4BACAA,EAAAA,gCACAC,EAAAA,kCACAA,EAAAA,6BACAA,EAAAA,wBACAA,EAAAA,UA6FHoR,EA1GA,GCZA8B,EAAA,WAOE,SAAAA,IAJQ9U,KAAAyS,UAA6B,IAAIzQ,EAAAA,QACxBhC,KAAA+U,YAAkC/U,KAAKyS,UAAUxP,eAkCpE,OA5BEzD,OAAAwD,eAAI8R,EAAA5U,UAAA,OAAI,KAAR,WACE,OAAOF,KAAKgV,uCAGdxV,OAAAwD,eAAI8R,EAAA5U,UAAA,aAAU,KAAd,WACE,OAAOF,KAAK+U,6CAGdD,EAAA5U,UAAA+U,WAAA,SAAWC,GACTlV,KAAKgV,MAAQE,EACblV,KAAKyS,UAAU9R,KAAKuU,IAGdJ,EAAA5U,UAAAiV,iBAAR,SAAyBtQ,EAAUkO,EAAcqC,GAC/C,YAD+C,IAAAA,IAAAA,GAAA,GACxC,CAACvU,MAAOgE,EAAKkO,KAAMA,EAAMsC,UAAWD,IAG7CN,EAAA5U,UAAAoV,YAAA,SAAYrT,EAAOG,GACjB,MAAO,CAACpC,KAAKmV,iBAAiB,GAAI,OAChCnV,KAAKmV,iBAAiB,GAAI,OAC1BnV,KAAKmV,iBAAiB,IAAI,QAC1BnV,KAAKmV,iBAAiB,IAAK,QAC3BnV,KAAKmV,iBAAiB,IAAK,QAC3BnV,KAAKmV,iBAAiB,IAAK,QAC3BnV,KAAKmV,iBAAiB,EAAG,IAAI,GAC7BnV,KAAKmV,iBAAiBlT,EAAO,aAC7BjC,KAAKmV,iBAAiB/S,EAAQ,gBAEpC0S,EAtCA,GCeMlC,EAAIC,EAEV0C,EAAA,WA+BE,SAAAA,EAAsBC,EACFC,EACAC,GAFpB,IAAA5T,EAAA9B,KAAsBA,KAAAwV,YAAAA,EACFxV,KAAAyV,aAAAA,EACAzV,KAAA0V,eAAAA,EAvBpB1V,KAAA2V,MAAO,EAGP3V,KAAA4V,SAAW,KACX5V,KAAA6V,UAAY,KACZ7V,KAAA8V,cAAgB,KAChB9V,KAAA+V,eAAiB,KACjB/V,KAAAgW,MAAQ,KACRhW,KAAAiW,UAAY,KACZjW,KAAAkW,UAAY,KACZlW,KAAA6N,IAAM,KACN7N,KAAAwJ,EAAI,EACJxJ,KAAAmW,MAAQ,EACRnW,KAAAiM,EAAI,EACJjM,KAAAoW,MAAQ,EACRpW,KAAAqW,YAAc,KACdrW,KAAAsW,kBAAoB,KACpBtW,KAAAuW,SAAW,EACXvW,KAAAwW,UAAY,EAOVf,EAAagB,WAAW1T,UAAS,SAAE8B,GACjC/C,EAAKoT,KAAOrQ,IAGd7E,KAAKoD,UAAYsS,EAAetS,YAgMpC,OA7LEmS,EAAArV,UAAA8E,SAAA,aAGAuQ,EAAArV,UAAAwW,YAAA,WACkB1W,KAAKwV,YAAYvL,cAAc0M,SAASC,KAAK,GAAGD,SAASC,KAAK,GAC7DC,MAAMC,UAAY,IAOrCvB,EAAArV,UAAA6W,gBAAA,WAEE/W,KAAK6N,IAAM7N,KAAKwV,YAAYvL,cAAc0M,SAASC,KAAK,GAAGD,SAASC,KAAK,GAEzE5W,KAAKkW,UAAYlW,KAAKwV,YAAYvL,cAElCjK,KAAK4V,SAAW5V,KAAK6N,IAAImJ,YACzBhX,KAAK6V,UAAY7V,KAAK6N,IAAIoJ,aAC1BjX,KAAK8V,cAAgB9V,KAAK6N,IAAIqJ,YAG9BlX,KAAKgW,MAAShW,KAAK8V,cAAgB9V,KAAK4V,SAAY5V,KAAKyV,aAAaP,KAAO,IAE7ElV,KAAKiW,UAAYjW,KAAKgW,MACtBhW,KAAK+V,eAAiB/V,KAAKkW,UAAUiB,aACrCnX,KAAKuW,SAAWvW,KAAK4V,SAAW5V,KAAKgW,MACrChW,KAAKwW,UAAYxW,KAAK6V,UAAY7V,KAAKgW,MAExB,IAAIoB,EAAOpX,KAAKkW,YAIjCX,EAAArV,UAAAmX,QAAA,WACE,MAAuD,oBAAhDtK,EAASC,KAAKhN,KAAKgU,KAAKlJ,MAAM,GAAO2C,QAG9C8H,EAAArV,UAAAoX,qBAAA,SAAqBzW,GACnB,OAAOA,GAASb,KAAKuX,KAAOxK,EAASC,KAAKhN,KAAKgU,KAAKlJ,MAAM,GAAO8C,KAAO,OAG1E2H,EAAArV,UAAAsX,OAAA,WACE,OAAOhU,UAAUC,UAAUC,cAAcC,QAAQ,SAAW,GAG9D4R,EAAArV,UAAAuX,mBAAA,eAEQzN,EADoBhK,KAAKwV,YAAYvL,cAAcyN,iBAAiB,eACxCd,KAAK,GACnC5M,GACF4I,EAAE5I,GAASuK,QAAQ,UAIvBgB,EAAArV,UAAAyX,iBAAA,SAAiB9N,GAGf,QAFIL,EAAI,EAAGyC,EAAI,EAED,OAAPpC,GACLL,GAAKK,EAAG+N,WACR3L,GAAKpC,EAAGgO,UACRhO,EAAKA,EAAGiO,aAGV,MAAO,CAACtO,EAAGA,EAAGyC,EAAGA,IAGnBsJ,EAAArV,UAAA6X,eAAA,SAAeC,EAAKC,EAAaC,GAM/B,OALIF,EAAMC,EAAcjY,KAAKgW,MAAQkC,EACnCF,EAAMC,EAAcjY,KAAKgW,MAAQkC,EACxBF,EAAM,IACfA,EAAM,GAEDA,GAGTzC,EAAArV,UAAAiY,cAAA,WACEnY,KAAKmW,MAAQnW,KAAKwJ,EAClBxJ,KAAKoW,MAAQpW,KAAKiM,GAGpBsJ,EAAArV,UAAAkY,UAAA,SAAUC,EAAQC,OAGVC,EAAOvY,KAAK+X,eAAe/X,KAAKmW,MAAQkC,EAASrY,KAAKgW,MAC1DpC,KAAK4E,IAAIxY,KAAK8V,cAAe9V,KAAKuW,UAAWvW,KAAK4V,UACpD5V,KAAKwJ,EAAI+O,EAETvY,KAAKkW,UAAUtJ,YAAcgH,KAAK6E,KAAKF,EAAOvY,KAAKgW,WAE7C0C,EAAO1Y,KAAK+X,eAAe/X,KAAKoW,MAAQkC,EAAStY,KAAKgW,MAC1DpC,KAAK4E,IAAIxY,KAAK+V,eAAgB/V,KAAKwW,WAAYxW,KAAK6V,WACtD7V,KAAKiM,EAAIyM,EACT1Y,KAAKkW,UAAUpJ,WAAa8G,KAAK6E,KAAKC,EAAO1Y,KAAKgW,OAElDhW,KAAK6N,IAAIgJ,MAAMC,UAAY,SAAW9W,KAAKgW,MAAQ,KAGrDT,EAAArV,UAAAyY,UAAA,SAAUC,GACR5Y,KAAKgW,MAAQhW,KAAKiW,UAAY2C,EAE9B5Y,KAAKuW,SAAWvW,KAAK4V,SAAW5V,KAAKgW,MACrChW,KAAKwW,UAAYxW,KAAK6V,UAAY7V,KAAKgW,MAGvChW,KAAKoY,UAAU,EAAG,IAGpB7C,EAAArV,UAAA2Y,UAAA,SAAUlO,OACFqN,EAAMhY,KAAK2X,iBAAiB3X,KAAKkW,WAGjCtJ,EAAa1K,OAAO4W,YAAc5W,OAAO4W,YAAc5O,SAASC,KAAKyC,WACrEE,EAAY5K,OAAO6W,YAAc7W,OAAO6W,YAAc7O,SAASC,KAAK2C,UAK1E,MAAO,CAACtD,GAHOxJ,KAAKwJ,GAAKmB,EAAOqO,OAAOxP,EAAIwO,EAAIxO,EAAIoD,GAAc5M,KAAKgW,MAGpD/J,GAFHjM,KAAKiM,GAAKtB,EAAOqO,OAAO/M,EAAI+L,EAAI/L,EAAIa,GAAa9M,KAAKgW,QAKvET,EAAArV,UAAA+Y,gBAAA,WACEjZ,KAAKiW,UAAYjW,KAAKgW,OAGxBT,EAAArV,UAAAgZ,WAAA,SAAWN,EAASO,EAAUC,EAAUC,GAEtCrZ,KAAK2Y,UAAUC,OAGTU,GAActZ,KAAKwJ,EAAIoK,KAAK4E,IAAIxY,KAAK8V,cAAe9V,KAAKuW,UAAY,EAAIvW,KAAKgW,MAC9EuD,GAAcvZ,KAAKiM,EAAI2H,KAAK4E,IAAIxY,KAAK+V,eAAgB/V,KAAKwW,WAAa,EAAIxW,KAAKgW,MAGhFqC,GAAUiB,EAAaH,GAAYnZ,KAAKgW,MACxCsC,GAAUiB,EAAaH,GAAYpZ,KAAKgW,MAG9ChW,KAAKoY,UAAUC,EAAQC,GAElBe,IACHrZ,KAAKiZ,kBACLjZ,KAAKmY,kBAIT5C,EAAArV,UAAAsZ,QAAA,SAAQ7O,GACN,GAAyB,OAArB3K,KAAKqW,YAAsB,CAC7BrW,KAAKqW,YAAcrW,KAAK6Y,UAAUlO,OAC5B8O,EAAUzZ,KAAKqW,YAAY7M,EAAIxJ,KAAKgW,QAAUhW,KAAKwJ,EAAIxJ,KAAKgW,MAAQpC,KAAK4E,IAAIxY,KAAK8V,cAAe9V,KAAKuW,UAAY,GAClHmD,EAAU1Z,KAAKqW,YAAYpK,EAAIjM,KAAKgW,QAAUhW,KAAKiM,EAAIjM,KAAKgW,MAAQpC,KAAK4E,IAAIxY,KAAK+V,eAAgB/V,KAAKwW,WAAa,GAC1HxW,KAAKsW,kBAAoB,CAAC9M,EAAGiQ,EAASxN,EAAGyN,OAGrCC,EAAW3Z,KAAKgW,MAAQrL,EAAOqL,MAI/B4D,EAAa,CAACpQ,GAFNxJ,KAAKqW,YAAY7M,EAAImQ,EAAW3Z,KAAKsW,kBAAkB9M,GAEtCmQ,EAAU1N,GAD3BjM,KAAKqW,YAAYpK,EAAI0N,EAAW3Z,KAAKsW,kBAAkBrK,GACjB0N,GAEpD3Z,KAAKkZ,WAAWvO,EAAOqL,MAAO4D,EAAWpQ,EAAGoQ,EAAW3N,GAAG,IAG5DsJ,EAAArV,UAAA2Z,WAAA,SAAWlP,GACT3K,KAAKiZ,kBACLjZ,KAAKmY,gBACLnY,KAAKqW,YAAc,MAGrBd,EAAArV,UAAA4Z,MAAA,SAAMnP,KAON4K,EAAArV,UAAA6Z,SAAA,SAASpP,KAMT4K,EAAArV,UAAA8Z,YAAA,SAAYrP,GACV,IAAK3K,KAAKoD,WACgB,IAApBuH,EAAOsP,SAAgB,KACnBC,EAAIla,KAAK6Y,UAAUlO,GACzB3K,KAAKkZ,WAAW,EAAGgB,EAAE1Q,EAAG0Q,EAAEjO,GAAG,yBAnOpCjL,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,cACVC,SAAA,86CAhBA0J,EAAAA,kBAOMiK,SAEAjT,mCAYLF,EAAAA,gCACAA,EAAAA,oBACAA,EAAAA,SA8NH4T,EAvOA,GCjBA4E,EAAA,WAkBE,SAAAA,KAoBF,OAjBEA,EAAAja,UAAA8E,SAAA,yBACsC,2BAA2BoV,KAAK5W,UAAUC,YACnD,IAAhBzD,KAAKqa,SACdra,KAAKsa,UAAW,IAIpBH,EAAAja,UAAAwW,YAAA,SAAY6D,GAGVva,KAAKwa,KAAqB,OAAdxa,KAAKwa,KAAgBxa,KAAKwa,KAAK1V,QAAQ,SAAS,MAAMA,QAAQ,UAAU,IAAM,KAE1F9E,KAAKya,QADsB,yBAEtBza,KAAK0a,SACR1a,KAAKya,SAAWza,KAAKwa,2BAjC1BxZ,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,UACVC,SAAA,u2BAKCQ,EAAAA,qBACAA,EAAAA,sBACAA,EAAAA,sBACAA,EAAAA,oBACAA,EAAAA,sBACAA,EAAAA,wBACAA,EAAAA,SAuBHwY,EAtCA,GCAAQ,EAAA,WAKE,SAAAA,EAAoBC,GAAA5a,KAAA4a,UAAAA,EAMtB,OAHED,EAAAza,UAAA4W,UAAA,SAAUnG,GACR,OAAO3Q,KAAK4a,UAAUC,wBAAwBlK,wBANjDmK,EAAAA,KAAI7Z,KAAA,CAAC,CAAC8R,KAAM,wDAFLgI,EAAAA,gBAURJ,EAXA,gBAeE,SAAAK,EAAoBJ,GAAA5a,KAAA4a,UAAAA,EAMtB,OAHEI,EAAA9a,UAAA4W,UAAA,SAAUnG,GACR,OAAO3Q,KAAK4a,UAAUK,+BAA+BtK,wBANxDmK,EAAAA,KAAI7Z,KAAA,CAAC,CAAC8R,KAAM,gEAZLgI,EAAAA,gBAoBRC,kBAIE,SAAAE,EAAoBN,GAAA5a,KAAA4a,UAAAA,EAMtB,OAHEM,EAAAhb,UAAA4W,UAAA,SAAUnG,GACR,OAAO3Q,KAAK4a,UAAUO,yBAAyBxK,wBANlDmK,EAAAA,KAAI7Z,KAAA,CAAC,CAAC8R,KAAM,yDAtBLgI,EAAAA,gBA8BRG,kBAEA,SAAAE,KAUA,OAPEA,EAAAlb,UAAA4W,UAAA,SAAUjW,EAAeI,GACvB,IAAKA,EACH,OAAOJ,MAEHwa,EAAK,IAAIC,OAAOra,EAAM,MAC5B,OAAOJ,EAAMiE,QAAQuW,EAAI,6DAR5BP,EAAAA,KAAI7Z,KAAA,CAAC,CAAC8R,KAAM,gBAUbqI,KC3CAG,EAAA,WAYE,SAAAA,EAAoBtI,GAAAjT,KAAAiT,eAAAA,EAFVjT,KAAAwb,YAAc,IAAIla,EAAAA,aAqB9B,OAjBEia,EAAArb,UAAA8E,SAAA,aAGAuW,EAAArb,UAAA2U,gBAAA,SAAgBJ,GACdzU,KAAKiT,eAAeP,gBAAgB+B,GACpCzU,KAAKyb,iBAGPF,EAAArb,UAAAub,cAAA,WACEzb,KAAKwb,YAAY/Z,MAAK,IAGxB8Z,EAAArb,UAAAwJ,MAAA,SAAMiB,GACqB,gBAArBA,EAAO/H,OAAO0G,IAChBtJ,KAAKyb,qCAzBVza,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,sBACVC,SAAA,21CAJMkR,0CASLzQ,EAAAA,UAqBH2Z,EA/BA,GCAAG,EAAA,WAgBE,SAAAA,EAAsBC,GAAA3b,KAAA2b,oBAAAA,EARZ3b,KAAAsT,QAAU,IAAIhS,EAAAA,aACdtB,KAAA4b,QAAU,IAAIta,EAAAA,aACdtB,KAAA6b,QAAU,IAAIva,EAAAA,aAEKtB,KAAA8b,QAAS,EAE9B9b,KAAA+b,YAAc,EAsDxB,OAhDSL,EAAAxb,UAAA8b,YADP,SACmBC,GACjBA,EAAIzR,iBACJyR,EAAIxR,kBACJzK,KAAK+b,cACL/b,KAAK8b,QAAS,EACd9b,KAAK4b,QAAQna,MAAK,IAIbia,EAAAxb,UAAAgc,WADP,SACkBD,GAGhB,OAFAA,EAAIzR,iBACJyR,EAAIxR,mBACG,GAIFiR,EAAAxb,UAAAic,YADP,SACmBF,GACjBA,EAAIzR,iBACJyR,EAAIxR,kBACJzK,KAAK+b,cACoB,IAArB/b,KAAK+b,cACP/b,KAAK8b,QAAS,EACd9b,KAAKoc,cAKFV,EAAAxb,UAAAmc,OADP,SACcJ,GACZA,EAAIzR,iBACJyR,EAAIxR,sBACEgK,EAAQwH,EAAIK,aAAa7H,MAC3BA,EAAM7T,OAAS,IACjBZ,KAAK8b,QAAS,EACd9b,KAAK6b,QAAQpa,MAAK,GAClBzB,KAAK2b,oBAAoBjJ,gBAAgB+B,GACzCzU,KAAKoc,cAKFV,EAAAxb,UAAAqc,QADP,SACezZ,GACb9C,KAAKoc,aAGCV,EAAAxb,UAAAkc,UAAR,WACEpc,KAAKsT,QAAQ7R,MAAK,GAClBzB,KAAK4b,QAAQna,MAAK,wBA/DrB+a,EAAAA,UAASvb,KAAA,CAAC,CACTC,SAAU,uDAHJmR,sCAOLzQ,EAAAA,wBACAA,EAAAA,wBACAA,EAAAA,uBAEA6a,EAAAA,YAAWxb,KAAA,CAAC,qCAOZyb,EAAAA,aAAYzb,KAAA,CAAC,YAAa,CAAC,+BAS3Byb,EAAAA,aAAYzb,KAAA,CAAC,WAAY,CAAC,gCAO1Byb,EAAAA,aAAYzb,KAAA,CAAC,YAAa,CAAC,2BAW3Byb,EAAAA,aAAYzb,KAAA,CAAC,OAAQ,CAAC,4BAatByb,EAAAA,aAAYzb,KAAA,CAAC,QAAS,CAAC,cAS1Bya,EApEA,GCAAiB,EAAA,WAME,SAAAA,IAAA,IAAA7a,EAAA9B,KACEA,KAAK4c,cAAgB,IAAIrK,EAAAA,WAAU,SAACC,GAClC,OAAA1Q,EAAK2Q,UAAYD,IAYvB,OATEhT,OAAAwD,eAAI2Z,EAAAzc,UAAA,eAAY,KAAhB,WACE,OAAOF,KAAK4c,+CAGdD,EAAAzc,UAAA2c,qBAAA,SAAqBC,GAChB9c,KAAKyS,WACNzS,KAAKyS,UAAU9R,KAAKmc,IAG1BH,EApBA,GCAAI,EAAA,WAaE,SAAAA,EAAoBC,GAApB,IAAAlb,EAAA9B,KAAoBA,KAAAgd,oBAAAA,EALZhd,KAAAid,aAAe,EACfjd,KAAAkd,YAAc,EAKpBld,KAAKmd,UAAY,IAAI5K,EAAAA,WAAU,SAACC,GAC9B,OAAA1Q,EAAK2Q,UAAYD,WAGrBhT,OAAAwD,eAAI+Z,EAAA7c,UAAA,WAAQ,KAAZ,WACE,OAAOF,KAAKmd,2CAGd3d,OAAAwD,eAAI+Z,EAAA7c,UAAA,aAAU,KAAd,WACE,OAAOF,KAAKkd,iBAGd,SAAerc,GACbb,KAAKkd,YAAcrc,mCAGrBrB,OAAAwD,eAAI+Z,EAAA7c,UAAA,cAAW,KAAf,WACE,OAAOF,KAAKid,kBAGd,SAAgBpc,GACdb,KAAKid,aAAepc,mCAGtBkc,EAAA7c,UAAAkd,SAAA,WACMpd,KAAKid,aAAejd,KAAKkd,cAC3Bld,KAAKid,eACLjd,KAAKqd,WAAWrd,KAAKid,gBAIzBF,EAAA7c,UAAAod,SAAA,WACMtd,KAAKid,aAAe,IACtBjd,KAAKid,eACLjd,KAAKqd,WAAWrd,KAAKid,gBAIzBF,EAAA7c,UAAAqd,WAAA,WACEvd,KAAKid,aAAejd,KAAKkd,YACzBld,KAAKqd,WAAWrd,KAAKid,eAGvBF,EAAA7c,UAAAsd,YAAA,WACExd,KAAKid,aAAe,EACpBjd,KAAKqd,WAAWrd,KAAKid,eAGvBF,EAAA7c,UAAAmd,WAAA,SAAWP,GACT9c,KAAKyd,YAAcX,EACnB9c,KAAKgd,oBAAoBH,qBAAqBC,GAC9C9c,KAAKyS,UAAU9R,KAAKmc,wBA7DvBxU,EAAAA,WAAUrH,KAAA,CAAC,CACVyc,WAAY,oDAJNf,2HADR,GCEM/J,GAAIC,EAEV8K,GAAA,WAKE,SAAAA,YAGAA,EAAAzd,UAAA0d,gBAAA,SAAgB/T,EAAIqL,EAAoB2I,EAAwBxF,GAC9D,QADkB,IAAAnD,IAAAA,EAAA,UAAoB,IAAA2I,IAAAA,EAAA,QAAwB,IAAAxF,IAAAA,EAAA,KACzDxO,EACH,OAAO,MAEHL,EAAI6O,EAGJyF,EAAMlL,GAAE1Q,QAER6b,EACCD,EAAIhR,YADLiR,EAEED,EAAIlR,aAAeiR,EAFrBE,EAGGD,EAAIlR,aAAekR,EAAI7b,QAAU,GAHpC8b,EAIID,EAAIhR,YAAcgR,EAAI1b,SAI5B4b,MAAM9I,KACRA,EAAO,SAGH+I,EAAQ/I,EAAO,IACf9S,EAASwQ,GAAE/I,GAAIqU,cAAa,EAC5Bjc,EAAQ2Q,GAAE/I,GAAIsU,aAAY,EAEhC,IAAKlc,IAAUG,EACb,OAAO,MAGHgc,EAASxL,GAAE/I,GAAIwU,SACfC,EAASF,EAAOG,KAAI,EAActc,EAClCuc,EAAUJ,EAAOK,IAAG,EAAcrc,EAIxC,MAFmB2b,EAAkBK,EAAOG,KAAI,GAAeR,EAAgBO,GAASP,EAAmBK,EAAOK,IAAG,GAAeV,EAAeS,GAGjJ,OAAO,MAGHE,EACCC,WAAW/K,KAAK4E,IAAI,GAAIgG,EAAST,GAAgB3b,GAAQwc,QAAQ,IADlEF,EAEIC,WAAW/K,KAAK4E,IAAI,GAAIuF,EAAmBK,EAAOK,IAAG,GAAerc,GAAQwc,QAAQ,IAK9F,OAJQD,WAAW/K,KAAK4E,IAAI,GAAI8F,EAAQP,GAAiB9b,GAAO2c,QAAQ,IAC/DD,WAAW/K,KAAK4E,IAAI,GAAIuF,EAAkBK,EAAOG,KAAI,GAAetc,GAAO2c,QAAQ,KAGrDpV,GAAMkV,EAAaA,GAzChD,wBAbbpW,EAAAA,WAAUrH,KAAA,CAAC,CACVyc,WAAY,wJADd,GCYM9K,GAAIC,EAEVgM,GAAA,WAQE,SAAAA,EAAoBrJ,EACAsJ,EACA9B,EACAvH,EACAC,EACAqJ,GALpB,IAAAjd,EAAA9B,KAAoBA,KAAAwV,YAAAA,EACAxV,KAAA8e,iBAAAA,EACA9e,KAAAgd,oBAAAA,EACAhd,KAAAyV,aAAAA,EACAzV,KAAA0V,eAAAA,EACA1V,KAAA+e,iBAAAA,EAPZ/e,KAAAkV,KAAO,IASblV,KAAKkV,KAAOO,EAAaP,KAAOO,EAAaP,KAAOlV,KAAKkV,KACzDO,EAAagB,WAAW1T,UAAS,SAAE8B,GACjC/C,EAAKoT,KAAOrQ,GAAY/C,EAAKoT,KAC7BpT,EAAK0S,YA8GX,OA1GEqK,EAAA3e,UAAA6W,gBAAA,WAAA,IAAAjV,EAAA9B,KACEA,KAAKkV,KAAOlV,KAAKyV,aAAaP,KAAOlV,KAAKyV,aAAaP,KAAOlV,KAAKkV,KACnElV,KAAK8e,iBAAiBE,SAASjc,UAAS,SAAElC,GACxCiB,EAAK2b,YAAc5c,EACnBiB,EAAKmd,aAAape,KAEpBb,KAAKwU,WAGiBqK,EAAA3e,UAAAgf,UAAxB,WACElf,KAAKwU,WAGwBqK,EAAA3e,UAAAif,SAA/B,WACEnf,KAAKwU,WAGPqK,EAAA3e,UAAA+e,aAAA,SAAaG,OACLvV,EAAK7J,KAAKwV,YAAYvL,cACtB6S,EAAO9c,KAAKqf,QAAQD,GACpBE,EAAOF,EAAa,EAAIpf,KAAKqf,QAAQD,EAAa,GAAK,KACvDG,EAAaD,GAAQ1M,GAAE0M,GAAMjB,SAASI,MAAQ7L,GAAEkK,GAAMuB,SAASI,IACrE,IAAIze,KAAK+e,iBAAiBnB,gBAAgBd,EAAM9c,KAAKkV,QAASqK,EAA9D,KAIMC,EAAU,CACdjB,KAAM,EACNE,IAHkBze,KAAKyf,gBAAgBL,IAKtCvV,GAEDA,EAAG6V,OAAOF,KAINX,EAAA3e,UAAAyf,YAAR,eACQ9V,EAAK7J,KAAKwV,YAAcxV,KAAKwV,YAAYvL,cAAgB,KAC/D,GAAIJ,EAEF,OAAOA,EAAG8M,SAASC,KAAK,GAAGD,SAASC,KAAK,GAAGD,UAIxCkI,EAAA3e,UAAAmf,QAAR,SAAgBD,OACRvV,EAAK7J,KAAKwV,YAAcxV,KAAKwV,YAAYvL,cAAgB,KAC/D,GAAIJ,EACF,OAAOA,EAAG8M,SAASC,KAAK,GAAGD,SAASC,KAAK,GAAGD,SAASC,KAAKwI,EAAa,IAInEP,EAAA3e,UAAAuf,gBAAR,SAAwBL,GAItB,QAHMQ,EAAQ5f,KAAK0V,eAAe9R,YAAc,EAAI5D,KAAK6f,oBACnDC,EAAS9f,KAAK0V,eAAetS,YAAc,GAAK,GAClD2c,EAAc,EACTtf,EAAI,EAAGA,EAAI2e,EAAaQ,EAAOnf,IAAK,KACrCmW,EAAO5W,KAAKqf,QAAQ5e,GACpBwW,EAAeL,EAAOA,EAAKK,aAAe,EAChD8I,GAAe9I,EAAe,EAAIA,EAAejX,KAAKggB,UAAYF,EAAS,EAE7E,OAAOC,GAGDlB,EAAA3e,UAAA2f,kBAAR,eACQI,EAASjgB,KAAKqf,QAAQ,GAEtBO,EAAQhM,KAAKsM,OAAOlgB,KAAKqD,WADhB,MACwC4c,EAAOE,wBAAwBle,MAAQjC,KAAKggB,YACnG,OAAiB,IAAVJ,EAAc,EAAIA,GAG3Bf,EAAA3e,UAAAsU,QAAA,eACMsI,EACAsD,GAAiB,EACfC,EAAWrgB,KAAKqf,QAAQrf,KAAKyd,aAC7B6C,EAAkBtgB,KAAKyd,aAAe4C,EAAWA,EAASF,wBAA0B,KAC1F,IAAKrD,EAAO,EAAGA,EAAO9c,KAAK2f,cAAc/e,OAAS,EAAGkc,IAAQ,KACrD9S,EAAUhK,KAAKqf,QAAQvC,GACzB9c,KAAK+e,iBAAiBnB,gBAAgB5T,EAAShK,KAAKkV,QACjDkL,MACEpgB,KAAKyd,cAAgB4C,GAAargB,KAAKyd,aAAe6C,GAAmBtW,EAAQmW,wBAAwB1B,MAAQ6B,EAAgB7B,OACpIze,KAAKyd,YAAcX,EACnB9c,KAAK8e,iBAAiBrB,YAAcX,GAEtCsD,GAAiB,GAEnBpgB,KAAKgd,oBAAoBH,qBAAqBC,MAKpD+B,EAAA3e,UAAAwW,YAAA,SAAY6D,GACVva,KAAKwU,WAGPqK,EAAA3e,UAAA8E,SAAA,WACEhF,KAAKkV,KAAOlV,KAAKyV,aAAaP,KAAOlV,KAAKyV,aAAaP,KAAOlV,KAAKkV,MAI7D2J,EAAA3e,UAAAmD,SAAR,WACE,OAAOrD,KAAKwV,YAAcxV,KAAKwV,YAAYvL,cAAciN,YAAchV,OAAOC,YAGxE0c,EAAA3e,UAAA8f,QAAR,WACE,OAAOhgB,KAAKkV,KAAO,yBA9HtBsH,EAAAA,UAASvb,KAAA,CAAC,CACTC,SAAU,8DAhBV2J,EAAAA,kBAOMkS,SACAJ,SACA7H,SACAjT,SACA8b,yCAmCLjB,EAAAA,aAAYzb,KAAA,CAAC,4BAIbyb,EAAAA,aAAYzb,KAAA,CAAC,oBA6FhB4d,EAhIA,GClBA0B,GAAA,WAoBE,SAAAA,EAAoB9K,EAAmCC,EAA+B7L,GAAlE7J,KAAAyV,aAAAA,EAAmCzV,KAAA0V,eAAAA,EAV9C1V,KAAAwgB,YAAa,EAWpBxgB,KAAK6J,GAAKA,EA0Ed,OAvEE0W,EAAArgB,UAAAqK,YAAA,aAGAgW,EAAArgB,UAAAwW,YAAA,WACE1W,KAAKygB,UAAUzgB,KAAKyV,aAAaP,MACjClV,KAAK0gB,YAAY1gB,KAAKyV,aAAaP,OAGrCqL,EAAArgB,UAAA8E,SAAA,WAAA,IAAAlD,EAAA9B,KACQA,KAAKwgB,aAIXxgB,KAAKygB,UAAUzgB,KAAKyV,aAAaP,MACjClV,KAAKyV,aAAagB,WAAW1T,UAAS,SAAEmS,GACtCpT,EAAK2e,UAAUvL,GACfpT,EAAK4e,YAAYxL,OAIbqL,EAAArgB,UAAAugB,UAAR,SAAkBvL,GAChB,GAAMlV,KAAKwgB,WAAX,KAIMG,EAAmB,MAATzL,EAAe,EAAIA,EAAO,IAEtClV,KAAK0V,eAAenS,SACtBvD,KAAK2gB,QAAUA,EAGf3gB,KAAK2gB,QAAU,KAGZ3gB,KAAK0V,eAAenS,UAKvBvD,KAAK8W,UAAY,GACjB9W,KAAK4gB,gBAAkB,KALvB5gB,KAAK8W,UAAY,SAAW6J,EAAU,IACtC3gB,KAAK4gB,gBAAkB,gBAOrBC,EAAW,EACf7gB,KAAKgU,KAAK8M,MAAMC,QAAO,SAACjE,GAEhBA,EAAK7a,MAAQ4e,IACfA,EAAW/D,EAAK7a,SAMtBjC,KAAKghB,SAAWH,EAAW9T,EAASC,KAAKhN,KAAKgU,KAAKlJ,MAAM,GAAO8C,OAG1D2S,EAAArgB,UAAA+gB,eAAR,SAAuBC,GACrB,OAAOA,EAAIhK,YAAcgK,EAAIlK,aAGvBuJ,EAAArgB,UAAAwgB,YAAR,SAAoBxL,OACZyL,EAAmB,MAATzL,EAAe,EAAIA,EAAO,IAEpCiM,EAAgBnhB,KAAK6J,GAAGI,cAAcmX,cAAclK,YACpDmK,EAAcrhB,KAAKihB,eAAejhB,KAAK6J,GAAGI,cAAcmX,eAC9DphB,KAAKiC,MAASkf,EAAcR,EAAUU,EAAYV,EAAW,MAG/DJ,EAAArgB,UAAA6W,gBAAA,WACE/W,KAAKygB,UAAUzgB,KAAKyV,aAAaP,2BAxFpCsH,EAAAA,UAASvb,KAAA,CAAC,CACTC,SAAU,wDALJ4T,SAECjT,SAHgEgJ,EAAAA,kDAUtElJ,EAAAA,oBACAA,EAAAA,uBAEA8a,EAAAA,YAAWxb,KAAA,CAAC,iCACZwb,EAAAA,YAAWxb,KAAA,CAAC,4CACZwb,EAAAA,YAAWxb,KAAA,CAAC,yCACZwb,EAAAA,YAAWxb,KAAA,CAAC,iCACZwb,EAAAA,YAAWxb,KAAA,CAAC,sBA8Efsf,EA/FA,GCAAe,GAAA,WAUE,SAAAA,IAHQthB,KAAAyS,UAA8B,IAAIzQ,EAAAA,QACzBhC,KAAAuhB,SAAgCvhB,KAAKyS,UAAUxP,sBAKhEzD,OAAAwD,eAAIse,EAAAphB,UAAA,UAAO,KAAX,WACE,OAAOF,KAAKuhB,0CAGdD,EAAAphB,UAAAwJ,MAAA,SAAMA,GACJ1J,KAAKyS,UAAU9R,KAAK+I,wBAfvBpB,EAAAA,WAAUrH,KAAA,CAAC,CACVyc,WAAY,wJAJd,GCAA8D,GAAA,WAsBE,SAAAA,EAAsBC,GAAtB,IAAA3f,EAAA9B,KAAsBA,KAAAyhB,gBAAAA,EALbzhB,KAAAiE,UAAW,EAEVjE,KAAA0hB,SAA8B,IAAIpgB,EAAAA,aACnCtB,KAAA2hB,QAAS,EAGhBF,EAAgB/W,QAAQ3H,UAAS,WAC/BjB,EAAK4H,UAiCX,OA7BE8X,EAAAthB,UAAAuJ,KAAA,WACOzJ,KAAKiE,WACRjE,KAAK2hB,QAAS,IAIlBH,EAAAthB,UAAAwJ,MAAA,WACE1J,KAAK2hB,QAAS,GAGhBH,EAAAthB,UAAA0hB,eAAA,SAAe9e,GACb9C,KAAK0J,SAGP8X,EAAAthB,UAAAgE,OAAA,SAAOyG,GAELA,EAAOH,iBACPG,EAAOF,kBACFzK,KAAKiE,WACRjE,KAAK2hB,QAAU3hB,KAAK2hB,SAIxBH,EAAAthB,UAAA2hB,OAAA,SAAOlX,EAAQ9J,GACb8J,EAAOH,iBACPG,EAAOF,kBACPzK,KAAK0hB,SAASjgB,KAAKZ,GACnBb,KAAK0J,6BA9CR1I,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,YACVC,SAAA,4tDAVMmgB,uCAeL3f,EAAAA,wBACAA,EAAAA,4BACAA,EAAAA,wBACAC,EAAAA,uBACAD,EAAAA,SAqCH6f,EAzDA,GCAAM,GAAA,WASE,SAAAA,KAgBF,OAXUA,EAAA5hB,UAAA6hB,aAAR,WACE/hB,KAAKgiB,SAAShiB,KAAKiiB,KAGrBH,EAAA5hB,UAAA8E,SAAA,WACEhF,KAAK+hB,gBAGPD,EAAA5hB,UAAAwW,YAAA,SAAY6D,GACVva,KAAK+hB,oCArBRvF,EAAAA,UAASvb,KAAA,CAAC,CACTC,SAAU,4FAITS,EAAAA,sBAKA8a,EAAAA,YAAWxb,KAAA,CAAC,qBAaf6gB,EAzBA,GCAAI,GAAA,WAmBE,SAAAA,IARSliB,KAAAmiB,YAAa,EA8DxB,OAnDUD,EAAAhiB,UAAA6hB,aAAR,WAC4B,iBAAf/hB,KAAKoiB,QACdpiB,KAAKoiB,MAAQC,SAASriB,KAAKoiB,MAAO,KAGhCpiB,KAAKoiB,OACPpiB,KAAKsiB,UAAY,OACjBtiB,KAAKuiB,WAAa,OAClBviB,KAAK8W,UAAY,UAAY9W,KAAKoiB,MAAQ,QAClB,IAAfpiB,KAAKoiB,OAAepiB,KAAKsiB,YAClCtiB,KAAKsiB,UAAY,KACjBtiB,KAAKuiB,WAAa,KAClBviB,KAAK8W,UAAY,MAGf9W,KAAKmiB,aACY,KAAfniB,KAAKoiB,OAA+B,MAAfpiB,KAAKoiB,QAAiC,KAAhBpiB,KAAKoiB,QAAiC,MAAhBpiB,KAAKoiB,MACpEpiB,KAAKwiB,WACHxiB,KAAKyiB,cACPziB,KAAK8f,OAAS,cAEd9f,KAAK8f,OAAS,eAGZ9f,KAAKyiB,cACPziB,KAAK8f,OAAS,oBAEd9f,KAAK8f,OAAS,qBAGO,MAAhB9f,KAAKoiB,OAAiC,MAAfpiB,KAAKoiB,MACrCpiB,KAAK8f,OAAS,QAEd9f,KAAK8f,OAAS,OAMpBoC,EAAAhiB,UAAAuiB,YAAA,WACE,OAAOziB,KAAKiC,MAAQjC,KAAKoC,QAG3B8f,EAAAhiB,UAAA8E,SAAA,WACEhF,KAAK+hB,gBAGPG,EAAAhiB,UAAAwW,YAAA,SAAY6D,GACVva,KAAK+hB,oCApERvF,EAAAA,UAASvb,KAAA,CAAC,CACTC,SAAU,wFAITS,EAAAA,0BACAA,EAAAA,qBACAA,EAAAA,sBACAA,EAAAA,0BACAA,EAAAA,yBAEA8a,EAAAA,YAAWxb,KAAA,CAAC,uCACZwb,EAAAA,YAAWxb,KAAA,CAAC,gDACZwb,EAAAA,YAAWxb,KAAA,CAAC,mCAEZwb,EAAAA,YAAWxb,KAAA,CAAC,mBAwDfihB,EAzEA,GCAAQ,GAAA,WAaE,SAAAA,IAHU1iB,KAAA2iB,YAAc,IAAIrhB,EAAAA,aAC5BtB,KAAAwT,gBAAiB,EAcnB,OATEkP,EAAAxiB,UAAA8E,SAAA,aAGA0d,EAAAxiB,UAAA2b,QAAA,SAAQlR,GACFA,IACF3K,KAAK2iB,YAAYlhB,KAAKkJ,GACtB3K,KAAKwT,gBAAiB,wBApB3BxS,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,gBACVC,SAAA,2+CAICQ,EAAAA,oBACAA,EAAAA,2BACAC,EAAAA,UAeH8gB,EAzBA,GCAAE,GAAA,WASE,SAAAA,IAAA,IAAA9gB,EAAA9B,KACEA,KAAK6iB,QAAU,IAAItQ,EAAAA,WAAU,SAACC,GAC5B,OAAA1Q,EAAK2Q,UAAYD,IACnBxS,KAAK8iB,YAAc,IAAIvQ,EAAAA,WAAU,SAACC,GAChC,OAAA1Q,EAAKihB,cAAgBvQ,IAkB3B,OAfEhT,OAAAwD,eAAI4f,EAAA1iB,UAAA,cAAW,KAAf,WACE,OAAOF,KAAK6iB,yCAGdD,EAAA1iB,UAAA8iB,YAAA,SAAYlC,GACV9gB,KAAKyS,UAAU9R,KAAKmgB,IAGtBthB,OAAAwD,eAAI4f,EAAA1iB,UAAA,kBAAe,KAAnB,WACE,OAAOF,KAAK8iB,6CAGdF,EAAA1iB,UAAA+iB,WAAA,SAAWjP,GACThU,KAAK+iB,cAAcpiB,KAAKqT,IAE5B4O,EA/BA,iBCUE,SAAAM,EAAoBC,GAApB,IAAArhB,EAAA9B,KAAoBA,KAAAmjB,eAAAA,EAClBA,EAAeC,YAAYrgB,UAAS,SAAC+d,GACnChf,EAAKshB,YAAYtC,KAEnBqC,EAAeE,gBAAgBtgB,UAAS,SAACiR,GACvClS,EAAKuhB,gBAAgBrP,KAuD3B,OAnDUkP,EAAAhjB,UAAAkjB,YAAR,SAAoBtC,eACdwC,EAAY,GAChB,GAAItjB,KAAKujB,aACP,IAAmB,IAAAC,EAAAC,EAAA3C,GAAK4C,EAAAF,EAAA7iB,QAAA+iB,EAAA5iB,KAAA4iB,EAAAF,EAAA7iB,OAAE,CACxB2iB,GAAa,qBADJxG,EAAI4G,EAAA7iB,OAC2BwZ,OAAS,6CAClByC,EAAKtC,KAAO,0HAI7C,IAAmB,IAAAmJ,EAAAF,EAAA3C,GAAK8C,EAAAD,EAAAhjB,QAAAijB,EAAA9iB,KAAA8iB,EAAAD,EAAAhjB,OAAE,CAArB,IAAMmc,EACTwG,GAAa,qBADJxG,EAAI8G,EAAA/iB,OAC2BwZ,OAAS,uIACwEyC,EAAKtC,KAAO,+HAIzIxa,KAAK6jB,WAAWP,EAAWxC,EAAM,GAAG7e,MAAO6e,EAAM,GAAG1e,SAG9C8gB,EAAAhjB,UAAA2jB,WAAR,SAAmBP,EAAWrhB,EAAOG,OAG/B0hB,EAAkB,GACtB,GAAG7hB,EAFa,KAEMG,EAHL,IAGuB,KAChC8S,EAAOtB,KAAKC,MAAMzR,EAJT,KAI8B,IAC7C0hB,EAAkB,sDACftgB,UAAUC,UAAUC,cAAcC,QAAQ,YAAc,IACzDmgB,EAAkB,mCAAqC5O,EAAO,WAG9D6O,EAAW,uIAEsCD,EACrDC,GAAsB,eAEhBC,EAAe9hB,OAAOuH,KAAK,GAAI,cAAe,4FACpDua,EAAaC,QACbD,EAAa9Z,SAASga,QAAQH,GAC9BC,EAAa9Z,SAASga,QAAQZ,GAC9BU,EAAa9Z,SAASR,QACtBsa,EAAaC,QACbD,EAAaG,QACbH,EAAata,SAGPwZ,EAAAhjB,UAAAmjB,gBAAR,SAAwBrP,OAChBoQ,EAAUC,IAAIC,gBAAgBtQ,GAC9BgQ,EAAe9hB,OAAOuH,KAAK2a,EAAS,cAAe,4FACzDJ,EAAaC,QACbD,EAAaG,QACbH,EAAata,6BAhEhB8S,EAAAA,UAASvb,KAAA,CAAC,CACTC,SAAU,+DAHJ0hB,wCAMLjhB,EAAAA,SA8DHuhB,KCtEAqB,GAAA,WAME,SAAAA,IAHQvkB,KAAAyS,UAAqC,IAAI+R,EAAAA,gBAAgB,2BACzDxkB,KAAAykB,eAAqCzkB,KAAKyS,UAAUxP,eAY9D,OAPEzD,OAAAwD,eAAIuhB,EAAArkB,UAAA,gBAAa,KAAjB,WACE,OAAOF,KAAKykB,gDAGdF,EAAArkB,UAAAwkB,cAAA,SAAcC,GACZ3kB,KAAKyS,UAAU9R,KAAKgkB,IAExBJ,EAhBA,GCAAK,GAAA,WAYE,SAAAA,EAAYC,GAAZ,IAAA/iB,EAAA9B,KACE6kB,EAAeC,cAAc/hB,UAAS,SAAC4hB,GAAW,OAAA7iB,EAAK6iB,QAAUA,IAMrE,OAHEC,EAAA1kB,UAAA8E,SAAA,iCAbDhE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,iBACVC,SAAA,63BAJMojB,MAkBRK,EAnBA,GCAAG,GAAA,WAME,SAAAA,IAHQ/kB,KAAAyS,UAA6B,IAAIzQ,EAAAA,QACxBhC,KAAAglB,YAAkChlB,KAAKyS,UAAUxP,eAYpE,OAPEzD,OAAAwD,eAAI+hB,EAAA7kB,UAAA,aAAU,KAAd,WACE,OAAOF,KAAKglB,6CAGdD,EAAA7kB,UAAA+kB,YAAA,SAAYC,GACVllB,KAAKyS,UAAU9R,KAAKukB,IAExBH,EAhBA,GCKMnS,GAAIC,EAEVsS,GAAA,WASE,SAAAA,EAAYN,EAAiDO,GAA7D,IAAAtjB,EAAA9B,KAA6DA,KAAAolB,iBAAAA,EAFnDplB,KAAAqlB,YAAc,IAAI/jB,EAAAA,aAG1BujB,EAAeC,cAAc/hB,UAAS,SAAC4hB,GAAW,OAAA7iB,EAAK6iB,QAAUA,IA2BrE,OAxBEQ,EAAAjlB,UAAA8E,SAAA,aAGAmgB,EAAAjlB,UAAA+kB,YAAA,SAAYpkB,GACVb,KAAKolB,iBAAiBH,YAAYpkB,IAGpCskB,EAAAjlB,UAAAolB,YAAA,SAAY3a,GACNA,EACF4a,WAAU,eACFvb,EAAU4I,GAAE,aACd5I,GACFA,EAAQia,SAET,KAEHrR,GAAE,aAAa/N,IAAI,KAIvBsgB,EAAAjlB,UAAA6J,OAAA,SAAOY,GACLiI,GAAE,aAAa/N,IAAI,IACnB7E,KAAKqlB,YAAY5jB,MAAK,wBAnCzBT,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,uBACVC,SAAA,k3CARMojB,UACAQ,2CAYLnjB,EAAAA,UA8BHujB,EArCA,GCPAK,GAAA,WAaE,SAAAA,EAAoBC,EAAqCC,GAArC1lB,KAAAylB,cAAAA,EAAqCzlB,KAAA0lB,gBAAAA,SAGzDF,EAAAtlB,UAAAylB,UAAA,SAAUC,EAAuBjlB,GAAjC,IAAAmB,EAAA9B,KACQ6lB,EAAY,mCAElB,OAAOllB,EAAKmlB,OAAOF,GAChBpjB,KAAK+K,EAAAA,IAAG,SAACiN,GACN,OAAOA,IAETuL,EAAAA,WAAU,SAAEC,GACV,GAAIA,aAAqBC,EAAAA,kBACvB,OAAQD,EAAUE,QAEhB,KAAK5a,EAAUC,WACblB,QAAQC,MAAM,qBAAsBub,GACpC,MACF,KAAKva,EAAUE,aACbnB,QAAQC,MAAM,sBAAuBub,GACrC,MACF,KAAKva,EAAUI,SACbrB,QAAQC,MAAM,mBAAoBub,GAClC,MACF,KAAKva,EAAUK,QACbtB,QAAQC,MAAM,iBAAkBub,GAChC,MACF,KAAKva,EAAUO,oBACbxB,QAAQC,MAAM,iBAAkBub,GAChC/jB,EAAK4jB,gBAAgBhB,cAAcsB,EAAU1b,MAAMqa,SACnD7iB,EAAK2jB,cAAchc,KAAKlB,EAAaE,cACrC,MAEF,KAAK6C,EAAUG,UACbpB,QAAQC,MAAM,mBAAoBub,GAClC/jB,EAAK4jB,gBAAgBhB,cAAcsB,EAAU1b,MAAMqa,SACnD7iB,EAAK2jB,cAAchc,KAAKlB,EAAaC,kBAI3C,OAAO2d,EAAAA,WAAWH,2BA5C3B1d,EAAAA,WAAUrH,KAAA,CAAC,CACVyc,WAAY,oDAHQ1U,SAFdub,2IAJR,GCAA6B,GAAA,WAYE,SAAAA,IATQpmB,KAAAyS,UAA6B,IAAIzQ,EAAAA,QACxBhC,KAAAqmB,YAAkCrmB,KAAKyS,UAAUxP,eAE1DjD,KAAAsmB,iBAAoC,IAAItkB,EAAAA,QAC/BhC,KAAAumB,eAAqCvmB,KAAKsmB,iBAAiBrjB,eAEpEjD,KAAAwmB,eAAkC,IAAIxkB,EAAAA,QAC7BhC,KAAAymB,aAAmCzmB,KAAKwmB,eAAevjB,eA4B1E,OAvBEzD,OAAAwD,eAAIojB,EAAAlmB,UAAA,aAAU,KAAd,WACE,OAAOF,KAAKqmB,6CAGdD,EAAAlmB,UAAAwmB,QAAA,SAAQC,GACN3mB,KAAKyS,UAAU9R,KAAKgmB,IAGtBnnB,OAAAwD,eAAIojB,EAAAlmB,UAAA,gBAAa,KAAjB,WACE,OAAOF,KAAKumB,gDAGd/mB,OAAAwD,eAAIojB,EAAAlmB,UAAA,cAAW,KAAf,WACE,OAAOF,KAAKymB,8CAGdL,EAAAlmB,UAAA0mB,WAAA,SAAWC,GACT7mB,KAAKsmB,iBAAiB3lB,KAAKkmB,IAG7BT,EAAAlmB,UAAA4mB,SAAA,SAASC,GACP/mB,KAAKwmB,eAAe7lB,KAAKomB,IAE7BX,EAtCA,GCAAY,GAAA,WAmBE,SAAAA,EAAoBC,GAApB,IAAAnlB,EAAA9B,KAAoBA,KAAAinB,eAAAA,EATVjnB,KAAAknB,UAAY,IAAI5lB,EAAAA,cAAsB,GAEhDtB,KAAA6mB,QAAU,EACV7mB,KAAA+mB,MAAQ,EAONE,EAAeE,YAAYpkB,UAAS,SAAEgkB,GACpCjlB,EAAKilB,MAAQA,EAEXjlB,EAAK+kB,QADO,IAAVE,EACa,EAEA,EAEjBjlB,EAAKmlB,eAAeL,WAAW9kB,EAAK+kB,WAiC1C,OA7BEG,EAAA9mB,UAAA8E,SAAA,aAGAgiB,EAAA9mB,UAAAwmB,QAAA,SAAQC,GACN3mB,KAAKinB,eAAeP,QAAQC,IAG9BK,EAAA9mB,UAAAknB,KAAA,WACEpnB,KAAK0mB,QAAQ,IACb1mB,KAAKknB,UAAUzlB,MAAK,IAGtBulB,EAAA9mB,UAAAof,KAAA,WACMtf,KAAK6mB,QAAU,IACjB7mB,KAAK6mB,UACL7mB,KAAKinB,eAAeL,WAAW5mB,KAAK6mB,WAIxCG,EAAA9mB,UAAAS,KAAA,WACMX,KAAK6mB,QAAU7mB,KAAK+mB,QACtB/mB,KAAK6mB,UACL7mB,KAAKinB,eAAeL,WAAW5mB,KAAK6mB,WAIxCG,EAAA9mB,UAAA6W,gBAAA,WACE/W,KAAKqnB,YAAYpd,cAAcga,6BAvDlCjjB,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,YACVC,SAAA,o3CAJMilB,yCASLxkB,EAAAA,4BAKA0lB,EAAAA,UAASrmB,KAAA,CAAC,OAAO,CAChBsmB,QAAS,OA4CbP,EA5DA,GCKMpU,GAAIC,EAEV2U,GAAA,WAUE,SAAAA,EAAoBhS,EACAyR,EACAQ,EACAhS,GAHpB,IAAA3T,EAAA9B,KAAoBA,KAAAwV,YAAAA,EACAxV,KAAAinB,eAAAA,EACAjnB,KAAAynB,WAAAA,EACAznB,KAAAyV,aAAAA,EAPpBzV,KAAA6mB,QAAU,EACV7mB,KAAA+mB,MAAQ,EACA/mB,KAAAkV,KAAO,IAMb+R,EAAeS,cAAc3kB,UAAS,SAAE8jB,GACtC/kB,EAAK+kB,QAAUA,EACM,IAAjB/kB,EAAK+kB,SACP/kB,EAAK6lB,kBAITV,EAAeW,WAAW7kB,UAAS,SAAE4jB,GACnC7kB,EAAK6kB,KAAOA,EACZ7kB,EAAK+lB,oBAGP7nB,KAAKkV,KAAOO,EAAaP,KAAOO,EAAaP,KAAOlV,KAAKkV,KACzDO,EAAagB,WAAW1T,UAAS,SAAE8B,GACjC/C,EAAKoT,KAAOrQ,GAAY/C,EAAKoT,OA6EnC,OAzEUsS,EAAAtnB,UAAA2nB,gBAAR,eACQhe,EAAK7J,KAAKwV,YAAcxV,KAAKwV,YAAYvL,cAAgB,KAC/D,GAAIJ,EAAI,CAEN,GADA7J,KAAK8nB,eAAeje,GAChB7J,KAAK2mB,KAAM,CACb3mB,KAAK+nB,YAAYle,OACX+V,EAAQ/V,EAAG6N,iBAAiB,iBAAiB9W,OACnDZ,KAAK+mB,MAAQnH,OAEb5f,KAAK+mB,MAAQ,EAEf/mB,KAAKinB,eAAeH,SAAS9mB,KAAK+mB,SAI9BS,EAAAtnB,UAAAynB,cAAR,WACE,GAAqB,IAAjB3nB,KAAK6mB,QAAT,CAGoB7mB,KAAKggB,cACnBnW,EAAK7J,KAAKwV,YAAcxV,KAAKwV,YAAYvL,cAAgB,KAC/D,GAAIJ,EAAI,CACNA,EAAG6N,iBAAiB,wBAAwBqJ,QAAO,SAAWlgB,GAC5D+R,GAAE/R,GAAOmnB,YAAY,6BAEjBC,EAAYpe,EAAG6N,iBAAiB,iBAAiB1X,KAAK6mB,QAAU,GAEtE,GADAjU,GAAEqV,GAAWC,SAAS,uBAClBD,EAAW,KACPzI,EAAU,CACdjB,KAAM,EACNE,IAAM7L,GAAEqV,GAAW5J,SAAY,IAAIxU,EAAGuX,cAAcA,cAActU,UAAY,KAGhFjD,EAAGuX,cAAcA,cAAc1B,OAAOF,OAKpCgI,EAAAtnB,UAAA6nB,YAAR,SAAoBle,OACZse,EAAYvV,GAAE/I,GAAImD,KAAK,KAAKob,WAAW7e,OAAM,eAC3C8e,EAAWroB,KAAKohB,cAAciH,SAAS3kB,cACvC4kB,GAAa,KAAgBC,YAAa,KAAgBA,UAAUC,SAAS,gBACnF,OAAyB,IAAlBxoB,KAAKyoB,UACyB,IAAnCzoB,KAAK0oB,YAAY9gB,OAAOhH,QACX,UAAbynB,GACa,UAAbA,GACa,SAAbA,GACa,WAAbA,GACAC,IAEE3B,EAAO3mB,KAAK2mB,KACZgC,EAAY3oB,KAAKynB,WACvBU,EAAUS,KAAI,eACNC,EAAQjW,GAAE5S,MACZiL,EAAU4d,EAAMlC,OACpB1b,EAAU0d,EAAU7R,UAAU7L,EAAS0b,GACvCkC,EAAMC,YAAY7d,KAEpBpB,EAAGkf,aAGGvB,EAAAtnB,UAAA4nB,eAAR,SAAuBje,GAErB,QADMmf,EAAanf,EAAG6N,iBAAiB,iBAC9BjX,EAAI,EAAGA,EAAIuoB,EAAWpoB,OAAQH,IAAK,KACpCuJ,EAAUgf,EAAWpS,KAAKnW,GAChCuJ,EAAQ8e,YAAY,EAAuBG,WAE7Cpf,EAAGkf,aAGGvB,EAAAtnB,UAAA8f,QAAR,WACE,OAAOhgB,KAAKkV,KAAO,yBAvGtBsH,EAAAA,UAASvb,KAAA,CAAC,CACTC,SAAU,8DARO2J,EAAAA,kBACXub,UACAhL,SACAtG,KA6GR0S,EAzGA,GCPA0B,GAAA,WAWE,SAAAA,KAMF,OAHEA,EAAAhpB,UAAA8E,SAAA,iCAZDhE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,qBACVC,SAAA,yZAICQ,EAAAA,oBACAA,EAAAA,SAQHunB,EAjBA,GCAAC,GAAA,WAME,SAAAA,IAHQnpB,KAAAyS,UAA6B,IAAIzQ,EAAAA,QACxBhC,KAAAopB,iBAAuCppB,KAAKyS,UAAUxP,eAYzE,OAPEzD,OAAAwD,eAAImmB,EAAAjpB,UAAA,kBAAe,KAAnB,WACE,OAAOF,KAAKopB,kDAGdD,EAAAjpB,UAAAmpB,gBAAA,SAAgBC,GACdtpB,KAAKyS,UAAU9R,KAAK2oB,IAExBH,EAhBA,GCAAI,GAAA,WAgBE,SAAAA,EAAoBC,GAApB,IAAA1nB,EAAA9B,KAAoBA,KAAAwpB,qBAAAA,EAJXxpB,KAAAiE,UAAW,EACXjE,KAAA8b,QAAS,EACT9b,KAAAiL,SAAU,EAGjBjL,KAAKwpB,qBAAqBC,gBAAgB1mB,UAAS,SAAEumB,GACnDxnB,EAAK4nB,WAAWJ,KAqBtB,OAjBUC,EAAArpB,UAAAwpB,WAAR,SAAmBJ,GACbtpB,KAAKsJ,KAAOggB,EACdtpB,KAAK8b,QAAS,EAEd9b,KAAK8b,QAAS,GAIlByN,EAAArpB,UAAA8E,SAAA,aAGAukB,EAAArpB,UAAAypB,UAAA,WACM3pB,KAAKiE,UAGTjE,KAAKwpB,qBAAqBH,gBAAgBrpB,KAAKsJ,yBAlClDtI,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,SACVC,SAAA,yiCAJMgoB,kCAQLxnB,EAAAA,wBACAA,EAAAA,oBACAA,EAAAA,wBACAA,EAAAA,sBACAA,EAAAA,uBACAA,EAAAA,SAyBH4nB,EAvCA,GCAAK,GAAA,WAQE,SAAAA,KAGF,2BATC5oB,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,UACVC,SAAA,2IAOFyoB,EAXA,GCAAC,GAAA,WAGE,SAAAA,EAAYC,EAAkBC,EAAeC,EAAiBC,EAAeC,EAAiBC,EAAoBC,EAAcC,EAAoBC,EAAeC,GACjKvqB,KAAK8pB,SAAWA,EAChB9pB,KAAK+pB,MAAQA,EACb/pB,KAAKgqB,QAAUA,EACfhqB,KAAKiqB,KAAOA,EACZjqB,KAAKkqB,OAASA,EACdlqB,KAAKmqB,UAAYA,EACjBnqB,KAAKoqB,KAAOA,EACZpqB,KAAKqqB,UAAYA,EACjBrqB,KAAKsqB,MAAQA,EACbtqB,KAAKuqB,KAAOA,EAiBhB,OAHgBV,EAAAW,QAAd,WACE,OAAO,IAAIX,EAAW,GAAI,UAAW,WAAW,GAAO,GAAO,EAAO,SAAS,EAAO,GAAI,KAE7FA,EA9BA,iBA0DE,SAAAY,IAzBQzqB,KAAA0qB,cAAkC,IAAI1oB,EAAAA,QAC7BhC,KAAA2qB,kBAAyC3qB,KAAK0qB,cAAcznB,eACrEjD,KAAA4qB,mBAAuC,IAAI5oB,EAAAA,QAClChC,KAAA6qB,uBAA8C7qB,KAAK4qB,mBAAmB3nB,eAC/EjD,KAAA8qB,cAAkC,IAAI9oB,EAAAA,QAC7BhC,KAAA+qB,MAA6B/qB,KAAK8qB,cAAc7nB,eACzDjD,KAAAgrB,cAAkC,IAAIhpB,EAAAA,QAC7BhC,KAAAirB,MAA6BjrB,KAAKgrB,cAAc/nB,eACzDjD,KAAAkrB,gBAAoC,IAAIlpB,EAAAA,QAC/BhC,KAAAmrB,oBAA2CnrB,KAAKkrB,gBAAgBjoB,eACzEjD,KAAAorB,eAAkC,IAAIppB,EAAAA,QAC7BhC,KAAAqrB,mBAAyCrrB,KAAKorB,eAAenoB,eACtEjD,KAAAsrB,iBAAoC,IAAItpB,EAAAA,QAC/BhC,KAAAurB,qBAA2CvrB,KAAKsrB,iBAAiBroB,eAC1EjD,KAAAwrB,kBAAqC,IAAIxpB,EAAAA,QAChChC,KAAAyrB,sBAA4CzrB,KAAKwrB,kBAAkBvoB,eAC5EjD,KAAA0rB,cAAiC,IAAI1pB,EAAAA,QAC5BhC,KAAA2rB,kBAAwC3rB,KAAK0rB,cAAczoB,eACpEjD,KAAA4rB,mBAAuC,IAAI5pB,EAAAA,QAClChC,KAAA6rB,uBAA8C7rB,KAAK4rB,mBAAmB3oB,eAC/EjD,KAAA8rB,eAAkC,IAAI9pB,EAAAA,QAC7BhC,KAAA+rB,mBAAyC/rB,KAAK8rB,eAAe7oB,eACtEjD,KAAAgsB,cAAiC,IAAIhqB,EAAAA,QAC5BhC,KAAAisB,kBAAwCjsB,KAAKgsB,cAAc/oB,eAqI9E,OAhIEzD,OAAAwD,eAAIynB,EAAAvqB,UAAA,mBAAgB,KAApB,WACE,OAAOF,KAAK2qB,mDAGdnrB,OAAAwD,eAAIynB,EAAAvqB,UAAA,wBAAqB,KAAzB,WACE,OAAOF,KAAK6qB,wDAGdrrB,OAAAwD,eAAIynB,EAAAvqB,UAAA,oBAAiB,KAArB,WACE,OAAOF,KAAKqrB,oDAGd7rB,OAAAwD,eAAIynB,EAAAvqB,UAAA,sBAAmB,KAAvB,WACE,OAAOF,KAAKurB,sDAGd/rB,OAAAwD,eAAIynB,EAAAvqB,UAAA,uBAAoB,KAAxB,WACE,OAAOF,KAAKyrB,uDAGdjsB,OAAAwD,eAAIynB,EAAAvqB,UAAA,mBAAgB,KAApB,WACE,OAAOF,KAAK2rB,mDAGdnsB,OAAAwD,eAAIynB,EAAAvqB,UAAA,OAAI,KAAR,WACE,OAAOF,KAAK+qB,uCAGdvrB,OAAAwD,eAAIynB,EAAAvqB,UAAA,OAAI,KAAR,WACE,OAAOF,KAAKirB,uCAGdzrB,OAAAwD,eAAIynB,EAAAvqB,UAAA,qBAAkB,KAAtB,WACE,OAAOF,KAAKmrB,qDAGd3rB,OAAAwD,eAAIynB,EAAAvqB,UAAA,wBAAqB,KAAzB,WACE,OAAOF,KAAK6rB,wDAGdrsB,OAAAwD,eAAIynB,EAAAvqB,UAAA,oBAAiB,KAArB,WACE,OAAOF,KAAK+rB,oDAGdvsB,OAAAwD,eAAIynB,EAAAvqB,UAAA,mBAAgB,KAApB,WACE,OAAOF,KAAKisB,mDAGPxB,EAAAyB,qBAAP,SAA4BrnB,GAC1B,MAAO,CAAChE,MAAOgE,EAAKkO,KAAMlO,EAAM,KAAMwQ,WAAW,IAG5CoV,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,SAAwBvnB,GACtB,MAAO,CAAChE,MAAOgE,EAAKkO,KAAMlO,EAAKwQ,WAAW,IAGrCoV,EAAA4B,eAAP,WAAA,IAAAvqB,EAAA9B,KAGQssB,EAAc,GAKpB,MAPc,CAAC,QAAS,UAAW,iBAAkB,aAAc,WAAY,UAAW,cAAe,eAAgB,UAAW,YAAa,YAAa,SAAU,cACtK,aAAc,YAAa,WAAY,SAAU,kBAAmB,aAEhEvL,QAAO,SAACqJ,GACZkC,EAAYljB,KAAKtH,EAAKsqB,iBAAiBhC,MAGlCkC,GAGT7B,EAAAvqB,UAAAqsB,qBAAA,SAAqB5hB,GACnB3K,KAAKwrB,kBAAkB7qB,KAAKgK,IAG9B8f,EAAAvqB,UAAAssB,iBAAA,SAAiBvC,GACfjqB,KAAK0qB,cAAc/pB,KAAKspB,IAG1BQ,EAAAvqB,UAAAusB,sBAAA,SAAsBtC,GACpBnqB,KAAK4qB,mBAAmBjqB,KAAKwpB,IAG/BM,EAAAvqB,UAAAwsB,KAAA,WACE1sB,KAAK8qB,cAAcnqB,QAGrB8pB,EAAAvqB,UAAAysB,KAAA,WACE3sB,KAAKgrB,cAAcrqB,QAGrB8pB,EAAAvqB,UAAA0sB,mBAAA,SAAmB1C,GACjBlqB,KAAKkrB,gBAAgBvqB,KAAKupB,IAG5BO,EAAAvqB,UAAA2sB,kBAAA,SAAkB9C,GAChB/pB,KAAKorB,eAAezqB,KAAKopB,IAG3BU,EAAAvqB,UAAA4sB,oBAAA,SAAoBC,GAClB/sB,KAAKsrB,iBAAiB3qB,KAAKosB,IAG7BtC,EAAAvqB,UAAA8sB,iBAAA,SAAiB5C,GACfpqB,KAAK0rB,cAAc/qB,KAAKypB,IAG1BK,EAAAvqB,UAAA+sB,sBAAA,SAAsB5C,GACpBrqB,KAAK4rB,mBAAmBjrB,KAAK0pB,IAG/BI,EAAAvqB,UAAAgtB,kBAAA,SAAkB5C,GAChBtqB,KAAK8rB,eAAenrB,KAAK2pB,IAG3BG,EAAAvqB,UAAAitB,iBAAA,SAAiB5C,GACfvqB,KAAKgsB,cAAcrrB,KAAK4pB,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,IANSrtB,KAAA2hB,QAAS,EACR3hB,KAAAstB,cAAgB,IAAIhsB,EAAAA,aACpBtB,KAAAutB,aAAe,IAAIjsB,EAAAA,aAC7BtB,KAAAwtB,OAAcJ,GACdptB,KAAAytB,MAAQ,UAkBV,OAbEJ,EAAAntB,UAAA8E,SAAA,aAGAqoB,EAAAntB,UAAA2hB,OAAA,SAAOlX,EAAQof,GACbpf,EAAOH,iBACPG,EAAOF,kBACPzK,KAAKstB,cAAc7rB,KAAKsoB,IAG1BsD,EAAAntB,UAAAwJ,MAAA,WACE1J,KAAK2hB,QAAS,EACd3hB,KAAKutB,aAAa9rB,MAAK,wBA1B1BT,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,kBACVC,SAAA,6tBAICQ,EAAAA,6BACAC,EAAAA,6BACAA,EAAAA,UAoBHyrB,EA5BA,kBCLE,SAAAK,WACExiB,EAAAxK,KAAAV,OAAOA,YAHgCmL,EAAAA,EAAAA,uBAH1C7C,EAAAA,WAAUrH,KAAA,CAAC,CACVyc,WAAY,yJAE6B+M,ICN3CkD,GAAA,WAEA,SAAAA,IAKE3tB,KAAA4tB,OAA8B,2BAA2BxT,KAAK5W,UAAUC,kBAExEkqB,EAAAztB,UAAA2tB,iBAAA,YACK7tB,KAAK8tB,YAAc9tB,KAAK8tB,UAAUC,WAAa/tB,KAAK4tB,OACrD5tB,KAAKguB,aAAahuB,KAAK8tB,YAI3BH,EAAAztB,UAAA+tB,iBAAA,eACQH,EAAY5rB,OAAOgsB,eACrBJ,EAAUK,WAAa,IACzBnuB,KAAK8tB,UAAYA,EAAUM,WAAW,KAIlCT,EAAAztB,UAAA8tB,aAAR,SAAqBF,OACbO,EAAMnsB,OAAOgsB,eACnBG,EAAIC,kBACJD,EAAIE,SAAST,EAAUU,eAGzBb,EAAAztB,UAAAuuB,iBAAA,WACEzuB,KAAKiuB,mBACLjuB,KAAK6tB,wCA5BRvlB,EAAAA,WAAUrH,KAAA,CAAC,CACVyc,WAAY,kHAHd,GCIM9K,GAAIC,EACV6b,GAAA,WAkBE,SAAAA,EAAoBC,EACAC,EACAC,GAFA7uB,KAAA2uB,mBAAAA,EACA3uB,KAAA4uB,uBAAAA,EACA5uB,KAAA6uB,kBAAAA,EAbZ7uB,KAAAiqB,MAAO,EACPjqB,KAAAkqB,QAAS,EACTlqB,KAAAmqB,WAAY,EAIZnqB,KAAAqqB,WAAY,EAGZrqB,KAAA4tB,MAAO,EAKb5tB,KAAK4tB,mBAA8B,2BAA2BxT,KAAK5W,UAAUC,WA+OjF,OA5O2BirB,EAAAxuB,UAAA4uB,QAAzB,WAEE9uB,KAAKiqB,KAAO/f,SAAS6kB,kBAAkB,QACvC/uB,KAAKqqB,UAAYngB,SAAS6kB,kBAAkB,iBAC5C/uB,KAAKkqB,OAAShgB,SAAS6kB,kBAAkB,UACzC/uB,KAAKgqB,QAAU9f,SAAS8kB,kBAAkB,aAC1ChvB,KAAKmqB,UAAYjgB,SAAS6kB,kBAAkB,aAC5C/uB,KAAKsqB,MAAQtqB,KAAKivB,eAClBjvB,KAAKuqB,KAAOvqB,KAAKkvB,YAGI,gBAAjBlvB,KAAKgqB,UACPhqB,KAAKgqB,QAAUpX,GAAE1Q,OAAOgsB,eAAeiB,UAAUC,YAAYC,IAAI,oBAAoBC,YAEvFtvB,KAAKoqB,KAAOlgB,SAAS8kB,kBAAkB,YAAYlqB,QAAQ,KAAM,IAC9D9E,KAAKoqB,KAAKhd,MAAM,KAAKxM,OAAS,IAC/BZ,KAAKoqB,KAAOpqB,KAAKoqB,KAAKhd,MAAM,KAAK,IAEnCpN,KAAK+pB,MAAQ7f,SAAS8kB,kBAAkB,aACxChvB,KAAK4uB,uBAAuBpC,iBAAiBxsB,KAAKiqB,MAClDjqB,KAAK4uB,uBAAuBnC,sBAAsBzsB,KAAKmqB,WACvDnqB,KAAK4uB,uBAAuBhC,mBAAmB5sB,KAAKkqB,QACpDlqB,KAAK4uB,uBAAuB/B,kBAAkB7sB,KAAK+pB,OACnD/pB,KAAK4uB,uBAAuB9B,oBAAoB9sB,KAAKgqB,SACrDhqB,KAAK4uB,uBAAuBrC,qBAAqBvsB,KAAKuvB,kBACtDvvB,KAAK4uB,uBAAuB5B,iBAAiBhtB,KAAKoqB,MAClDpqB,KAAK4uB,uBAAuB3B,sBAAsBjtB,KAAKqqB,WACvDrqB,KAAK4uB,uBAAuB1B,kBAAkBltB,KAAKsqB,OACnDtqB,KAAK4uB,uBAAuBzB,iBAAiBntB,KAAKuqB,OAG5CmE,EAAAxuB,UAAA+uB,aAAR,eACM3E,EAAQ,GAKZ,OAJAA,EAAQpgB,SAAS6kB,kBAAkB,iBAAmB,SAAWzE,EACjEA,EAAQpgB,SAAS6kB,kBAAkB,eAAiB,OAASzE,EAC7DA,EAAQpgB,SAAS6kB,kBAAkB,eAAiB,OAASzE,EAC7DA,EAAQpgB,SAAS6kB,kBAAkB,gBAAkB,QAAUzE,GAIzDoE,EAAAxuB,UAAAgvB,UAAR,eACM3E,EAAO,GAGX,OAFAA,EAAOrgB,SAAS6kB,kBAAkB,uBAAyB,YAAcxE,EACzEA,EAAOrgB,SAAS6kB,kBAAkB,qBAAuB,UAAYxE,GAIvEmE,EAAAxuB,UAAAqvB,eAAA,eACMC,EAAanB,EAcjB,GAbInsB,OAAOgsB,cACTG,EAAMnsB,OAAOgsB,gBACLC,YAGuB,KAF7BqB,EAAcnB,EAAID,WAAW,GAAGqB,yBAEhBhH,WACd+G,EAAcA,EAAYJ,aAGpBf,EAAMnkB,SAASgkB,iBAAgC,YAAbG,EAAIqB,OAChDF,EAAcnB,EAAIsB,cAAcvO,iBAG9BoO,EACF,OAAOnN,SAASriB,KAAK4vB,yBAAyBJ,EAAa,YAAY1qB,QAAQ,KAAM,IAAK,KAI9F4pB,EAAAxuB,UAAA0vB,yBAAA,SAAyB/lB,EAAIgmB,GAC3B,OAAI3tB,OAAO4tB,iBACF5tB,OAAO4tB,iBAAiBjmB,EAAI,MAAMgmB,GAChChmB,EAAGkmB,aACLlmB,EAAGkmB,aAAaF,QADlB,GAKTnB,EAAAxuB,UAAA8E,SAAA,WAAA,IAAAlD,EAAA9B,KACEA,KAAK2uB,mBAAmBqB,KAAKjtB,UAAS,WACpCjB,EAAKmuB,eAEPjwB,KAAK2uB,mBAAmBuB,KAAKntB,UAAS,WACpCjB,EAAKquB,eAEPnwB,KAAK2uB,mBAAmByB,iBAAiBrtB,UAAS,SAAEknB,GAClDnoB,EAAKmoB,KAAOA,EACZnoB,EAAKuuB,eAEPrwB,KAAK2uB,mBAAmB2B,sBAAsBvtB,UAAS,SAAEonB,GACvDroB,EAAKqoB,UAAYA,EACjBroB,EAAKyuB,oBAEPvwB,KAAK2uB,mBAAmB6B,mBAAmBztB,UAAS,SAAEmnB,GACpDpoB,EAAKooB,OAASA,EACdpoB,EAAK2uB,iBAEPzwB,KAAK2uB,mBAAmB+B,kBAAkB3tB,UAAS,SAAGgnB,GACpDjoB,EAAKioB,MAAQA,EACbjoB,EAAK6uB,SAAS5G,KAEhB/pB,KAAK2uB,mBAAmBiC,oBAAoB7tB,UAAS,SAAGgqB,GACtDjrB,EAAKkoB,QAAU+C,EACfjrB,EAAK+uB,WAAW9D,KAElB/sB,KAAK2uB,mBAAmBmC,qBAAqB/tB,UAAS,SAAG+mB,GACvDhoB,EAAKivB,YAAYjH,KAGnB9pB,KAAK2uB,mBAAmBqC,iBAAiBjuB,UAAS,SAAGqnB,GACnDtoB,EAAKsoB,KAAOA,EACZtoB,EAAKmvB,QAAQ7G,KAEfpqB,KAAK2uB,mBAAmBuC,sBAAsBnuB,UAAS,SAAEsnB,GACvDvoB,EAAKuoB,UAAYA,EACjBvoB,EAAKqvB,oBAEPnxB,KAAK2uB,mBAAmByC,kBAAkBruB,UAAS,SAAEunB,GACnDxoB,EAAKwoB,MAAQA,EACbxoB,EAAKuvB,YAAYvvB,EAAKwoB,SAExBtqB,KAAK2uB,mBAAmB2C,iBAAiBvuB,UAAS,SAAEwnB,OAC5ClhB,EAASvH,EAAKyoB,OAASA,EAC7BzoB,EAAKyoB,KAAOA,EACZzoB,EAAKyvB,WAAWzvB,EAAKyoB,KAAMlhB,MAIvBqlB,EAAAxuB,UAAAmwB,WAAR,WACEnmB,SAASsnB,YAAY,QACrBxxB,KAAK6uB,kBAAkBJ,oBAGjBC,EAAAxuB,UAAAqwB,gBAAR,WACErmB,SAASsnB,YAAY,aACrBxxB,KAAK6uB,kBAAkBJ,oBAGjBC,EAAAxuB,UAAAuwB,aAAR,WACEvmB,SAASsnB,YAAY,UACrBxxB,KAAK6uB,kBAAkBJ,oBAGjBC,EAAAxuB,UAAA2wB,WAAR,SAAmB7G,GACjB9f,SAASsnB,YAAY,aAAa,EAAOxH,GACzChqB,KAAK6uB,kBAAkBJ,oBAGjBC,EAAAxuB,UAAAywB,SAAR,SAAiB5G,GACf7f,SAASsnB,YAAY,aAAa,EAAOzH,GACzC/pB,KAAK6uB,kBAAkBJ,oBAGjBC,EAAAxuB,UAAA6wB,YAAR,SAAoBjH,GAClB,GAAI5f,SAASgkB,eAAeoB,WAAY,KAClCmC,EAAa,2BAA6B3H,EAAW,cAAgB9pB,KAAK+pB,MAAQ,uBAAyB/pB,KAAKgqB,QAAU,kBAAoBhqB,KAAKoqB,KAAO,KAC5JlgB,SAASgkB,eAAiB,UACxBluB,KAAKiqB,OACPwH,EAAa,MAAQA,EAAa,QAEhCzxB,KAAKkqB,SACPuH,EAAa,MAAQA,EAAa,QAEhCzxB,KAAKmqB,YACPsH,EAAa,MAAQA,EAAa,QAEhCzxB,KAAKqqB,YACPoH,EAAa,WAAaA,EAAa,aAEzCvnB,SAASsnB,YAAY,cAAc,EAAOC,QAE1CvnB,SAASsnB,YAAY,YAAY,EAAO,KAE1CxxB,KAAK6uB,kBAAkBJ,oBAGjBC,EAAAxuB,UAAA+vB,WAAR,WACE/lB,SAASsnB,YAAY,SAGf9C,EAAAxuB,UAAAiwB,WAAR,WACEjmB,SAASsnB,YAAY,SAGf9C,EAAAxuB,UAAA+wB,QAAR,SAAgB7G,GACdlgB,SAASsnB,YAAY,YAAY,EAAOpH,GACxCpqB,KAAK6uB,kBAAkBJ,oBAGjBC,EAAAxuB,UAAAixB,gBAAR,WACEjnB,SAASsnB,YAAY,iBACrBxxB,KAAK6uB,kBAAkBJ,oBAGjBC,EAAAxuB,UAAAmxB,YAAR,SAAoB/G,GAClB,GAAGtqB,KAAK4tB,KACN5tB,KAAK0xB,cAAcpH,OADrB,CAKA,OADApgB,SAASsnB,YAAY,gBAAgB,EAAO,QACpClH,GACN,IAAK,SACHpgB,SAASsnB,YAAY,iBACrB,MACF,IAAK,OACHtnB,SAASsnB,YAAY,eACrB,MACF,IAAK,OACHtnB,SAASsnB,YAAY,eACrB,MACF,IAAK,QACHtnB,SAASsnB,YAAY,gBAGzBxxB,KAAK6uB,kBAAkBJ,qBAGjBC,EAAAxuB,UAAAwxB,cAAR,SAAsBpH,GACpBtqB,KAAK6uB,kBAAkBhB,mBACvB7tB,KAAK6uB,kBAAkBZ,uBACjBH,EAAY5rB,OAAOgsB,eAAeiB,UAAUC,WAAWA,WAChD,SAAV9E,IACDA,EAAQ,WAEV1X,GAAEkb,GAAWuB,IAAI,aAAc/E,GAC/BtqB,KAAK6uB,kBAAkBJ,oBAGjBC,EAAAxuB,UAAAqxB,WAAR,SAAmBhH,EAAclhB,GAC/B,OAAQkhB,GACN,IAAK,YACHrgB,SAASsnB,YAAY,sBAAuBnoB,GAC5C,MACF,IAAK,UACHa,SAASsnB,YAAY,oBAAqBnoB,GAG9CrJ,KAAK6uB,kBAAkBJ,wCAhQ1BjS,EAAAA,UAASvb,KAAA,CAAC,CACTC,SAAU,8DAPJupB,UACAiD,UAGAC,uCAwBLjR,EAAAA,aAAYzb,KAAA,CAAC,cA4OhBytB,EApQA,GCLAiD,GAAA,WASE,SAAAA,KAKF,OAHEA,EAAAzxB,UAAA8E,SAAA,iCATDhE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,mBACVC,SAAA,okGAUFwwB,EAdA,GCAAC,GAAA,WAUE,SAAAA,IAHQ5xB,KAAAyS,UAA6B,IAAIzQ,EAAAA,QACxBhC,KAAA6xB,aAAmC7xB,KAAKyS,UAAUxP,sBAKnEzD,OAAAwD,eAAI4uB,EAAA1xB,UAAA,WAAQ,KAAZ,WACE,OAAOF,KAAKyS,2CAGdjT,OAAAwD,eAAI4uB,EAAA1xB,UAAA,cAAW,KAAf,WACE,OAAOF,KAAK6xB,kEAffvpB,EAAAA,WAAUrH,KAAA,CAAC,CACVyc,WAAY,wJAJd,GCAAoU,GAAA,WAYE,SAAAA,EAAoBjD,EAA6CkD,GAA7C/xB,KAAA6uB,kBAAAA,EAA6C7uB,KAAA+xB,aAAAA,EAFzD/xB,KAAA4tB,OAAuC,2BAA2BxT,KAAK5W,UAAUC,WAoC3F,OA9BSquB,EAAA5xB,UAAA8xB,QADP,SACelvB,GAEb,GADA9C,KAAK2mB,KAAO7jB,EAAMF,OACf5C,KAAK4tB,MACF5tB,KAAK2mB,KAAKsL,UAAW,KACjBthB,EAAO3Q,KAAK2mB,KAAKsL,UAAU3C,WACjCtvB,KAAK+xB,aAAavf,SAAS7R,KAAKgQ,KAM/BmhB,EAAA5xB,UAAAgyB,aADP,SACoBpvB,GAClB9C,KAAK6uB,kBAAkBZ,mBAEpBjuB,KAAK4tB,MACN5tB,KAAK+xB,aAAavf,SAAS7R,KAAKmC,EAAMF,OAAOqvB,UAAU3C,aAKpDwC,EAAA5xB,UAAAiyB,OADP,SACcrvB,GAGZ,GAFAA,EAAM0H,iBACNxK,KAAK6uB,kBAAkBhB,mBACnB7tB,KAAK2mB,KAAKsL,UAAW,KACjBthB,EAAO3Q,KAAK2mB,KAAKsL,UAAU3C,WACjCtvB,KAAK+xB,aAAavf,SAAS7R,KAAKgQ,QAEhC3Q,KAAK+xB,aAAavf,SAAS7R,KAAKmC,EAAMF,OAAOqvB,UAAU3C,iCAvC5D9S,EAAAA,UAASvb,KAAA,CAAC,CACTC,SAAU,0DAJJysB,UACAiE,oCAMLjwB,EAAAA,uBAOA+a,EAAAA,aAAYzb,KAAA,CAAC,QAAS,CAAC,iCAWvByb,EAAAA,aAAYzb,KAAA,CAAC,aAAc,CAAC,2BAS5Byb,EAAAA,aAAYzb,KAAA,CAAC,OAAQ,CAAC,cAWzB6wB,EA9CA,GCAAM,GAAA,WAWE,SAAAA,IALApyB,KAAAqyB,iBAA0C,IAAI/wB,EAAAA,aAEtCtB,KAAAsyB,SAAW,GACXtyB,KAAAuyB,SAA+B,GAGrCvyB,KAAKsyB,SAASlpB,KAAKjE,EAAIyB,WACvB5G,KAAKsyB,SAASlpB,KAAKjE,EAAIwB,mBAsB3B,OAnBEyrB,EAAAlyB,UAAAsyB,eAAA,SAAe5M,GACA5lB,KAAKsyB,SAAStlB,KAAI,SAACxD,GAAK,OAAAoc,EAAIje,IAAI8qB,SAASjpB,OAEpDxJ,KAAKuyB,SAASnpB,KAAKwc,GACnB5lB,KAAK0yB,WAITN,EAAAlyB,UAAAyyB,gBAAA,SAAgB/M,OACRgN,EAAQ5yB,KAAKuyB,SAAS5uB,QAAQiiB,IACrB,IAAXgN,GACF5yB,KAAKuyB,SAASM,OAAOD,EAAO,GAE9B5yB,KAAK0yB,UAGCN,EAAAlyB,UAAAwyB,OAAR,WACE1yB,KAAKqyB,iBAAiB5wB,KAA8B,IAAzBzB,KAAKuyB,SAAS3xB,6BA7B5C0H,EAAAA,mDA+BD8pB,EAnCA,GCAAU,GAAA,WAYE,SAAAA,EAAoBC,GAAA/yB,KAAA+yB,oBAAAA,EAFX/yB,KAAAgzB,aAAc,EAazB,OAREF,EAAA5yB,UAAA8E,SAAA,aAGA8tB,EAAA5yB,UAAA6W,gBAAA,WAAA,IAAAjV,EAAA9B,KACEA,KAAK+yB,oBACFV,iBACAtvB,UAAS,SAAEkwB,GAAqB,OAAAnxB,EAAKkxB,YAAcC,yBAlBzDjyB,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,kBACVC,SAAA,4eAJMixB,2CASLzwB,EAAAA,SAaHmxB,EAvBA,GCAAI,GAAA,WAWE,SAAAA,EAAoBH,GAAA/yB,KAAA+yB,oBAAAA,SAGpBG,EAAAhzB,UAAAylB,UAAA,SAAUC,EAAuBjlB,GAAjC,IAAAmB,EAAA9B,KACEA,KAAK+yB,oBAAoBP,eAAe5M,GAExC,OAAOjlB,EAAKmlB,OAAOF,GAAKpjB,KAAM2wB,EAAAA,SADhB,WAAS,OAAArxB,EAAKixB,oBAAoBJ,gBAAgB/M,2BAVnEtd,EAAAA,WAAUrH,KAAA,CAAC,CACVyc,WAAY,oDAHN0U,6HAJR,GCaMgB,GAAsB,CAC1Bpa,OAAS,CACPsF,MAAO,QAETC,KAAO,CACLD,MAAO,QAETA,MAAQ,CACNA,MAAO,UAIL+U,GAAoB,CACxBra,OAAS,CACPyF,IAAM,OAERA,IAAM,CACJA,IAAM,QACNH,MAAO,QAETE,OAAS,CACPC,IAAK,UAOT6U,GAAA,WASE,SAAAA,EAAgEC,GAAhE,IAAAzxB,EAAA9B,KAAgEA,KAAAuzB,SAAAA,EADhEvzB,KAAAwzB,MAAK,SAAI1wB,GAAe,OAAAhB,EAAKyxB,SAASrvB,OAAOpB,IAE/C,2BAVC9B,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,sBACVC,SAAU,4BAEVsyB,cAAgBC,EAAAA,kBAAkBC,mlCAKrBC,EAAAA,OAAM3yB,KAAA,CAAC4yB,EAAAA,WAAU,WAAO,OAAAC,0CAFpCpX,EAAAA,aAAYzb,KAAA,CAAC,QAAQ,CAAC,cAGzBqyB,EAVA,GAeAS,GAAA,WAoBE,SAAAA,EAAgER,GAAAvzB,KAAAuzB,SAAAA,EAKlE,OAjBE/zB,OAAAwD,eAAI+wB,EAAA7zB,UAAA,kBAAe,KAAnB,WACE,OAAOkzB,GAAoBpzB,KAAKuzB,SAASS,eAAeC,GAAG3V,uCAG7D9e,OAAAwD,eAAI+wB,EAAA7zB,UAAA,gBAAa,KAAjB,WACE,OAAOmzB,GAAkBrzB,KAAKuzB,SAASS,eAAeE,GAAGzV,qCAG3Djf,OAAAwD,eAAI+wB,EAAA7zB,UAAA,SAAM,KAAV,WACE,OAAOF,KAAKuzB,SAAS9pB,sCAKvBsqB,EAAA7zB,UAAA0hB,eAAA,SAAe9e,GACX9C,KAAKuzB,SAAS7pB,6BAvBnB1I,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,qBACVC,SAAU,kMAEVsyB,cAAgBC,EAAAA,kBAAkBC,mlCAgBrBC,EAAAA,OAAM3yB,KAAA,CAAC4yB,EAAAA,WAAU,WAAO,OAAAC,WAKvCC,EAzBA,GA8BAI,GAAA,WAeE,SAAAA,EAAgEZ,GAAhE,IAAAzxB,EAAA9B,KAAgEA,KAAAuzB,SAAAA,EARhEvzB,KAAAo0B,MAAQ,iBAGRp0B,KAAA0hB,SAAW,IAAIpgB,EAAAA,aAGftB,KAAAwzB,MAAK,WAAS,OAAA1xB,EAAKuyB,eAQrB,OAJEF,EAAAj0B,UAAAm0B,YAAA,WACEr0B,KAAK0hB,SAAS/gB,OACdX,KAAKuzB,SAAS7pB,6BAnBjB1I,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,oBACVC,SAAU,4oCAaGyyB,EAAAA,OAAM3yB,KAAA,CAAC4yB,EAAAA,WAAU,WAAO,OAAAC,0CATpCrX,EAAAA,YAAWxb,KAAA,CAAC,2BAGZW,EAAAA,sBAGA8a,EAAAA,aAAYzb,KAAA,CAAC,YAShBkzB,EArBA,GA0BAL,GAAA,WAAA,SAAAA,IAQE9zB,KAAAs0B,UAAY,CACVL,EAAG,SACHC,EAAG,UAMLl0B,KAAAyJ,MAAO,EAGPzJ,KAAAo0B,MAAQ,YAeV,OAbEN,EAAA5zB,UAAAwJ,MAAA,WACE1J,KAAKyJ,MAAO,GAGdqqB,EAAA5zB,UAAAgE,OAAA,SAAOpB,GACLA,EAAM2H,kBACNzK,KAAKyJ,MAAQzJ,KAAKyJ,KAClBS,SAASC,KAAKqpB,SAGhBM,EAAA5zB,UAAA8zB,aAAA,WACE,OAAOh0B,KAAKs0B,+BAhCftzB,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,eACVC,SAAU,yDAEVsyB,cAAgBC,EAAAA,kBAAkBC,ojCAGjChyB,EAAAA,oBAOAA,EAAAA,OAAK,CAAA+tB,KACLjT,EAAAA,YAAWxb,KAAA,CAAC,6BAGZwb,EAAAA,YAAWxb,KAAA,CAAC,YAgBf6yB,EAlCA,GChHAS,GAAA,WAUE,SAAAA,IAFSv0B,KAAA0U,aAAc,EAQzB,OAHE6f,EAAAr0B,UAAA8E,SAAA,iCAXDhE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,mBACVC,SAAA,2qBAICQ,EAAAA,SAQH4yB,EAhBA,GCAAC,GAAA,WASE,SAAAA,IAFUx0B,KAAAoE,YAAc,IAAI9C,EAAAA,aAe9B,OATSkzB,EAAAt0B,UAAAsE,WADP,WAEExE,KAAKoE,YAAY3C,MAAK,IAIjB+yB,EAAAt0B,UAAAwE,aADP,WAEE1E,KAAKoE,YAAY3C,MAAK,wBAjBzB+a,EAAAA,UAASvb,KAAA,CAAC,CACTC,SAAU,6FAITU,EAAAA,2BAKA8a,EAAAA,aAAYzb,KAAA,CAAC,oCAKbyb,EAAAA,aAAYzb,KAAA,CAAC,iBAKhBuzB,EAtBA,GCAAC,GAAA,WAYE,SAAAA,EAAoBC,EACAC,GADA30B,KAAA00B,iBAAAA,EACA10B,KAAA20B,QAAAA,SAGpBF,EAAAv0B,UAAA00B,oBAAA,SAAoBC,EAAoCC,GAAxD,IAAAhzB,EAAA9B,KACQ+0B,EAAU/0B,KAAK00B,iBAAiBM,wBAAwBF,GACxDG,EAAeJ,EAAiBK,gBAAgBH,GAMtD,OAJAE,EAAaE,UAAS,WACpBrzB,EAAK6yB,QAAQS,WAAWH,EAAaI,YAGhCJ,uBAjBV3sB,EAAAA,WAAUrH,KAAA,CAAC,CACVyc,WAAY,oDANZ4X,EAAAA,gCADAC,EAAAA,8LADF,GCEAC,GAAA,WAGE,SAAAA,IACEx1B,KAAKy1B,MAAQ,GAqBjB,OAlBED,EAAAt1B,UAAAgJ,IAAA,SAAIwsB,GACF11B,KAAKy1B,MAAQz1B,KAAKy1B,MAAMlsB,OAAM,SAAW0qB,GACvC,OAAOA,EAAE0B,QAAUD,EAAKC,QAE1B31B,KAAKy1B,MAAMrsB,KAAKssB,IAGlBF,EAAAt1B,UAAAmJ,OAAA,SAAOqsB,GACL11B,KAAKy1B,MAAQz1B,KAAKy1B,MAAMlsB,OAAM,SAAW0qB,GACvC,OAAOA,EAAE0B,QAAUD,EAAKC,SAI5BH,EAAAt1B,UAAA8M,KAAA,SAAK2oB,GACH,OAAO31B,KAAKy1B,MAAMzoB,KAAI,SAAWinB,GAC/B,OAAOA,EAAE0B,QAAUA,KAGzBH,EAzBA,GCFAI,GAAA,WASE,SAAAA,EAAmBf,EACCgB,GADD71B,KAAA60B,iBAAAA,EACC70B,KAAA61B,gBAAAA,EAYtB,OATED,EAAA11B,UAAA6W,gBAAA,WACE/W,KAAK61B,gBAAgB3sB,IAAIlJ,OAG3B41B,EAAA11B,UAAAqK,YAAA,WACEvK,KAAK61B,gBAAgBxsB,OAAOrJ,MAC5BA,KAAK60B,iBAAiBiB,6BAhBzBtZ,EAAAA,UAASvb,KAAA,CAAC,CACTC,SAAU,+DAJwC60B,EAAAA,wBAC5CP,qCAML7zB,EAAAA,SAeHi0B,EAtBA,GCIMhjB,GAAIC,EAEVmjB,GAAA,WA6BE,SAAAA,IApBSh2B,KAAAi2B,IAAK,EACLj2B,KAAAk2B,IAAK,EACLl2B,KAAAm2B,IAAK,EACLn2B,KAAAo2B,IAAK,EAGdp2B,KAAAq2B,GAAK,KACLr2B,KAAAs2B,GAAK,KACLt2B,KAAAu2B,GAAK,KACLv2B,KAAAw2B,GAAK,KAEKx2B,KAAAyZ,QAAU,IAAInY,EAAAA,aACdtB,KAAA0Z,QAAU,IAAIpY,EAAAA,aACdtB,KAAA6X,UAAY,IAAIvW,EAAAA,aAChBtB,KAAA4X,WAAa,IAAItW,EAAAA,aACjBtB,KAAAy2B,QAAU,IAAIn1B,EAAAA,aAEhBtB,KAAA02B,MAAO,EAkFjB,OA5EEV,EAAA91B,UAAA6W,gBAAA,WAAA,IAAAjV,EAAA9B,KACQ22B,EAAO/jB,GAAE5S,KAAK42B,aAAa52B,KAAKq2B,KAChCQ,EAAOjkB,GAAE5S,KAAK42B,aAAa52B,KAAKw2B,KACtC,GAAIx2B,KAAK82B,MAAQH,GAAQE,GAAQF,EAAKtY,UAAYwY,EAAKxY,SAAU,CAG/D,QAFI0Y,EAAQJ,EAAKtY,SAASE,KAAOsY,EAAKxY,SAASE,KAC3CyY,EAASL,EAAKtY,SAASI,IAAMoY,EAAKxY,SAASI,IACxCsY,GAAS/2B,KAAKi3B,WAAaD,GAAUh3B,KAAKk3B,YAC/CH,GAAgB,EAChBC,GAAkB,EAEpBzR,WAAU,WACRzjB,EAAK2X,QAAQhY,KAAKs1B,GAClBj1B,EAAK4X,QAAQjY,KAAKu1B,IACjB,OAIPhB,EAAA91B,UAAA8E,SAAA,aAGAgxB,EAAA91B,UAAAi3B,QAAA,SAAQxsB,GAENA,EAAOH,iBACHG,EAAO2R,cACT3R,EAAO2R,aAAa8a,QAAQ,OAAQ,OAEtCp3B,KAAK02B,MAAO,EACZ12B,KAAKq3B,YAAcvrB,EAAMC,iBAAiBpB,IAG5CqrB,EAAA91B,UAAAo3B,OAAA,SAAO3sB,EAAmBd,GACxB,GAAK7J,KAAK02B,KAAV,KAGMa,EAAWzrB,EAAMC,iBAAiBpB,GACxC,GAAmB,IAAf4sB,EAAS/tB,GAA0B,IAAf+tB,EAAStrB,EAAjC,KAGMurB,EAAQx3B,KAAKs2B,KAAOzsB,GAAM7J,KAAKw2B,KAAO3sB,EACtC4tB,EAAQz3B,KAAKu2B,KAAO1sB,GAAM7J,KAAKw2B,KAAO3sB,EAC5C7J,KAAK03B,WAAWH,EAAUE,EAAOD,GAC7BA,GACFx3B,KAAK6X,UAAUpW,KAAK81B,EAAStrB,EAAIjM,KAAKq3B,YAAYprB,GAEhDwrB,GACFz3B,KAAK4X,WAAWnW,KAAK81B,EAAS/tB,EAAIxJ,KAAKq3B,YAAY7tB,GAErDxJ,KAAKq3B,YAAcE,KAGbvB,EAAA91B,UAAAw3B,WAAR,SAAmBH,EAAU/tB,EAAYyC,OACjCwN,EAAUjQ,EAAIxJ,KAAKq3B,YAAY7tB,EAAI+tB,EAAS/tB,EAAI+tB,EAAS/tB,EAAIxJ,KAAKq3B,YAAY7tB,EAC9EkQ,EAAUzN,EAAIjM,KAAKq3B,YAAYprB,EAAIsrB,EAAStrB,EAAIsrB,EAAStrB,EAAIjM,KAAKq3B,YAAYprB,EACpFjM,KAAKyZ,QAAQhY,KAAKgY,GAClBzZ,KAAK0Z,QAAQjY,KAAKiY,IAGpBsc,EAAA91B,UAAAy3B,IAAA,SAAIhtB,EAAmBd,GAErB7J,KAAKs3B,OAAO3sB,EAAQd,GACpB7J,KAAKy2B,QAAQh1B,MAAK,GAClBzB,KAAK02B,MAAO,GAGdV,EAAA91B,UAAA03B,MAAA,SAAMjtB,GACJ3K,KAAK63B,KAAKltB,IAGZqrB,EAAA91B,UAAA23B,KAAA,SAAKltB,GACHA,EAAOF,kBACPE,EAAOH,kBAGDwrB,EAAA91B,UAAA02B,aAAR,SAAqB/sB,GACnB,MAAO,IAAMA,EAAK,IAAM7J,KAAKsJ,wBA1GhCtI,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,cACVC,SAAA,+sDAKCQ,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,UAoFHo0B,EA5GA,GCiEM8B,GAAY,CAACtwB,EACjBrC,EACA6D,EACA+uB,EACAC,EACAjrB,EACAjB,EACA6O,EACAK,EACAE,EACAE,EACA/I,EACAuQ,GACA7F,EACAJ,EACA7H,EACAyP,GACAQ,GACAS,GACAY,GACAvkB,EACA8b,GACA8M,GACAiD,GACApM,GACA4R,GACAd,GACAjJ,GACAsL,GACAe,IAEFyC,GAAA,WA4FE,SAAAA,IACEC,EAAAA,QAAQhvB,IAAIivB,EAAAA,IAAKC,EAAAA,KAErB,2BA/FCC,EAAAA,SAAQp3B,KAAA,CAAC,CACRq3B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZ33B,EACAK,EACAyC,EACAkB,EACAE,EACA0E,EACAqJ,EACAuC,EACA4E,EACAQ,EACAK,EACAE,EACAE,EACAG,EACAG,EACAmD,GACA0B,GACAiB,GACAM,GACAI,GACAQ,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAK,GACAK,GACAyD,GACAqB,GACAiD,GACAG,GACAgB,GACAgB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,IAEF2C,QAAS,CACP53B,EACAK,EACAyC,EACAkB,EACAE,EACA0E,EACAqJ,EACAuC,EACA4E,EACAa,EACAE,EACAE,EACAT,EACAY,EACAsD,GACA2C,GACAU,GACAQ,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAK,GACAK,GACAyD,GACAqB,GACAiD,GACAmB,GACApX,EACAoY,GACAK,GACAJ,GACAT,GACA/S,GACA+S,GACAiB,GACAC,GACAoB,GACAI,IAEF8B,UAAWA,6CAMbG,EA/FA","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\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 visibility = 'hidden';\n\n constructor() {\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 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\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","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\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 {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';\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\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 ],\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 ],\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-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/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/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","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","visibility","Api","VIEWER_APP","SIGNATURE_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","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getSignatureApiEndpoint","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","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","c","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","ExcelPageService","getUpdatedPage","data","DOMParser","parseFromString","table","querySelector","numCellsInFirstRow","forEach","elm","attributes","parseInt","newTable","createHeader","replaceWith","XMLSerializer","serializeToString","getPageWithoutHeader","deleteRow","row","deleteCell","numCols","header","createElement","append","th","innerText","colName","setAttribute","colgroup","col","prepend","cnt","div","td","toString","n","ordA","charCodeAt","len","s","String","fromCharCode","floor","ExcelPageComponent","_excelPageService","test","number","editable","changes","imgData","isHtml","ExcelDocumentComponent","zoomService","_navigateService","panzoom","currentPageNo","refreshExcelDocHeight","pages","navigate","selectSheet","scrollHeight","ViewChildren","PageComponent","SanitizeHtmlPipe","sanitizer","bypassSecurityTrustHtml","Pipe","DomSanitizer","SanitizeResourceHtmlPipe","bypassSecurityTrustResourceUrl","SanitizeStylePipe","bypassSecurityTrustStyle","HighlightSearchPipe","re","RegExp","UploadFileZoneComponent","closeUpload","onCloseUpload","DndDirective","_uploadFilesService","opening","dropped","active","dragCounter","onDragEnter","evt","onDragOver","onDragLeave","closeArea","onDrop","dataTransfer","onClick","Directive","HostBinding","HostListener","ViewportService","checkInViewport","leftOffset","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","toFixed","ScrollableDirective","_viewportService","scrollToPage","scrolling","resizing","pageNumber","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","minWidth","getScrollWidth","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","normalize","nodeListOf","TabbedToolbarsComponent","TabActivatorService","_activeTabChange","changeActiveTab","tabId","TabComponent","_tabActivatorService","activeTabChange","activation","selectTab","TabsComponent","Formatting","fontSize","color","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","position","notSW","notNE","setOffsets","end","start","drop","providers","FileService","FileModel","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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CEC,EAAAA,QAAQ9xB,IAAI+xB,EAAAA,IAAKC,EAAAA,KAErB,2BArGCC,EAAAA,SAAQl6B,KAAA,CAAC,CACRm6B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZz6B,EACAK,EACAyC,EACAkB,EACAE,EACA0E,EACAqJ,EACAuC,EACAgJ,EACAW,EACAnB,EACAoB,EACAK,EACAE,EACAE,GACAG,GACAG,GACAmC,GACAuB,GACAc,GACAM,GACAI,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACAwB,GACAK,GACAK,GACAyD,GACAqB,GACAgD,GACAG,GACAgB,GACAgB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,IAEF2C,QAAS,CACP16B,EACAK,EACAyC,EACAkB,EACAE,EACA0E,EACAqJ,EACAuC,EACAgJ,EACAW,EACAnB,EACAyB,EACAE,EACAE,GACAT,EACAY,GACAsC,GACAqC,GACAU,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACAwB,GACAK,GACAK,GACAyD,GACAqB,GACAgD,GACAmB,GACA1V,GACA0W,GACAK,GACAJ,GACAT,GACAxS,GACAwS,GACAiB,GACAC,GACAoB,GACAI,GACAlE,GACAnD,IAEFmJ,UAAWA,6CAMbG,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';\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\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 visibility = 'hidden';\r\n\r\n constructor() {\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 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\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","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\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 {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\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n super(_elementRef, zoomService, windowService);\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this._navigateService.navigate.subscribe(\r\n value => {\r\n this.selectSheet(value);\r\n });\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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 {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 {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 {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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-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 {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 {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 ],\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 EditorDirective,\r\n FormattingDirective\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/excel-document/excel-document.component.js b/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js index 562baee11..f54202892 100644 --- a/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js +++ b/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js @@ -66,7 +66,7 @@ export class ExcelDocumentComponent extends DocumentComponent { ExcelDocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-document', - template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; @@ -93,4 +93,4 @@ if (false) { */ ExcelDocumentComponent.prototype._navigateService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsWUFBWSxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU8saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFPeEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjs7Ozs7OztJQU0zRCxZQUFZLFdBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLGFBQTRCLEVBQ3BCLGdCQUFpQztRQUNuRCxLQUFLLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUQ3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBTHJELFlBQU8sR0FBRyxJQUFJLENBQUM7SUFPZixDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUzs7O1FBQUMsR0FBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTOzs7O1FBQ3ZDLEtBQUssQ0FBQyxFQUFFO1lBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLEVBQUMsQ0FBQztJQUNOLENBQUM7Ozs7SUFFRCxxQkFBcUI7UUFDbkIsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDaEUsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsTUFBTTtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztJQUM5QixDQUFDOzs7WUE1Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLGc4QkFBOEM7O2FBRS9DOzs7O1lBWG1CLFVBQVU7WUFJckIsV0FBVztZQUZYLGFBQWE7WUFDYixlQUFlOzs7b0JBVXJCLFlBQVksU0FBQyxrQkFBa0I7Ozs7SUFBaEMsdUNBQXVFOztJQUV2RSwrQ0FBc0I7O0lBQ3RCLHlDQUFlOzs7OztJQUtILGtEQUF5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb2N1bWVudENvbXBvbmVudCB9IGZyb20gJy4uL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi93aW5kb3cuc2VydmljZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRlU2VydmljZSB9IGZyb20gJy4uL25hdmlnYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBab29tU2VydmljZSB9IGZyb20gICcuLi96b29tLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFeGNlbFBhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9leGNlbC1wYWdlL2V4Y2VsLXBhZ2UuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ2QtZXhjZWwtZG9jdW1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leGNlbC1kb2N1bWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4Y2VsRG9jdW1lbnRDb21wb25lbnQgZXh0ZW5kcyBEb2N1bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCAge1xyXG4gIEBWaWV3Q2hpbGRyZW4oRXhjZWxQYWdlQ29tcG9uZW50KSBwYWdlczogUXVlcnlMaXN0PEV4Y2VsUGFnZUNvbXBvbmVudD47IFxyXG4gIFxyXG4gIGN1cnJlbnRQYWdlTm86IG51bWJlcjtcclxuICBwYW56b29tID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgICAgICAgIHpvb21TZXJ2aWNlOiBab29tU2VydmljZSxcclxuICAgICAgICAgICAgICB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgX25hdmlnYXRlU2VydmljZTogTmF2aWdhdGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgem9vbVNlcnZpY2UsIHdpbmRvd1NlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IDE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgdGhpcy5wYWdlcy5jaGFuZ2VzLnN1YnNjcmliZSgoKT0+e1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9uYXZpZ2F0ZVNlcnZpY2UubmF2aWdhdGUuc3Vic2NyaWJlKFxyXG4gICAgIHZhbHVlID0+IHtcclxuICAgICAgICAgdGhpcy5zZWxlY3RTaGVldCh2YWx1ZSk7XHJcbiAgICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoRXhjZWxEb2NIZWlnaHQoKSB7XHJcbiAgICAvLyBGb3IgY3VycmVudCBpdGVyYXRpb24gd2UnbGwgY2hhbmdlIGFjdHVhbCBoZWlnaHQgb2YgLmRvY3VtZW50XHJcbiAgICB0aGlzLmRvYyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApO1xyXG4gICAgdGhpcy5wYW56b29tID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCkuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIC8vIG1hZ2ljIG51bWJlciAzNyBpcyB0aGUgaGVpZ2h0IG9mIHRoZSBib3R0b20tYmFyIHdpdGggbmF2aWdhdGlvbiBiZXR3ZWVuIHBhZ2VzXHJcbiAgICB0aGlzLmRvYy5zdHlsZS5oZWlnaHQgPSB0aGlzLnBhbnpvb20uc2Nyb2xsSGVpZ2h0ICsgMzcgKyBcInB4XCI7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RTaGVldChudW1iZXIpe1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZU5vID0gbnVtYmVyO1xyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsWUFBWSxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU8saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFPeEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjs7Ozs7OztJQU0zRCxZQUFZLFdBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLGFBQTRCLEVBQ3BCLGdCQUFpQztRQUNuRCxLQUFLLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUQ3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBTHJELFlBQU8sR0FBRyxJQUFJLENBQUM7SUFPZixDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUzs7O1FBQUMsR0FBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTOzs7O1FBQ3ZDLEtBQUssQ0FBQyxFQUFFO1lBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLEVBQUMsQ0FBQztJQUNOLENBQUM7Ozs7SUFFRCxxQkFBcUI7UUFDbkIsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDaEUsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsTUFBTTtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztJQUM5QixDQUFDOzs7WUE1Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLHFoQ0FBOEM7O2FBRS9DOzs7O1lBWG1CLFVBQVU7WUFJckIsV0FBVztZQUZYLGFBQWE7WUFDYixlQUFlOzs7b0JBVXJCLFlBQVksU0FBQyxrQkFBa0I7Ozs7SUFBaEMsdUNBQXVFOztJQUV2RSwrQ0FBc0I7O0lBQ3RCLHlDQUFlOzs7OztJQUtILGtEQUF5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb2N1bWVudENvbXBvbmVudCB9IGZyb20gJy4uL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi93aW5kb3cuc2VydmljZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRlU2VydmljZSB9IGZyb20gJy4uL25hdmlnYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBab29tU2VydmljZSB9IGZyb20gICcuLi96b29tLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFeGNlbFBhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9leGNlbC1wYWdlL2V4Y2VsLXBhZ2UuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ2QtZXhjZWwtZG9jdW1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leGNlbC1kb2N1bWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4Y2VsRG9jdW1lbnRDb21wb25lbnQgZXh0ZW5kcyBEb2N1bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCAge1xyXG4gIEBWaWV3Q2hpbGRyZW4oRXhjZWxQYWdlQ29tcG9uZW50KSBwYWdlczogUXVlcnlMaXN0PEV4Y2VsUGFnZUNvbXBvbmVudD47IFxyXG4gIFxyXG4gIGN1cnJlbnRQYWdlTm86IG51bWJlcjtcclxuICBwYW56b29tID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgICAgICAgIHpvb21TZXJ2aWNlOiBab29tU2VydmljZSxcclxuICAgICAgICAgICAgICB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgX25hdmlnYXRlU2VydmljZTogTmF2aWdhdGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgem9vbVNlcnZpY2UsIHdpbmRvd1NlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IDE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgdGhpcy5wYWdlcy5jaGFuZ2VzLnN1YnNjcmliZSgoKT0+e1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9uYXZpZ2F0ZVNlcnZpY2UubmF2aWdhdGUuc3Vic2NyaWJlKFxyXG4gICAgIHZhbHVlID0+IHtcclxuICAgICAgICAgdGhpcy5zZWxlY3RTaGVldCh2YWx1ZSk7XHJcbiAgICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoRXhjZWxEb2NIZWlnaHQoKSB7XHJcbiAgICAvLyBGb3IgY3VycmVudCBpdGVyYXRpb24gd2UnbGwgY2hhbmdlIGFjdHVhbCBoZWlnaHQgb2YgLmRvY3VtZW50XHJcbiAgICB0aGlzLmRvYyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApO1xyXG4gICAgdGhpcy5wYW56b29tID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCkuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIC8vIG1hZ2ljIG51bWJlciAzNyBpcyB0aGUgaGVpZ2h0IG9mIHRoZSBib3R0b20tYmFyIHdpdGggbmF2aWdhdGlvbiBiZXR3ZWVuIHBhZ2VzXHJcbiAgICB0aGlzLmRvYy5zdHlsZS5oZWlnaHQgPSB0aGlzLnBhbnpvb20uc2Nyb2xsSGVpZ2h0ICsgMzcgKyBcInB4XCI7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RTaGVldChudW1iZXIpe1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZU5vID0gbnVtYmVyO1xyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/dist/libs/common-components/esm2015/lib/excel-page/excel-page.component.js b/dist/libs/common-components/esm2015/lib/excel-page/excel-page.component.js index 4726c8db0..a79781c32 100644 --- a/dist/libs/common-components/esm2015/lib/excel-page/excel-page.component.js +++ b/dist/libs/common-components/esm2015/lib/excel-page/excel-page.component.js @@ -35,14 +35,14 @@ export class ExcelPageComponent { if (!this.isHtml) { this.imgData += this.data; } - this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null; + this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data; } } ExcelPageComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{border:1px solid #e7e7e7!important;vertical-align:middle!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + 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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{vertical-align:middle!important}/deep/ .page-grid-lines td{border:1px solid #e7e7e7!important}/deep/ .page td:nth-child(1){border:1px solid #e7e7e7!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] }] } ]; /** @nocollapse */ @@ -81,4 +81,4 @@ if (false) { */ ExcelPageComponent.prototype._excelPageService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQW1DLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT3pELE1BQU0sT0FBTyxrQkFBa0I7Ozs7SUFXN0IsWUFBb0IsaUJBQW1DO1FBQW5DLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7SUFDdkQsQ0FBQzs7OztJQUVELFFBQVE7O2NBQ0EsSUFBSSxHQUFHLFlBQVksQ0FBQSxLQUFLLElBQUksQ0FBQyxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ3hGLElBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsMkVBQTJFO1FBQzNFLCtEQUErRDtRQUMvRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDOztjQUN6RixrQkFBa0IsR0FBRyx3QkFBd0I7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNGLENBQUM7OztZQXJDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLHVuQkFBMEM7O2FBRTNDOzs7O1lBTlEsZ0JBQWdCOzs7b0JBU3RCLEtBQUs7b0JBQ0wsS0FBSztxQkFDTCxLQUFLO3FCQUNMLEtBQUs7bUJBQ0wsS0FBSztxQkFDTCxLQUFLO3VCQUNMLEtBQUs7Ozs7SUFOTixtQ0FBdUI7O0lBQ3ZCLG1DQUF1Qjs7SUFDdkIsb0NBQXdCOztJQUN4QixvQ0FBd0I7O0lBQ3hCLGtDQUFzQjs7SUFDdEIsb0NBQXlCOztJQUN6QixzQ0FBMkI7O0lBQzNCLHFDQUFnQjs7Ozs7SUFFSiwrQ0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRXhjZWxQYWdlU2VydmljZSB9IGZyb20gJy4uL2V4Y2VsLXBhZ2Uuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dkLWV4Y2VsLXBhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leGNlbC1wYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leGNlbC1wYWdlLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEV4Y2VsUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgYW5nbGU6IG51bWJlcjtcclxuICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGhlaWdodDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG51bWJlcjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGRhdGE6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0h0bWw6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW47XHJcbiAgaW1nRGF0YTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9leGNlbFBhZ2VTZXJ2aWNlOiBFeGNlbFBhZ2VTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGlzSUUgPSAvKkBjY19vbiFAKi9mYWxzZSB8fCAhIS8oTVNJRXxUcmlkZW50XFwvfEVkZ2VcXC8pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcclxuICAgIGlmKGlzSUUgJiYgdGhpcy5udW1iZXIgPT09IDApe1xyXG4gICAgICB0aGlzLmVkaXRhYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAvLyBUT0RPOiB0aGlzIGlzIHRlbXBvcmFyeSBuZWVkZWQgdG8gcmVtb3ZlIHVubmVlZGVkIHNwYWNlcyBhbmQgQk9NIHN5bWJvbCBcclxuICAgIC8vIHdoaWNoIGxlYWRzIHRvIHVuZGVzaXJlZCBzcGFjZXMgb24gdGhlIHRvcCBvZiB0aGUgZG9jcyBwYWdlc1xyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhICE9PSBudWxsID8gdGhpcy5kYXRhLnJlcGxhY2UoLz5cXHMrPC9nLCc+PCcpLnJlcGxhY2UoL1xcdUZFRkYvZyxcIlwiKSA6IG51bGw7XHJcbiAgICBjb25zdCBkYXRhSW1hZ2VQbmdCYXNlNjQgPSAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LCc7XHJcbiAgICB0aGlzLmltZ0RhdGEgPSBkYXRhSW1hZ2VQbmdCYXNlNjQ7XHJcbiAgICBpZiAoIXRoaXMuaXNIdG1sKSB7XHJcbiAgICAgIHRoaXMuaW1nRGF0YSArPSB0aGlzLmRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhICE9PSBudWxsID8gdGhpcy5fZXhjZWxQYWdlU2VydmljZS5nZXRVcGRhdGVkUGFnZSh0aGlzLmRhdGEpIDogbnVsbDtcclxuICB9XHJcbn0iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQW1DLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT3pELE1BQU0sT0FBTyxrQkFBa0I7Ozs7SUFXN0IsWUFBb0IsaUJBQW1DO1FBQW5DLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7SUFDdkQsQ0FBQzs7OztJQUVELFFBQVE7O2NBQ0EsSUFBSSxHQUFHLFlBQVksQ0FBQSxLQUFLLElBQUksQ0FBQyxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ3hGLElBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsMkVBQTJFO1FBQzNFLCtEQUErRDtRQUMvRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDOztjQUN6RixrQkFBa0IsR0FBRyx3QkFBd0I7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2hILENBQUM7OztZQXJDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLHVuQkFBMEM7O2FBRTNDOzs7O1lBTlEsZ0JBQWdCOzs7b0JBU3RCLEtBQUs7b0JBQ0wsS0FBSztxQkFDTCxLQUFLO3FCQUNMLEtBQUs7bUJBQ0wsS0FBSztxQkFDTCxLQUFLO3VCQUNMLEtBQUs7Ozs7SUFOTixtQ0FBdUI7O0lBQ3ZCLG1DQUF1Qjs7SUFDdkIsb0NBQXdCOztJQUN4QixvQ0FBd0I7O0lBQ3hCLGtDQUFzQjs7SUFDdEIsb0NBQXlCOztJQUN6QixzQ0FBMkI7O0lBQzNCLHFDQUFnQjs7Ozs7SUFFSiwrQ0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRXhjZWxQYWdlU2VydmljZSB9IGZyb20gJy4uL2V4Y2VsLXBhZ2Uuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dkLWV4Y2VsLXBhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leGNlbC1wYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leGNlbC1wYWdlLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEV4Y2VsUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgYW5nbGU6IG51bWJlcjtcclxuICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGhlaWdodDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG51bWJlcjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGRhdGE6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0h0bWw6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW47XHJcbiAgaW1nRGF0YTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9leGNlbFBhZ2VTZXJ2aWNlOiBFeGNlbFBhZ2VTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGlzSUUgPSAvKkBjY19vbiFAKi9mYWxzZSB8fCAhIS8oTVNJRXxUcmlkZW50XFwvfEVkZ2VcXC8pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcclxuICAgIGlmKGlzSUUgJiYgdGhpcy5udW1iZXIgPT09IDApe1xyXG4gICAgICB0aGlzLmVkaXRhYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAvLyBUT0RPOiB0aGlzIGlzIHRlbXBvcmFyeSBuZWVkZWQgdG8gcmVtb3ZlIHVubmVlZGVkIHNwYWNlcyBhbmQgQk9NIHN5bWJvbCBcclxuICAgIC8vIHdoaWNoIGxlYWRzIHRvIHVuZGVzaXJlZCBzcGFjZXMgb24gdGhlIHRvcCBvZiB0aGUgZG9jcyBwYWdlc1xyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhICE9PSBudWxsID8gdGhpcy5kYXRhLnJlcGxhY2UoLz5cXHMrPC9nLCc+PCcpLnJlcGxhY2UoL1xcdUZFRkYvZyxcIlwiKSA6IG51bGw7XHJcbiAgICBjb25zdCBkYXRhSW1hZ2VQbmdCYXNlNjQgPSAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LCc7XHJcbiAgICB0aGlzLmltZ0RhdGEgPSBkYXRhSW1hZ2VQbmdCYXNlNjQ7XHJcbiAgICBpZiAoIXRoaXMuaXNIdG1sKSB7XHJcbiAgICAgIHRoaXMuaW1nRGF0YSArPSB0aGlzLmRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhICE9PSBudWxsICYmIGNoYW5nZXMuZGF0YSA/IHRoaXMuX2V4Y2VsUGFnZVNlcnZpY2UuZ2V0VXBkYXRlZFBhZ2UodGhpcy5kYXRhKSA6IHRoaXMuZGF0YTtcclxuICB9XHJcbn0iXX0= \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js b/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js index 2a2172d5c..82c6a941d 100644 --- a/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js +++ b/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js @@ -76,7 +76,7 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { ExcelDocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-document', - template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; @@ -106,4 +106,4 @@ if (false) { */ ExcelDocumentComponent.prototype._navigateService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFlBQVksRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFPLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXhFO0lBSzRDLGtEQUFpQjtJQU0zRCxnQ0FBWSxXQUFvQyxFQUNwQyxXQUF3QixFQUN4QixhQUE0QixFQUNwQixnQkFBaUM7UUFIckQsWUFJRSxrQkFBTSxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxTQUMvQztRQUZtQixzQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBTHJELGFBQU8sR0FBRyxJQUFJLENBQUM7O0lBT2YsQ0FBQzs7OztJQUVELHlDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxnREFBZTs7O0lBQWY7UUFBQSxpQkFVQztRQVRDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVM7OztRQUFDO1lBQ3pCLEtBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTOzs7O1FBQ3ZDLFVBQUEsS0FBSztZQUNELEtBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFDLENBQUM7SUFDTixDQUFDOzs7O0lBRUQsc0RBQXFCOzs7SUFBckI7UUFDRSxnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNoRSxDQUFDOzs7OztJQUVELDRDQUFXOzs7O0lBQVgsVUFBWSxNQUFNO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQzlCLENBQUM7O2dCQTVDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsZzhCQUE4Qzs7aUJBRS9DOzs7O2dCQVhtQixVQUFVO2dCQUlyQixXQUFXO2dCQUZYLGFBQWE7Z0JBQ2IsZUFBZTs7O3dCQVVyQixZQUFZLFNBQUMsa0JBQWtCOztJQXVDbEMsNkJBQUM7Q0FBQSxBQTdDRCxDQUs0QyxpQkFBaUIsR0F3QzVEO1NBeENZLHNCQUFzQjs7O0lBQ2pDLHVDQUF1RTs7SUFFdkUsK0NBQXNCOztJQUN0Qix5Q0FBZTs7Ozs7SUFLSCxrREFBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9kb2N1bWVudC9kb2N1bWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vd2luZG93LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0ZVNlcnZpY2UgfSBmcm9tICcuLi9uYXZpZ2F0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWm9vbVNlcnZpY2UgfSBmcm9tICAnLi4vem9vbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXhjZWxQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dkLWV4Y2VsLWRvY3VtZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeGNlbERvY3VtZW50Q29tcG9uZW50IGV4dGVuZHMgRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQgIHtcclxuICBAVmlld0NoaWxkcmVuKEV4Y2VsUGFnZUNvbXBvbmVudCkgcGFnZXM6IFF1ZXJ5TGlzdDxFeGNlbFBhZ2VDb21wb25lbnQ+OyBcclxuICBcclxuICBjdXJyZW50UGFnZU5vOiBudW1iZXI7XHJcbiAgcGFuem9vbSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgICAgICAgICAgICB6b29tU2VydmljZTogWm9vbVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgd2luZG93U2VydmljZTogV2luZG93U2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9uYXZpZ2F0ZVNlcnZpY2U6IE5hdmlnYXRlU2VydmljZSkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIHpvb21TZXJ2aWNlLCB3aW5kb3dTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSAxO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5yZWZyZXNoRXhjZWxEb2NIZWlnaHQoKTtcclxuICAgIHRoaXMucGFnZXMuY2hhbmdlcy5zdWJzY3JpYmUoKCk9PntcclxuICAgICAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fbmF2aWdhdGVTZXJ2aWNlLm5hdmlnYXRlLnN1YnNjcmliZShcclxuICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICAgIHRoaXMuc2VsZWN0U2hlZXQodmFsdWUpO1xyXG4gICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCkge1xyXG4gICAgLy8gRm9yIGN1cnJlbnQgaXRlcmF0aW9uIHdlJ2xsIGNoYW5nZSBhY3R1YWwgaGVpZ2h0IG9mIC5kb2N1bWVudFxyXG4gICAgdGhpcy5kb2MgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIHRoaXMucGFuem9vbSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApLmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICAvLyBtYWdpYyBudW1iZXIgMzcgaXMgdGhlIGhlaWdodCBvZiB0aGUgYm90dG9tLWJhciB3aXRoIG5hdmlnYXRpb24gYmV0d2VlbiBwYWdlc1xyXG4gICAgdGhpcy5kb2Muc3R5bGUuaGVpZ2h0ID0gdGhpcy5wYW56b29tLnNjcm9sbEhlaWdodCArIDM3ICsgXCJweFwiO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0U2hlZXQobnVtYmVyKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IG51bWJlcjtcclxuICB9XHJcbn1cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFlBQVksRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFPLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXhFO0lBSzRDLGtEQUFpQjtJQU0zRCxnQ0FBWSxXQUFvQyxFQUNwQyxXQUF3QixFQUN4QixhQUE0QixFQUNwQixnQkFBaUM7UUFIckQsWUFJRSxrQkFBTSxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxTQUMvQztRQUZtQixzQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBTHJELGFBQU8sR0FBRyxJQUFJLENBQUM7O0lBT2YsQ0FBQzs7OztJQUVELHlDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxnREFBZTs7O0lBQWY7UUFBQSxpQkFVQztRQVRDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVM7OztRQUFDO1lBQ3pCLEtBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTOzs7O1FBQ3ZDLFVBQUEsS0FBSztZQUNELEtBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFDLENBQUM7SUFDTixDQUFDOzs7O0lBRUQsc0RBQXFCOzs7SUFBckI7UUFDRSxnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNoRSxDQUFDOzs7OztJQUVELDRDQUFXOzs7O0lBQVgsVUFBWSxNQUFNO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQzlCLENBQUM7O2dCQTVDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IscWhDQUE4Qzs7aUJBRS9DOzs7O2dCQVhtQixVQUFVO2dCQUlyQixXQUFXO2dCQUZYLGFBQWE7Z0JBQ2IsZUFBZTs7O3dCQVVyQixZQUFZLFNBQUMsa0JBQWtCOztJQXVDbEMsNkJBQUM7Q0FBQSxBQTdDRCxDQUs0QyxpQkFBaUIsR0F3QzVEO1NBeENZLHNCQUFzQjs7O0lBQ2pDLHVDQUF1RTs7SUFFdkUsK0NBQXNCOztJQUN0Qix5Q0FBZTs7Ozs7SUFLSCxrREFBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9kb2N1bWVudC9kb2N1bWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vd2luZG93LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0ZVNlcnZpY2UgfSBmcm9tICcuLi9uYXZpZ2F0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWm9vbVNlcnZpY2UgfSBmcm9tICAnLi4vem9vbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXhjZWxQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dkLWV4Y2VsLWRvY3VtZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeGNlbERvY3VtZW50Q29tcG9uZW50IGV4dGVuZHMgRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQgIHtcclxuICBAVmlld0NoaWxkcmVuKEV4Y2VsUGFnZUNvbXBvbmVudCkgcGFnZXM6IFF1ZXJ5TGlzdDxFeGNlbFBhZ2VDb21wb25lbnQ+OyBcclxuICBcclxuICBjdXJyZW50UGFnZU5vOiBudW1iZXI7XHJcbiAgcGFuem9vbSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgICAgICAgICAgICB6b29tU2VydmljZTogWm9vbVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgd2luZG93U2VydmljZTogV2luZG93U2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9uYXZpZ2F0ZVNlcnZpY2U6IE5hdmlnYXRlU2VydmljZSkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIHpvb21TZXJ2aWNlLCB3aW5kb3dTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSAxO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5yZWZyZXNoRXhjZWxEb2NIZWlnaHQoKTtcclxuICAgIHRoaXMucGFnZXMuY2hhbmdlcy5zdWJzY3JpYmUoKCk9PntcclxuICAgICAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fbmF2aWdhdGVTZXJ2aWNlLm5hdmlnYXRlLnN1YnNjcmliZShcclxuICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICAgIHRoaXMuc2VsZWN0U2hlZXQodmFsdWUpO1xyXG4gICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCkge1xyXG4gICAgLy8gRm9yIGN1cnJlbnQgaXRlcmF0aW9uIHdlJ2xsIGNoYW5nZSBhY3R1YWwgaGVpZ2h0IG9mIC5kb2N1bWVudFxyXG4gICAgdGhpcy5kb2MgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIHRoaXMucGFuem9vbSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApLmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICAvLyBtYWdpYyBudW1iZXIgMzcgaXMgdGhlIGhlaWdodCBvZiB0aGUgYm90dG9tLWJhciB3aXRoIG5hdmlnYXRpb24gYmV0d2VlbiBwYWdlc1xyXG4gICAgdGhpcy5kb2Muc3R5bGUuaGVpZ2h0ID0gdGhpcy5wYW56b29tLnNjcm9sbEhlaWdodCArIDM3ICsgXCJweFwiO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0U2hlZXQobnVtYmVyKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IG51bWJlcjtcclxuICB9XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/excel-page/excel-page.component.js b/dist/libs/common-components/esm5/lib/excel-page/excel-page.component.js index d543138c5..3c16060f1 100644 --- a/dist/libs/common-components/esm5/lib/excel-page/excel-page.component.js +++ b/dist/libs/common-components/esm5/lib/excel-page/excel-page.component.js @@ -39,13 +39,13 @@ var ExcelPageComponent = /** @class */ (function () { if (!this.isHtml) { this.imgData += this.data; } - this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null; + this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data; }; ExcelPageComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{border:1px solid #e7e7e7!important;vertical-align:middle!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + 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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{vertical-align:middle!important}/deep/ .page-grid-lines td{border:1px solid #e7e7e7!important}/deep/ .page td:nth-child(1){border:1px solid #e7e7e7!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] }] } ]; /** @nocollapse */ @@ -87,4 +87,4 @@ if (false) { */ ExcelPageComponent.prototype._excelPageService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQW1DLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpEO0lBZ0JFLDRCQUFvQixpQkFBbUM7UUFBbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtJQUN2RCxDQUFDOzs7O0lBRUQscUNBQVE7OztJQUFSOztZQUNRLElBQUksR0FBRyxZQUFZLENBQUEsS0FBSyxJQUFJLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUN4RixJQUFHLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtJQUNILENBQUM7Ozs7O0lBRUQsd0NBQVc7Ozs7SUFBWCxVQUFZLE9BQXNCO1FBQ2hDLDJFQUEyRTtRQUMzRSwrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzs7WUFDekYsa0JBQWtCLEdBQUcsd0JBQXdCO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsa0JBQWtCLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRixDQUFDOztnQkFyQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6Qix1bkJBQTBDOztpQkFFM0M7Ozs7Z0JBTlEsZ0JBQWdCOzs7d0JBU3RCLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxLQUFLO3lCQUNMLEtBQUs7dUJBQ0wsS0FBSzt5QkFDTCxLQUFLOzJCQUNMLEtBQUs7O0lBeUJSLHlCQUFDO0NBQUEsQUF0Q0QsSUFzQ0M7U0FqQ1ksa0JBQWtCOzs7SUFFN0IsbUNBQXVCOztJQUN2QixtQ0FBdUI7O0lBQ3ZCLG9DQUF3Qjs7SUFDeEIsb0NBQXdCOztJQUN4QixrQ0FBc0I7O0lBQ3RCLG9DQUF5Qjs7SUFDekIsc0NBQTJCOztJQUMzQixxQ0FBZ0I7Ozs7O0lBRUosK0NBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEV4Y2VsUGFnZVNlcnZpY2UgfSBmcm9tICcuLi9leGNlbC1wYWdlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnZC1leGNlbC1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhjZWwtcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXhjZWwtcGFnZS5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeGNlbFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIGFuZ2xlOiBudW1iZXI7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcclxuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcclxuICBASW5wdXQoKSBudW1iZXI6IG51bWJlcjtcclxuICBASW5wdXQoKSBkYXRhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNIdG1sOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGVkaXRhYmxlOiBib29sZWFuO1xyXG4gIGltZ0RhdGE6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZXhjZWxQYWdlU2VydmljZTogRXhjZWxQYWdlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCBpc0lFID0gLypAY2Nfb24hQCovZmFsc2UgfHwgISEvKE1TSUV8VHJpZGVudFxcL3xFZGdlXFwvKS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcbiAgICBpZihpc0lFICYmIHRoaXMubnVtYmVyID09PSAwKXtcclxuICAgICAgdGhpcy5lZGl0YWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgLy8gVE9ETzogdGhpcyBpcyB0ZW1wb3JhcnkgbmVlZGVkIHRvIHJlbW92ZSB1bm5lZWRlZCBzcGFjZXMgYW5kIEJPTSBzeW1ib2wgXHJcbiAgICAvLyB3aGljaCBsZWFkcyB0byB1bmRlc2lyZWQgc3BhY2VzIG9uIHRoZSB0b3Agb2YgdGhlIGRvY3MgcGFnZXNcclxuICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YSAhPT0gbnVsbCA/IHRoaXMuZGF0YS5yZXBsYWNlKC8+XFxzKzwvZywnPjwnKS5yZXBsYWNlKC9cXHVGRUZGL2csXCJcIikgOiBudWxsO1xyXG4gICAgY29uc3QgZGF0YUltYWdlUG5nQmFzZTY0ID0gJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnO1xyXG4gICAgdGhpcy5pbWdEYXRhID0gZGF0YUltYWdlUG5nQmFzZTY0O1xyXG4gICAgaWYgKCF0aGlzLmlzSHRtbCkge1xyXG4gICAgICB0aGlzLmltZ0RhdGEgKz0gdGhpcy5kYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YSAhPT0gbnVsbCA/IHRoaXMuX2V4Y2VsUGFnZVNlcnZpY2UuZ2V0VXBkYXRlZFBhZ2UodGhpcy5kYXRhKSA6IG51bGw7XHJcbiAgfVxyXG59Il19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQW1DLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpEO0lBZ0JFLDRCQUFvQixpQkFBbUM7UUFBbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtJQUN2RCxDQUFDOzs7O0lBRUQscUNBQVE7OztJQUFSOztZQUNRLElBQUksR0FBRyxZQUFZLENBQUEsS0FBSyxJQUFJLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUN4RixJQUFHLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtJQUNILENBQUM7Ozs7O0lBRUQsd0NBQVc7Ozs7SUFBWCxVQUFZLE9BQXNCO1FBQ2hDLDJFQUEyRTtRQUMzRSwrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzs7WUFDekYsa0JBQWtCLEdBQUcsd0JBQXdCO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsa0JBQWtCLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoSCxDQUFDOztnQkFyQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6Qix1bkJBQTBDOztpQkFFM0M7Ozs7Z0JBTlEsZ0JBQWdCOzs7d0JBU3RCLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxLQUFLO3lCQUNMLEtBQUs7dUJBQ0wsS0FBSzt5QkFDTCxLQUFLOzJCQUNMLEtBQUs7O0lBeUJSLHlCQUFDO0NBQUEsQUF0Q0QsSUFzQ0M7U0FqQ1ksa0JBQWtCOzs7SUFFN0IsbUNBQXVCOztJQUN2QixtQ0FBdUI7O0lBQ3ZCLG9DQUF3Qjs7SUFDeEIsb0NBQXdCOztJQUN4QixrQ0FBc0I7O0lBQ3RCLG9DQUF5Qjs7SUFDekIsc0NBQTJCOztJQUMzQixxQ0FBZ0I7Ozs7O0lBRUosK0NBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEV4Y2VsUGFnZVNlcnZpY2UgfSBmcm9tICcuLi9leGNlbC1wYWdlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnZC1leGNlbC1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhjZWwtcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXhjZWwtcGFnZS5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeGNlbFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIGFuZ2xlOiBudW1iZXI7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcclxuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcclxuICBASW5wdXQoKSBudW1iZXI6IG51bWJlcjtcclxuICBASW5wdXQoKSBkYXRhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNIdG1sOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGVkaXRhYmxlOiBib29sZWFuO1xyXG4gIGltZ0RhdGE6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZXhjZWxQYWdlU2VydmljZTogRXhjZWxQYWdlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCBpc0lFID0gLypAY2Nfb24hQCovZmFsc2UgfHwgISEvKE1TSUV8VHJpZGVudFxcL3xFZGdlXFwvKS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcbiAgICBpZihpc0lFICYmIHRoaXMubnVtYmVyID09PSAwKXtcclxuICAgICAgdGhpcy5lZGl0YWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgLy8gVE9ETzogdGhpcyBpcyB0ZW1wb3JhcnkgbmVlZGVkIHRvIHJlbW92ZSB1bm5lZWRlZCBzcGFjZXMgYW5kIEJPTSBzeW1ib2wgXHJcbiAgICAvLyB3aGljaCBsZWFkcyB0byB1bmRlc2lyZWQgc3BhY2VzIG9uIHRoZSB0b3Agb2YgdGhlIGRvY3MgcGFnZXNcclxuICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YSAhPT0gbnVsbCA/IHRoaXMuZGF0YS5yZXBsYWNlKC8+XFxzKzwvZywnPjwnKS5yZXBsYWNlKC9cXHVGRUZGL2csXCJcIikgOiBudWxsO1xyXG4gICAgY29uc3QgZGF0YUltYWdlUG5nQmFzZTY0ID0gJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnO1xyXG4gICAgdGhpcy5pbWdEYXRhID0gZGF0YUltYWdlUG5nQmFzZTY0O1xyXG4gICAgaWYgKCF0aGlzLmlzSHRtbCkge1xyXG4gICAgICB0aGlzLmltZ0RhdGEgKz0gdGhpcy5kYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YSAhPT0gbnVsbCAmJiBjaGFuZ2VzLmRhdGEgPyB0aGlzLl9leGNlbFBhZ2VTZXJ2aWNlLmdldFVwZGF0ZWRQYWdlKHRoaXMuZGF0YSkgOiB0aGlzLmRhdGE7XHJcbiAgfVxyXG59Il19 \ 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 6899dd2d6..6a5cb4aad 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 @@ -1618,14 +1618,14 @@ class ExcelPageComponent { if (!this.isHtml) { this.imgData += this.data; } - this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null; + this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data; } } ExcelPageComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{border:1px solid #e7e7e7!important;vertical-align:middle!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + 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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{vertical-align:middle!important}/deep/ .page-grid-lines td{border:1px solid #e7e7e7!important}/deep/ .page td:nth-child(1){border:1px solid #e7e7e7!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] }] } ]; /** @nocollapse */ @@ -1704,7 +1704,7 @@ class ExcelDocumentComponent extends DocumentComponent { ExcelDocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-document', - template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; 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 94e719beb..23b2d9bbc 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/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\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 visibility = 'hidden';\n\n constructor() {\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 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\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","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\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 {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';\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\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 ],\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 ],\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-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/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/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\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 visibility = 'hidden';\r\n\r\n constructor() {\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 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\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","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\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 {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\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n super(_elementRef, zoomService, windowService);\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this._navigateService.navigate.subscribe(\r\n value => {\r\n this.selectSheet(value);\r\n });\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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 {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 {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 {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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-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 {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 {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 ],\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 EditorDirective,\r\n FormattingDirective\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 f4c68061e..17fdfad50 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 @@ -1981,13 +1981,13 @@ var ExcelPageComponent = /** @class */ (function () { if (!this.isHtml) { this.imgData += this.data; } - this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null; + this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data; }; ExcelPageComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{border:1px solid #e7e7e7!important;vertical-align:middle!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + 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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{vertical-align:middle!important}/deep/ .page-grid-lines td{border:1px solid #e7e7e7!important}/deep/ .page td:nth-child(1){border:1px solid #e7e7e7!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] }] } ]; /** @nocollapse */ @@ -2077,7 +2077,7 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { ExcelDocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-document', - template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; 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 40eb6c870..083ce7aec 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/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\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 visibility = 'hidden';\n\n constructor() {\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 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\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","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\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 {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';\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\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 ],\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 ],\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-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/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/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\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 visibility = 'hidden';\r\n\r\n constructor() {\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 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\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","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\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 {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\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n super(_elementRef, zoomService, windowService);\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this._navigateService.navigate.subscribe(\r\n value => {\r\n this.selectSheet(value);\r\n });\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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 {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 {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 {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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-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 {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 {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 ],\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\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 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 EditorDirective,\r\n FormattingDirective\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 156709143..76e31b5aa 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":106,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":107,"character":12},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":107,"character":26},{"__symbolic":"reference","module":"ng-click-outside","name":"ClickOutsideModule","line":107,"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":"ExcelDocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"ExcelPageComponent"},{"__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"}],"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":"ExcelDocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"ExcelPageComponent"},{"__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":"EditorDirective"},{"__symbolic":"reference","name":"FormattingDirective"}],"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":"ExcelPageService"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Api":{"__symbolic":"class","members":{},"statics":{"VIEWER_APP":"/viewer","SIGNATURE_APP":"/signature","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","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":34,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":39,"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":46,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__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;align-items: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}@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}}]}],"__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"}]}},"ExcelDocumentComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"DocumentComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"gd-excel-document","template":"
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n","styles":[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"pages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":13,"character":3},"arguments":[{"__symbolic":"reference","name":"ExcelPageComponent"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":18,"character":38,"context":{"typeName":"HTMLElement"},"module":"./lib/excel-document/excel-document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"refreshExcelDocHeight":[{"__symbolic":"method"}],"selectSheet":[{"__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"}]}},"ExcelPageComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{border:1px solid #e7e7e7!important;vertical-align:middle!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"]}]}],"members":{"angle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"number":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"isHtml":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"editable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExcelPageService"}]}],"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;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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}}]}],"__ctor__":[{"__symbolic":"constructor"}],"show":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"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"}]}},"ExcelPageService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getUpdatedPage":[{"__symbolic":"method"}],"getPageWithoutHeader":[{"__symbolic":"method"}],"createHeader":[{"__symbolic":"method"}],"colName":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabs","template":"
\r\n \r\n
\r\n","styles":[".gd-tabs{display:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdTooltip]"}]}],"members":{"showToolTip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"onHovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["mouseenter"]}]}],"onUnhovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":17,"character":3},"arguments":["mouseleave"]}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"gd-resizing","template":"
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n","styles":[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],"members":{"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"se":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"ne":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"sw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"nw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"pageWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"pageHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"offsetY":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"offsetTop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"offsetLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"release":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"catchUp":[{"__symbolic":"method"}],"resize":[{"__symbolic":"method"}],"setOffsets":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"getElementId":[{"__symbolic":"method"}]}}},"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","ExcelDocumentComponent":"./lib/excel-document/excel-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","ExcelPageComponent":"./lib/excel-page/excel-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","ExcelPageService":"./lib/excel-page.service","ɵa":"./lib/tabs/tabs.component","ɵb":"./lib/tooltip.directive","ɵc":"./lib/resizing/resizing.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":106,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":107,"character":12},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":107,"character":26},{"__symbolic":"reference","module":"ng-click-outside","name":"ClickOutsideModule","line":107,"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":"ExcelDocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"ExcelPageComponent"},{"__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"}],"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":"ExcelDocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"ExcelPageComponent"},{"__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":"EditorDirective"},{"__symbolic":"reference","name":"FormattingDirective"}],"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":"ExcelPageService"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Api":{"__symbolic":"class","members":{},"statics":{"VIEWER_APP":"/viewer","SIGNATURE_APP":"/signature","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","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":34,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":39,"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":46,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__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;align-items: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}@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}}]}],"__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"}]}},"ExcelDocumentComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"DocumentComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"gd-excel-document","template":"
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n","styles":[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"pages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":13,"character":3},"arguments":[{"__symbolic":"reference","name":"ExcelPageComponent"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":18,"character":38,"context":{"typeName":"HTMLElement"},"module":"./lib/excel-document/excel-document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"refreshExcelDocHeight":[{"__symbolic":"method"}],"selectSheet":[{"__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"}]}},"ExcelPageComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-excel-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}/deep/ th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}/deep/ td{vertical-align:middle!important}/deep/ .page-grid-lines td{border:1px solid #e7e7e7!important}/deep/ .page td:nth-child(1){border:1px solid #e7e7e7!important}/deep/ tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}/deep/ tr td.excel:first-child div{width:80px}/deep/ tr th.excel:first-child{background-color:#f4f4f4;width:1%}/deep/ tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"]}]}],"members":{"angle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"number":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"isHtml":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"editable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExcelPageService"}]}],"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;margin-top:37px;width:100px;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px 0;z-index:1;margin-left:-66px;font-size:10px;height:11px;line-height:11px}.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}}]}],"__ctor__":[{"__symbolic":"constructor"}],"show":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"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"}]}},"ExcelPageService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getUpdatedPage":[{"__symbolic":"method"}],"getPageWithoutHeader":[{"__symbolic":"method"}],"createHeader":[{"__symbolic":"method"}],"colName":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabs","template":"
\r\n \r\n
\r\n","styles":[".gd-tabs{display:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdTooltip]"}]}],"members":{"showToolTip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"onHovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["mouseenter"]}]}],"onUnhovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":17,"character":3},"arguments":["mouseleave"]}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"gd-resizing","template":"
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n","styles":[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],"members":{"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"se":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"ne":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"sw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"nw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"pageWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"pageHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"offsetY":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"offsetTop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"offsetLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"release":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"catchUp":[{"__symbolic":"method"}],"resize":[{"__symbolic":"method"}],"setOffsets":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"getElementId":[{"__symbolic":"method"}]}}},"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","ExcelDocumentComponent":"./lib/excel-document/excel-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","ExcelPageComponent":"./lib/excel-page/excel-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","ExcelPageService":"./lib/excel-page.service","ɵa":"./lib/tabs/tabs.component","ɵb":"./lib/tooltip.directive","ɵc":"./lib/resizing/resizing.component"},"importAs":"@groupdocs.examples.angular/common-components"} \ No newline at end of file diff --git a/libs/common-components/src/lib/excel-document/excel-document.component.html b/libs/common-components/src/lib/excel-document/excel-document.component.html index 3f1d3ef3b..8ab0b1c19 100644 --- a/libs/common-components/src/lib/excel-document/excel-document.component.html +++ b/libs/common-components/src/lib/excel-document/excel-document.component.html @@ -3,7 +3,7 @@
-
diff --git a/libs/common-components/src/lib/excel-page/excel-page.component.ts b/libs/common-components/src/lib/excel-page/excel-page.component.ts index aa4aef5eb..a39bb5dca 100644 --- a/libs/common-components/src/lib/excel-page/excel-page.component.ts +++ b/libs/common-components/src/lib/excel-page/excel-page.component.ts @@ -37,6 +37,6 @@ export class ExcelPageComponent implements OnInit, OnChanges { this.imgData += this.data; } - this.data = this.data !== null ? this._excelPageService.getUpdatedPage(this.data) : null; + this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data; } } \ No newline at end of file From eff543c590ec0ad7d474b16c133d57b2f00cbfd4 Mon Sep 17 00:00:00 2001 From: Egor Date: Thu, 17 Sep 2020 12:07:20 +0300 Subject: [PATCH 06/10] Build fix. --- ....examples.angular-common-components.umd.js | 17037 ++++++++-------- ...mples.angular-common-components.umd.js.map | 2 +- ...mples.angular-common-components.umd.min.js | 22 +- ...s.angular-common-components.umd.min.js.map | 2 +- ...docs.examples.angular-common-components.js | 4 +- .../excel-document.component.js | 21 +- .../excel-document.component.js | 19 +- ...docs.examples.angular-common-components.js | 436 +- ....examples.angular-common-components.js.map | 2 +- ...docs.examples.angular-common-components.js | 470 +- ....examples.angular-common-components.js.map | 2 +- ...es.angular-common-components.metadata.json | 2 +- .../excel-document.component.d.ts | 4 +- .../excel-document.component.ts | 2 +- libs/editor/src/lib/editor-app.component.html | 4 +- 15 files changed, 9541 insertions(+), 8488 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 5fa3cd983..5ec8f2e38 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 @@ -5,18 +5,18 @@ }(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. - 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 + Copyright (c) Microsoft Corporation. - 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. + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. - See the Apache Version 2.0 License for specific language governing permissions - and limitations under the License. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ @@ -72,10 +72,11 @@ } function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 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); } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } @@ -108,19 +109,25 @@ } } + function __createBinding(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; + } + function __exportStar(m, exports) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; + for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) exports[p] = m[p]; } function __values(o) { - var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); - return { + if (o && typeof o.length === "number") return { next: function () { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); } function __read(o, n) { @@ -199,8452 +206,8823 @@ function __importDefault(mod) { return (mod && mod.__esModule) ? mod : { default: mod }; + } + + function __classPrivateFieldGet(receiver, privateMap) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + return privateMap.get(receiver); + } + + function __classPrivateFieldSet(receiver, privateMap, value) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to set private field on non-instance"); + } + privateMap.set(receiver, value); + return value; } - /** - * @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 SidePanelComponent = /** @class */ (function () { - function SidePanelComponent() { - this.closable = true; - this.saveable = true; - this.hideSidePanel = new core.EventEmitter(); - this.saveInSidePanel = new core.EventEmitter(); - this.onlyTitle = false; - } - /** - * @return {?} - */ - SidePanelComponent.prototype.closeSidePanel = /** - * @return {?} - */ - function () { - this.hideSidePanel.emit(true); - }; - /** - * @return {?} - */ - SidePanelComponent.prototype.saveBySidePanel = /** - * @return {?} - */ - function () { - this.saveInSidePanel.emit(true); - }; - /** - * @return {?} - */ - SidePanelComponent.prototype.toggleTitleMode = /** - * @return {?} - */ - function () { - if (this.closable && !this.saveable) { - this.onlyTitle = !this.onlyTitle; - } - }; - SidePanelComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-side-panel', - template: "
\n
\n \n
{{title}}
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n", - styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"] - }] } - ]; - /** @nocollapse */ - SidePanelComponent.ctorParameters = function () { return []; }; - SidePanelComponent.propDecorators = { - title: [{ type: core.Input }], - icon: [{ type: core.Input }], - closable: [{ type: core.Input }], - saveable: [{ type: core.Input }], - hideSidePanel: [{ type: core.Output }], - saveInSidePanel: [{ type: core.Output }] - }; - return SidePanelComponent; + /** + * @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; }()); - if (false) { - /** @type {?} */ - SidePanelComponent.prototype.title; - /** @type {?} */ - SidePanelComponent.prototype.icon; - /** @type {?} */ - SidePanelComponent.prototype.closable; - /** @type {?} */ - SidePanelComponent.prototype.saveable; - /** @type {?} */ - SidePanelComponent.prototype.hideSidePanel; - /** @type {?} */ - SidePanelComponent.prototype.saveInSidePanel; - /** @type {?} */ - SidePanelComponent.prototype.onlyTitle; - } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var MOBILE_MAX_WIDTH = 425; - /** @type {?} */ - var TABLET_MAX_WIDTH = 1024; - var WindowService = /** @class */ (function () { - function WindowService() { - var _this = this; - this.resizeSubject = new rxjs.Subject(); - this.width = window.innerWidth; - this.height = window.innerHeight; - this._resize$ = rxjs.fromEvent(window, 'resize') - .pipe(operators.debounceTime(200), operators.distinctUntilChanged(), operators.startWith({ target: { innerWidth: window.innerWidth, innerHeight: window.innerHeight } }), operators.tap((/** - * @param {?} event - * @return {?} - */ - function (event) { - _this.resizeSubject.next((/** @type {?} */ (event.target))); - _this.width = ((/** @type {?} */ (event.target))).innerWidth; - _this.height = ((/** @type {?} */ (event.target))).innerHeight; - }))); - this._resize$.subscribe(); - } - Object.defineProperty(WindowService.prototype, "onResize", { - get: /** - * @return {?} - */ - function () { - return this.resizeSubject.asObservable(); - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - WindowService.prototype.isMobile = /** - * @return {?} - */ - function () { - return this.width <= MOBILE_MAX_WIDTH; - }; - /** - * @return {?} - */ - WindowService.prototype.isTablet = /** - * @return {?} - */ - function () { - return this.width <= TABLET_MAX_WIDTH; - }; - /** - * @return {?} - */ - WindowService.prototype.isDesktop = /** - * @return {?} - */ - function () { - return !this.isMobile() && !this.isTablet(); - }; - /** - * @return {?} - */ - WindowService.prototype.getWidth = /** - * @return {?} - */ - function () { - return this.width; - }; - /** - * @return {?} - */ - WindowService.prototype.getHeight = /** - * @return {?} - */ - function () { - return this.height; - }; - /** - * @return {?} - */ - WindowService.prototype.isEdge = /** - * @return {?} - */ - function () { - return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1; - }; - /** - * @return {?} - */ - WindowService.prototype.isFirefox = /** - * @return {?} - */ - function () { - return navigator.userAgent.toLowerCase().indexOf('firefox') > -1; - }; - return WindowService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - WindowService.prototype.resizeSubject; - /** - * @type {?} - * @private - */ - WindowService.prototype._resize$; - /** - * @type {?} - * @private - */ - WindowService.prototype.width; - /** - * @type {?} - * @private - */ - WindowService.prototype.height; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SidePanelComponent = /** @class */ (function () { + function SidePanelComponent() { + this.closable = true; + this.saveable = true; + this.hideSidePanel = new core.EventEmitter(); + this.saveInSidePanel = new core.EventEmitter(); + this.onlyTitle = false; + } + /** + * @return {?} + */ + SidePanelComponent.prototype.closeSidePanel = /** + * @return {?} + */ + function () { + this.hideSidePanel.emit(true); + }; + /** + * @return {?} + */ + SidePanelComponent.prototype.saveBySidePanel = /** + * @return {?} + */ + function () { + this.saveInSidePanel.emit(true); + }; + /** + * @return {?} + */ + SidePanelComponent.prototype.toggleTitleMode = /** + * @return {?} + */ + function () { + if (this.closable && !this.saveable) { + this.onlyTitle = !this.onlyTitle; + } + }; + SidePanelComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-side-panel', + template: "
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n", + styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;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,.gd-side-panel-wrapper .gd-side-panel-header .save{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display: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 }], + closable: [{ type: core.Input }], + saveable: [{ type: core.Input }], + hideSidePanel: [{ type: core.Output }], + saveInSidePanel: [{ type: core.Output }] + }; + return SidePanelComponent; + }()); + if (false) { + /** @type {?} */ + SidePanelComponent.prototype.title; + /** @type {?} */ + SidePanelComponent.prototype.icon; + /** @type {?} */ + SidePanelComponent.prototype.closable; + /** @type {?} */ + SidePanelComponent.prototype.saveable; + /** @type {?} */ + SidePanelComponent.prototype.hideSidePanel; + /** @type {?} */ + SidePanelComponent.prototype.saveInSidePanel; + /** @type {?} */ + SidePanelComponent.prototype.onlyTitle; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ButtonComponent = /** @class */ (function () { - function ButtonComponent(windowService) { - var _this = this; - this.iconOnly = true; - this.intent = 'default'; - this.disabled = false; - this.toggle = false; - this.iconRegular = false; - this.elementPosition = 0; - this.showToolTip = false; - this.isDesktop = windowService.isDesktop(); - windowService.onResize.subscribe((/** - * @param {?} w - * @return {?} - */ - function (w) { - _this.isDesktop = windowService.isDesktop(); - })); - } - /** - * @return {?} - */ - ButtonComponent.prototype.iconButtonClass = /** - * @return {?} - */ - function () { - return this.iconOnly ? 'icon-button' : ''; - }; - /** - * @return {?} - */ - ButtonComponent.prototype.onHovering = /** - * @return {?} - */ - function () { - if (this.isDesktop && !this.disabled) { - this.className += ' active'; - } - }; - /** - * @return {?} - */ - ButtonComponent.prototype.onUnhovering = /** - * @return {?} - */ - function () { - if (this.isDesktop && !this.disabled) { - this.className = this.cleanAll(this.className, ' active'); - } - }; - /** - * @private - * @param {?} str - * @param {?} val - * @return {?} - */ - ButtonComponent.prototype.cleanAll = /** - * @private - * @param {?} str - * @param {?} val - * @return {?} - */ - function (str, val) { - while (str && str.indexOf(val) !== -1) { - str = str.replace(val, ''); - } - return str; - }; - ButtonComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-button', - template: "
\n \n \n
\n \n
\n
\n", - styles: [".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"] - }] } - ]; - /** @nocollapse */ - ButtonComponent.ctorParameters = function () { return [ - { type: WindowService } - ]; }; - ButtonComponent.propDecorators = { - iconOnly: [{ type: core.Input }], - intent: [{ type: core.Input }], - disabled: [{ type: core.Input }], - icon: [{ type: core.Input }], - iconClass: [{ type: core.Input }], - tooltip: [{ type: core.Input }], - className: [{ type: core.Input }], - toggle: [{ type: core.Input }], - iconSize: [{ type: core.Input }], - iconRegular: [{ type: core.Input }], - elementPosition: [{ type: core.Input }] - }; - return ButtonComponent; - }()); - if (false) { - /** @type {?} */ - ButtonComponent.prototype.iconOnly; - /** @type {?} */ - ButtonComponent.prototype.intent; - /** @type {?} */ - ButtonComponent.prototype.disabled; - /** @type {?} */ - ButtonComponent.prototype.icon; - /** @type {?} */ - ButtonComponent.prototype.iconClass; - /** @type {?} */ - ButtonComponent.prototype.tooltip; - /** @type {?} */ - ButtonComponent.prototype.className; - /** @type {?} */ - ButtonComponent.prototype.toggle; - /** @type {?} */ - ButtonComponent.prototype.iconSize; - /** @type {?} */ - ButtonComponent.prototype.iconRegular; - /** @type {?} */ - ButtonComponent.prototype.elementPosition; - /** @type {?} */ - ButtonComponent.prototype.showToolTip; - /** - * @type {?} - * @private - */ - ButtonComponent.prototype.isDesktop; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @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 LogoComponent = /** @class */ (function () { - function LogoComponent() { - } - /** - * @return {?} - */ - LogoComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - LogoComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-logo', - template: "
\n \n \n
\n\n", - styles: [".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"] - }] } - ]; - /** @nocollapse */ - LogoComponent.ctorParameters = function () { return []; }; - LogoComponent.propDecorators = { - logo: [{ type: core.Input }], - icon: [{ type: core.Input }] - }; - return LogoComponent; - }()); - if (false) { - /** @type {?} */ - LogoComponent.prototype.logo; - /** @type {?} */ - LogoComponent.prototype.icon; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var 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 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; - }()); - 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 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 Api = /** @class */ (function () { - function Api() { - } - Api.VIEWER_APP = '/viewer'; - Api.SIGNATURE_APP = '/signature'; - Api.ANNOTATION_APP = '/annotation'; - Api.SEARCH_APP = '/search'; - Api.EDITOR_APP = '/editor'; - Api.COMPARISON_APP = '/comparison'; - Api.CONVERSION_APP = '/conversion'; - Api.METADATA_APP = '/metadata'; - Api.DEFAULT_API_ENDPOINT = window.location.href; - Api.LOAD_FILE_TREE = '/loadFileTree'; - Api.LOAD_CONFIG = '/loadConfig'; - Api.LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription'; - Api.LOAD_DOCUMENT_PAGE = '/loadDocumentPage'; - Api.LOAD_DOCUMENT_PROPERTIES = '/loadProperties'; - Api.LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames'; - Api.SAVE_PROPERTY = '/saveProperty'; - Api.REMOVE_PROPERTY = '/removeProperty'; - Api.ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages'; - Api.UPLOAD_DOCUMENTS = '/uploadDocument'; - Api.DOWNLOAD_DOCUMENTS = '/downloadDocument'; - Api.LOAD_PRINT = '/loadPrint'; - Api.LOAD_PRINT_PDF = '/printPdf'; - Api.LOAD_THUMBNAILS = '/loadThumbnails'; - Api.LOAD_FORMATS = '/loadFormats'; - Api.SAVE_FILE = '/saveFile'; - Api.CREATE_FILE = '/createFile'; - Api.COMPARE_FILES = '/compare'; - Api.CONVERT_FILE = '/convert'; - Api.DELETE_SIGNATURE_FILE = '/deleteSignatureFile'; - Api.REMOVE_FROM_INDEX = '/removeFromIndex'; - Api.GET_FILE_STATUS = '/getFileStatus'; - Api.SAVE_OPTICAL_CODE = '/saveOpticalCode'; - Api.SAVE_TEXT = '/saveText'; - Api.SAVE_IMAGE = '/saveImage'; - Api.SAVE_STAMP = '/saveStamp'; - Api.SIGN = '/sign'; - Api.DOWNLOAD_SIGNED = '/downloadSigned'; - Api.LOAD_SIGNATURE_IMAGE = '/loadSignatureImage'; - Api.ANNOTATE = '/annotate'; - Api.SEARCH = '/search'; - Api.ADD_FILES_TO_INDEX = '/addFilesToIndex'; - Api.httpOptionsJson = { - headers: new http.HttpHeaders({ - 'Content-Type': 'application/json', - }) - }; - Api.httpOptionsJsonResponseTypeBlob = { - headers: new http.HttpHeaders({ - 'Content-Type': 'application/json', - }), - responseType: (/** @type {?} */ ('blob')) - }; - return Api; - }()); - if (false) { - /** @type {?} */ - Api.VIEWER_APP; - /** @type {?} */ - Api.SIGNATURE_APP; - /** @type {?} */ - Api.ANNOTATION_APP; - /** @type {?} */ - Api.SEARCH_APP; - /** @type {?} */ - Api.EDITOR_APP; - /** @type {?} */ - Api.COMPARISON_APP; - /** @type {?} */ - Api.CONVERSION_APP; - /** @type {?} */ - Api.METADATA_APP; - /** @type {?} */ - Api.DEFAULT_API_ENDPOINT; - /** @type {?} */ - Api.LOAD_FILE_TREE; - /** @type {?} */ - Api.LOAD_CONFIG; - /** @type {?} */ - Api.LOAD_DOCUMENT_DESCRIPTION; - /** @type {?} */ - Api.LOAD_DOCUMENT_PAGE; - /** @type {?} */ - Api.LOAD_DOCUMENT_PROPERTIES; - /** @type {?} */ - Api.LOAD_DOCUMENT_PROPERTIES_NAMES; - /** @type {?} */ - Api.SAVE_PROPERTY; - /** @type {?} */ - Api.REMOVE_PROPERTY; - /** @type {?} */ - Api.ROTATE_DOCUMENT_PAGE; - /** @type {?} */ - Api.UPLOAD_DOCUMENTS; - /** @type {?} */ - Api.DOWNLOAD_DOCUMENTS; - /** @type {?} */ - Api.LOAD_PRINT; - /** @type {?} */ - Api.LOAD_PRINT_PDF; - /** @type {?} */ - Api.LOAD_THUMBNAILS; - /** @type {?} */ - Api.LOAD_FORMATS; - /** @type {?} */ - Api.SAVE_FILE; - /** @type {?} */ - Api.CREATE_FILE; - /** @type {?} */ - Api.COMPARE_FILES; - /** @type {?} */ - Api.CONVERT_FILE; - /** @type {?} */ - Api.DELETE_SIGNATURE_FILE; - /** @type {?} */ - Api.REMOVE_FROM_INDEX; - /** @type {?} */ - Api.GET_FILE_STATUS; - /** @type {?} */ - Api.SAVE_OPTICAL_CODE; - /** @type {?} */ - Api.SAVE_TEXT; - /** @type {?} */ - Api.SAVE_IMAGE; - /** @type {?} */ - Api.SAVE_STAMP; - /** @type {?} */ - Api.SIGN; - /** @type {?} */ - Api.DOWNLOAD_SIGNED; - /** @type {?} */ - Api.LOAD_SIGNATURE_IMAGE; - /** @type {?} */ - Api.ANNOTATE; - /** @type {?} */ - Api.SEARCH; - /** @type {?} */ - Api.ADD_FILES_TO_INDEX; - /** @type {?} */ - Api.httpOptionsJson; - /** @type {?} */ - Api.httpOptionsJsonResponseTypeBlob; - } - var ConfigService = /** @class */ (function () { - function ConfigService() { - this.apiEndpoint = Api.DEFAULT_API_ENDPOINT; - } - Object.defineProperty(ConfigService.prototype, "apiEndpoint", { - get: /** - * @return {?} - */ - function () { - return this._apiEndpoint; - }, - set: /** - * @param {?} url - * @return {?} - */ - function (url) { - this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} app - * @return {?} - */ - ConfigService.prototype.getConfigEndpoint = /** - * @param {?} app - * @return {?} - */ - function (app) { - return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG; - }; - /** - * @return {?} - */ - ConfigService.prototype.getViewerApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getEditorApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getComparisonApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getConversionApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getMetadataApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getSignatureApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getAnnotationApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getSearchApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP; - }; - ConfigService.decorators = [ - { type: core.Injectable } - ]; - /** @nocollapse */ - ConfigService.ctorParameters = function () { return []; }; - return ConfigService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - ConfigService.prototype._apiEndpoint; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var 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 CommonModals = /** @class */ (function () { - function CommonModals() { - } - CommonModals.PasswordRequired = "gd-password-required"; - CommonModals.ErrorMessage = "gd-error-message"; - CommonModals.BrowseFiles = "gd-browse-files"; - CommonModals.CreateDocument = "gd-create-document"; - CommonModals.OperationSuccess = "gd-success-modal"; - CommonModals.DrawHandSignature = "gd-draw-hand-signature"; - CommonModals.DrawStampSignature = "gd-draw-stamp-signature"; - CommonModals.InformationMessage = "gd-information-message"; - return CommonModals; - }()); - if (false) { - /** @type {?} */ - CommonModals.PasswordRequired; - /** @type {?} */ - CommonModals.ErrorMessage; - /** @type {?} */ - CommonModals.BrowseFiles; - /** @type {?} */ - CommonModals.CreateDocument; - /** @type {?} */ - CommonModals.OperationSuccess; - /** @type {?} */ - CommonModals.DrawHandSignature; - /** @type {?} */ - CommonModals.DrawStampSignature; - /** @type {?} */ - CommonModals.InformationMessage; - } - var ModalService = /** @class */ (function () { - function ModalService() { - this.modals = []; - } - /** - * @param {?} modal - * @return {?} - */ - ModalService.prototype.add = /** - * @param {?} modal - * @return {?} - */ - function (modal) { - this.modals.push(modal); - }; - /** - * @param {?} id - * @return {?} - */ - ModalService.prototype.remove = /** - * @param {?} id - * @return {?} - */ - function (id) { - this.modals = this.modals.filter((/** - * @param {?} x - * @return {?} - */ - function (x) { return x.id !== id; })); - }; - /** - * @param {?} id - * @return {?} - */ - ModalService.prototype.open = /** - * @param {?} id - * @return {?} - */ - function (id) { - /** @type {?} */ - var modal = this.modals.filter((/** - * @param {?} x - * @return {?} - */ - function (x) { return x.id === id; }))[0]; - if (modal) { - modal.open(); - } - }; - /** - * @param {?} id - * @return {?} - */ - ModalService.prototype.close = /** - * @param {?} id - * @return {?} - */ - function (id) { - /** @type {?} */ - var modal = this.modals.filter((/** - * @param {?} x - * @return {?} - */ - function (x) { return x.id === id; }))[0]; - if (modal) { - modal.close(); - } - }; - return ModalService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - ModalService.prototype.modals; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var Api = /** @class */ (function () { + function Api() { + } + Api.VIEWER_APP = '/viewer'; + Api.SIGNATURE_APP = '/signature'; + Api.ANNOTATION_APP = '/annotation'; + Api.SEARCH_APP = '/search'; + Api.EDITOR_APP = '/editor'; + Api.COMPARISON_APP = '/comparison'; + Api.CONVERSION_APP = '/conversion'; + Api.METADATA_APP = '/metadata'; + Api.DEFAULT_API_ENDPOINT = window.location.href; + Api.LOAD_FILE_TREE = '/loadFileTree'; + Api.LOAD_CONFIG = '/loadConfig'; + Api.LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription'; + Api.LOAD_DOCUMENT_PAGE = '/loadDocumentPage'; + Api.LOAD_DOCUMENT_PROPERTIES = '/loadProperties'; + Api.LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames'; + Api.SAVE_PROPERTY = '/saveProperty'; + Api.REMOVE_PROPERTY = '/removeProperty'; + Api.ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages'; + Api.UPLOAD_DOCUMENTS = '/uploadDocument'; + Api.DOWNLOAD_DOCUMENTS = '/downloadDocument'; + Api.LOAD_PRINT = '/loadPrint'; + Api.LOAD_PRINT_PDF = '/printPdf'; + Api.LOAD_THUMBNAILS = '/loadThumbnails'; + Api.LOAD_FORMATS = '/loadFormats'; + Api.SAVE_FILE = '/saveFile'; + Api.CREATE_FILE = '/createFile'; + Api.COMPARE_FILES = '/compare'; + Api.CONVERT_FILE = '/convert'; + Api.DELETE_SIGNATURE_FILE = '/deleteSignatureFile'; + Api.REMOVE_FROM_INDEX = '/removeFromIndex'; + Api.GET_FILE_STATUS = '/getFileStatus'; + Api.SAVE_OPTICAL_CODE = '/saveOpticalCode'; + Api.SAVE_TEXT = '/saveText'; + Api.SAVE_IMAGE = '/saveImage'; + Api.SAVE_STAMP = '/saveStamp'; + Api.SIGN = '/sign'; + Api.DOWNLOAD_SIGNED = '/downloadSigned'; + Api.LOAD_SIGNATURE_IMAGE = '/loadSignatureImage'; + Api.ANNOTATE = '/annotate'; + Api.SEARCH = '/search'; + Api.ADD_FILES_TO_INDEX = '/addFilesToIndex'; + Api.httpOptionsJson = { + headers: new http.HttpHeaders({ + 'Content-Type': 'application/json', + }) + }; + Api.httpOptionsJsonResponseTypeBlob = { + headers: new http.HttpHeaders({ + 'Content-Type': 'application/json', + }), + responseType: (/** @type {?} */ ('blob')) + }; + return Api; + }()); + if (false) { + /** @type {?} */ + Api.VIEWER_APP; + /** @type {?} */ + Api.SIGNATURE_APP; + /** @type {?} */ + Api.ANNOTATION_APP; + /** @type {?} */ + Api.SEARCH_APP; + /** @type {?} */ + Api.EDITOR_APP; + /** @type {?} */ + Api.COMPARISON_APP; + /** @type {?} */ + Api.CONVERSION_APP; + /** @type {?} */ + Api.METADATA_APP; + /** @type {?} */ + Api.DEFAULT_API_ENDPOINT; + /** @type {?} */ + Api.LOAD_FILE_TREE; + /** @type {?} */ + Api.LOAD_CONFIG; + /** @type {?} */ + Api.LOAD_DOCUMENT_DESCRIPTION; + /** @type {?} */ + Api.LOAD_DOCUMENT_PAGE; + /** @type {?} */ + Api.LOAD_DOCUMENT_PROPERTIES; + /** @type {?} */ + Api.LOAD_DOCUMENT_PROPERTIES_NAMES; + /** @type {?} */ + Api.SAVE_PROPERTY; + /** @type {?} */ + Api.REMOVE_PROPERTY; + /** @type {?} */ + Api.ROTATE_DOCUMENT_PAGE; + /** @type {?} */ + Api.UPLOAD_DOCUMENTS; + /** @type {?} */ + Api.DOWNLOAD_DOCUMENTS; + /** @type {?} */ + Api.LOAD_PRINT; + /** @type {?} */ + Api.LOAD_PRINT_PDF; + /** @type {?} */ + Api.LOAD_THUMBNAILS; + /** @type {?} */ + Api.LOAD_FORMATS; + /** @type {?} */ + Api.SAVE_FILE; + /** @type {?} */ + Api.CREATE_FILE; + /** @type {?} */ + Api.COMPARE_FILES; + /** @type {?} */ + Api.CONVERT_FILE; + /** @type {?} */ + Api.DELETE_SIGNATURE_FILE; + /** @type {?} */ + Api.REMOVE_FROM_INDEX; + /** @type {?} */ + Api.GET_FILE_STATUS; + /** @type {?} */ + Api.SAVE_OPTICAL_CODE; + /** @type {?} */ + Api.SAVE_TEXT; + /** @type {?} */ + Api.SAVE_IMAGE; + /** @type {?} */ + Api.SAVE_STAMP; + /** @type {?} */ + Api.SIGN; + /** @type {?} */ + Api.DOWNLOAD_SIGNED; + /** @type {?} */ + Api.LOAD_SIGNATURE_IMAGE; + /** @type {?} */ + Api.ANNOTATE; + /** @type {?} */ + Api.SEARCH; + /** @type {?} */ + Api.ADD_FILES_TO_INDEX; + /** @type {?} */ + Api.httpOptionsJson; + /** @type {?} */ + Api.httpOptionsJsonResponseTypeBlob; + } + var ConfigService = /** @class */ (function () { + function ConfigService() { + this.apiEndpoint = Api.DEFAULT_API_ENDPOINT; + } + Object.defineProperty(ConfigService.prototype, "apiEndpoint", { + get: /** + * @return {?} + */ + function () { + return this._apiEndpoint; + }, + set: /** + * @param {?} url + * @return {?} + */ + function (url) { + this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} app + * @return {?} + */ + ConfigService.prototype.getConfigEndpoint = /** + * @param {?} app + * @return {?} + */ + function (app) { + return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG; + }; + /** + * @return {?} + */ + ConfigService.prototype.getViewerApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getEditorApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getComparisonApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getConversionApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getMetadataApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getSignatureApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getAnnotationApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getSearchApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP; + }; + ConfigService.decorators = [ + { type: core.Injectable } + ]; + /** @nocollapse */ + ConfigService.ctorParameters = function () { return []; }; + return ConfigService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + ConfigService.prototype._apiEndpoint; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ModalComponent = /** @class */ (function () { - function ModalComponent(modalService, el) { - this.modalService = modalService; - this.visible = new core.EventEmitter(); - this.cancel = new core.EventEmitter(); - this.visibility = false; - this.element = el.nativeElement; - } - /** - * @return {?} - */ - ModalComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - if (!this.id) { - console.error('modal must have an id'); - return; - } - document.body.appendChild(this.element); - this.modalService.add(this); - }; - /** - * @return {?} - */ - ModalComponent.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { - this.modalService.remove(this.id); - this.element.remove(); - }; - /** - * @return {?} - */ - ModalComponent.prototype.open = /** - * @return {?} - */ - function () { - this.visibility = true; - this.visible.emit(true); - }; - /** - * @return {?} - */ - ModalComponent.prototype.close = /** - * @return {?} - */ - function () { - event.preventDefault(); - event.stopPropagation(); - this.visibility = false; - this.visible.emit(false); - }; - /** - * @param {?} $event - * @return {?} - */ - ModalComponent.prototype.onClose = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $event.stopPropagation(); - if ($event && $event.target && ((/** @type {?} */ ($event.target))).id === 'modalDialog') { - this.close(); - } - }; - /** - * @return {?} - */ - ModalComponent.prototype.cancelClose = /** - * @return {?} - */ - function () { - this.cancel.emit(false); - this.close(); - }; - ModalComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-modal', - template: "
\n
\n
\n
\n\n
\n
×
\n

{{title}}

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

Drag & Drop your files here

\n

OR

\n
\n \n
\n
\n", - styles: [".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"] - }] } - ]; - /** @nocollapse */ - UploadFileZoneComponent.ctorParameters = function () { return [ - { type: UploadFilesService } - ]; }; - UploadFileZoneComponent.propDecorators = { - closeUpload: [{ type: core.Output }] - }; - return UploadFileZoneComponent; - }()); - if (false) { - /** @type {?} */ - UploadFileZoneComponent.prototype.closeUpload; - /** - * @type {?} - * @private - */ - UploadFileZoneComponent.prototype._uploadService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ExcelPageComponent = /** @class */ (function () { + function ExcelPageComponent(_excelPageService) { + this._excelPageService = _excelPageService; + } + /** + * @return {?} + */ + ExcelPageComponent.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 {?} + */ + ExcelPageComponent.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, "") + .replace(/href="\/viewer/g, 'href="http://localhost:8080/viewer') + .replace(/src="\/viewer/g, 'src="http://localhost:8080/viewer') + .replace(/data="\/viewer/g, 'data="http://localhost:8080/viewer') + : null; + /** @type {?} */ + var dataImagePngBase64 = 'data:image/png;base64,'; + this.imgData = dataImagePngBase64; + if (!this.isHtml) { + this.imgData += this.data; + } + this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data; + }; + ExcelPageComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-excel-page', + template: "
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n", + styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}::ng-deep th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}::ng-deep td{vertical-align:middle!important}::ng-deep .page-grid-lines td{border:1px solid #e7e7e7!important}::ng-deep .page td:nth-child(1){border:1px solid #e7e7e7!important}::ng-deep tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}::ng-deep tr td.excel:first-child div{width:80px}::ng-deep tr th.excel:first-child{background-color:#f4f4f4;width:1%}::ng-deep tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + }] } + ]; + /** @nocollapse */ + ExcelPageComponent.ctorParameters = function () { return [ + { type: ExcelPageService } + ]; }; + ExcelPageComponent.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 ExcelPageComponent; + }()); + if (false) { + /** @type {?} */ + ExcelPageComponent.prototype.angle; + /** @type {?} */ + ExcelPageComponent.prototype.width; + /** @type {?} */ + ExcelPageComponent.prototype.height; + /** @type {?} */ + ExcelPageComponent.prototype.number; + /** @type {?} */ + ExcelPageComponent.prototype.data; + /** @type {?} */ + ExcelPageComponent.prototype.isHtml; + /** @type {?} */ + ExcelPageComponent.prototype.editable; + /** @type {?} */ + ExcelPageComponent.prototype.imgData; + /** + * @type {?} + * @private + */ + ExcelPageComponent.prototype._excelPageService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var DndDirective = /** @class */ (function () { - function DndDirective(_uploadFilesService) { - this._uploadFilesService = _uploadFilesService; - this.closing = new core.EventEmitter(); - this.opening = new core.EventEmitter(); - this.dropped = new core.EventEmitter(); - this.active = false; - this.dragCounter = 0; - } - /** - * @param {?} evt - * @return {?} - */ - DndDirective.prototype.onDragEnter = /** - * @param {?} evt - * @return {?} - */ - function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - this.dragCounter++; - this.active = true; - this.opening.emit(true); - }; - /** - * @param {?} evt - * @return {?} - */ - DndDirective.prototype.onDragOver = /** - * @param {?} evt - * @return {?} - */ - function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - return false; - }; - /** - * @param {?} evt - * @return {?} - */ - DndDirective.prototype.onDragLeave = /** - * @param {?} evt - * @return {?} - */ - function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - this.dragCounter--; - if (this.dragCounter === 0) { - this.active = false; - this.closeArea(); - } - }; - /** - * @param {?} evt - * @return {?} - */ - DndDirective.prototype.onDrop = /** - * @param {?} evt - * @return {?} - */ - function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - /** @type {?} */ - var files = evt.dataTransfer.files; - if (files.length > 0) { - this.active = false; - this.dropped.emit(true); - this._uploadFilesService.changeFilesList(files); - this.closeArea(); - } - }; - /** - * @param {?} event - * @return {?} - */ - DndDirective.prototype.onClick = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.closeArea(); - }; - /** - * @private - * @return {?} - */ - DndDirective.prototype.closeArea = /** - * @private - * @return {?} - */ - function () { - this.closing.emit(true); - this.opening.emit(false); - }; - DndDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdDnd]' - },] } - ]; - /** @nocollapse */ - DndDirective.ctorParameters = function () { return [ - { type: UploadFilesService } - ]; }; - DndDirective.propDecorators = { - closing: [{ type: core.Output }], - opening: [{ type: core.Output }], - dropped: [{ type: core.Output }], - active: [{ type: core.HostBinding, args: ['class.active',] }], - onDragEnter: [{ type: core.HostListener, args: ['dragenter', ['$event'],] }], - onDragOver: [{ type: core.HostListener, args: ['dragover', ['$event'],] }], - onDragLeave: [{ type: core.HostListener, args: ['dragleave', ['$event'],] }], - onDrop: [{ type: core.HostListener, args: ['drop', ['$event'],] }], - onClick: [{ type: core.HostListener, args: ['click', ['$event'],] }] - }; - return DndDirective; - }()); - if (false) { - /** @type {?} */ - DndDirective.prototype.closing; - /** @type {?} */ - DndDirective.prototype.opening; - /** @type {?} */ - DndDirective.prototype.dropped; - /** @type {?} */ - DndDirective.prototype.active; - /** - * @type {?} - * @private - */ - DndDirective.prototype.dragCounter; - /** - * @type {?} - * @protected - */ - DndDirective.prototype._uploadFilesService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ExcelDocumentComponent = /** @class */ (function (_super) { + __extends(ExcelDocumentComponent, _super); + function ExcelDocumentComponent(_elementRef, zoomService, windowService, navigateService) { + var _this = _super.call(this, _elementRef, zoomService, windowService, navigateService) || this; + _this.panzoom = null; + _this.navigateService = navigateService; + return _this; + } + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.currentPageNo = 1; + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this.refreshExcelDocHeight(); + this.pages.changes.subscribe((/** + * @return {?} + */ + function () { + _this.refreshExcelDocHeight(); + })); + this.navigateService.navigate.subscribe((/** + * @param {?} value + * @return {?} + */ + function (value) { + _this.selectSheet(value); + })); + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.refreshExcelDocHeight = /** + * @return {?} + */ + function () { + // For current iteration we'll change actual height of .document + this.doc = this._elementRef.nativeElement.children.item(0); + this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + // magic number 37 is the height of the bottom-bar with navigation between pages + this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; + }; + /** + * @param {?} number + * @return {?} + */ + ExcelDocumentComponent.prototype.selectSheet = /** + * @param {?} number + * @return {?} + */ + function (number) { + this.currentPageNo = number; + }; + ExcelDocumentComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-excel-document', + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + }] } + ]; + /** @nocollapse */ + ExcelDocumentComponent.ctorParameters = function () { return [ + { type: core.ElementRef }, + { type: ZoomService }, + { type: WindowService }, + { type: NavigateService } + ]; }; + ExcelDocumentComponent.propDecorators = { + pages: [{ type: core.ViewChildren, args: [ExcelPageComponent,] }] + }; + return ExcelDocumentComponent; + }(DocumentComponent)); + if (false) { + /** @type {?} */ + ExcelDocumentComponent.prototype.pages; + /** @type {?} */ + ExcelDocumentComponent.prototype.currentPageNo; + /** @type {?} */ + ExcelDocumentComponent.prototype.panzoom; + /** @type {?} */ + ExcelDocumentComponent.prototype.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; - }()); - - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$3 = jquery; - var ScrollableDirective = /** @class */ (function () { - function ScrollableDirective(_elementRef, _navigateService, _pagePreloadService, _zoomService, _windowService, _viewportService) { - var _this = this; - this._elementRef = _elementRef; - this._navigateService = _navigateService; - this._pagePreloadService = _pagePreloadService; - this._zoomService = _zoomService; - this._windowService = _windowService; - this._viewportService = _viewportService; - this.zoom = 100; - this.loadedPagesSet = new Set(); - this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom; - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - _this.zoom = val ? val : _this.zoom; - _this.refresh(); - })); - } - /** - * @return {?} - */ - ScrollableDirective.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - var _this = this; - this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom; - this._navigateService.navigate.subscribe(((/** - * @param {?} value - * @return {?} - */ - function (value) { - _this.currentPage = value; - _this.scrollToPage(value); - }))); - this.refresh(); - }; - /** - * @return {?} - */ - ScrollableDirective.prototype.scrolling = /** - * @return {?} - */ - function () { - this.refresh(); - }; - /** - * @return {?} - */ - ScrollableDirective.prototype.resizing = /** - * @return {?} - */ - function () { - this.refresh(); - }; - /** - * @param {?} pageNumber - * @return {?} - */ - ScrollableDirective.prototype.scrollToPage = /** - * @param {?} pageNumber - * @return {?} - */ - function (pageNumber) { - /** @type {?} */ - var el = this._elementRef.nativeElement; - /** @type {?} */ - var page = this.getPage(pageNumber); - /** @type {?} */ - var prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null; - /** @type {?} */ - var isSameTop = (prev && $$3(prev).offset().top === $$3(page).offset().top); - if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) { - return; - } - /** @type {?} */ - var pagesHeight = this.calculateOffset(pageNumber); - /** @type {?} */ - var options = { - left: 0, - top: pagesHeight - }; - if (el) { - // using polyfill - el.scroll(options); - } - }; - /** - * @private - * @return {?} - */ - ScrollableDirective.prototype.getChildren = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var el = this._elementRef ? this._elementRef.nativeElement : null; - if (el) { - // here and in the similar line below we getting the document pages - return el.children.item(0).children.item(0).children; - } - }; - /** - * @private - * @param {?} pageNumber - * @return {?} - */ - ScrollableDirective.prototype.getPage = /** - * @private - * @param {?} pageNumber - * @return {?} - */ - function (pageNumber) { - /** @type {?} */ - var el = this._elementRef ? this._elementRef.nativeElement : null; - if (el) { - return el.children.item(0).children.item(0).children.item(pageNumber - 1); - } - }; - /** - * @private - * @param {?} pageNumber - * @return {?} - */ - ScrollableDirective.prototype.calculateOffset = /** - * @private - * @param {?} pageNumber - * @return {?} - */ - function (pageNumber) { - /** @type {?} */ - var count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth(); - /** @type {?} */ - var margin = this._windowService.isDesktop() ? 40 : 10; - /** @type {?} */ - var pagesHeight = 0; - for (var i = 1; i < pageNumber / count; i++) { - /** @type {?} */ - var item = this.getPage(i); - /** @type {?} */ - var clientHeight = item ? item.clientHeight : 0; - pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0; - } - return pagesHeight; - }; - /** - * @private - * @return {?} - */ - ScrollableDirective.prototype.countPagesOnWidth = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var pageEl = this.getPage(1); - /** @type {?} */ - var offset = 150; - /** @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; - } - if (!this.loadedPagesSet.has(page)) { - this._pagePreloadService.changeLastPageInView(page); - this.loadedPagesSet.add(page); - } - } - } - }; - /** - * @param {?} changes - * @return {?} - */ - ScrollableDirective.prototype.ngOnChanges = /** - * @param {?} changes - * @return {?} - */ - function (changes) { - this.refresh(); - }; - /** - * @return {?} - */ - ScrollableDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom; - }; - /** - * @private - * @return {?} - */ - ScrollableDirective.prototype.getWidth = /** - * @private - * @return {?} - */ - function () { - return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth; - }; - /** - * @private - * @return {?} - */ - ScrollableDirective.prototype.getZoom = /** - * @private - * @return {?} - */ - function () { - return this.zoom / 100; - }; - ScrollableDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdScrollable]' - },] } - ]; - /** @nocollapse */ - ScrollableDirective.ctorParameters = function () { return [ - { type: core.ElementRef }, - { type: NavigateService }, - { type: PagePreloadService }, - { type: ZoomService }, - { type: WindowService }, - { type: ViewportService } - ]; }; - ScrollableDirective.propDecorators = { - scrolling: [{ type: core.HostListener, args: ['scroll',] }], - resizing: [{ type: core.HostListener, args: ['window:resize',] }] - }; - return ScrollableDirective; - }()); - if (false) { - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.currentPage; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.zoom; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.loadedPagesSet; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._elementRef; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._navigateService; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._pagePreloadService; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._zoomService; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._windowService; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._viewportService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + 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, "") + .replace(/href="\/viewer/g, 'href="http://localhost:8080/viewer') + .replace(/src="\/viewer/g, 'src="http://localhost:8080/viewer') + .replace(/data="\/viewer/g, 'data="http://localhost:8080/viewer') + : 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%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"] + }] } + ]; + /** @nocollapse */ + PageComponent.ctorParameters = function () { return []; }; + PageComponent.propDecorators = { + angle: [{ type: core.Input }], + width: [{ type: core.Input }], + height: [{ type: core.Input }], + number: [{ type: core.Input }], + data: [{ type: core.Input }], + isHtml: [{ type: core.Input }], + editable: [{ type: core.Input }] + }; + return PageComponent; + }()); + if (false) { + /** @type {?} */ + PageComponent.prototype.angle; + /** @type {?} */ + PageComponent.prototype.width; + /** @type {?} */ + PageComponent.prototype.height; + /** @type {?} */ + PageComponent.prototype.number; + /** @type {?} */ + PageComponent.prototype.data; + /** @type {?} */ + PageComponent.prototype.isHtml; + /** @type {?} */ + PageComponent.prototype.editable; + /** @type {?} */ + PageComponent.prototype.imgData; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$4 = jquery; - var MouseWheelDirective = /** @class */ (function () { - function MouseWheelDirective() { - this.mouseWheelUp = new core.EventEmitter(); - this.mouseWheelDown = new core.EventEmitter(); - } - /** - * @param {?} event - * @return {?} - */ - MouseWheelDirective.prototype.onMouseWheelChrome = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.mouseWheelFunc(event); - }; - /** - * @param {?} event - * @return {?} - */ - MouseWheelDirective.prototype.onMouseWheelFirefox = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.mouseWheelFunc(event); - }; - /** - * @param {?} event - * @return {?} - */ - MouseWheelDirective.prototype.onMouseWheelIE = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.mouseWheelFunc(event); - }; - /** - * @param {?} event - * @return {?} - */ - MouseWheelDirective.prototype.mouseWheelFunc = /** - * @param {?} event - * @return {?} - */ - function (event) { - event = window.event; - /** @type {?} */ - var delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail))); - if (delta > 0) { - this.mouseWheelUp.emit(event); - } - else if (delta < 0) { - this.mouseWheelDown.emit(event); - } - }; - MouseWheelDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdMouseWheel]' - },] } - ]; - MouseWheelDirective.propDecorators = { - mouseWheelUp: [{ type: core.Output }], - mouseWheelDown: [{ type: core.Output }], - onMouseWheelChrome: [{ type: core.HostListener, args: ['mousewheel', ['$event'],] }], - onMouseWheelFirefox: [{ type: core.HostListener, args: ['DOMMouseScroll', ['$event'],] }], - onMouseWheelIE: [{ type: core.HostListener, args: ['onmousewheel', ['$event'],] }] - }; - return MouseWheelDirective; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SanitizeHtmlPipe = /** @class */ (function () { + function SanitizeHtmlPipe(sanitizer) { + this.sanitizer = sanitizer; + } + /** + * @param {?} html + * @return {?} + */ + SanitizeHtmlPipe.prototype.transform = /** + * @param {?} html + * @return {?} + */ + function (html) { + return this.sanitizer.bypassSecurityTrustHtml(html); + }; + SanitizeHtmlPipe.decorators = [ + { type: core.Pipe, args: [{ name: 'safeHtml' },] } + ]; + /** @nocollapse */ + SanitizeHtmlPipe.ctorParameters = function () { return [ + { type: platformBrowser.DomSanitizer } + ]; }; + return SanitizeHtmlPipe; + }()); + if (false) { + /** + * @type {?} + * @private + */ + SanitizeHtmlPipe.prototype.sanitizer; + } + var SanitizeResourceHtmlPipe = /** @class */ (function () { + function SanitizeResourceHtmlPipe(sanitizer) { + this.sanitizer = sanitizer; + } + /** + * @param {?} html + * @return {?} + */ + SanitizeResourceHtmlPipe.prototype.transform = /** + * @param {?} html + * @return {?} + */ + function (html) { + return this.sanitizer.bypassSecurityTrustResourceUrl(html); + }; + SanitizeResourceHtmlPipe.decorators = [ + { type: core.Pipe, args: [{ name: 'safeResourceHtml' },] } + ]; + /** @nocollapse */ + SanitizeResourceHtmlPipe.ctorParameters = function () { return [ + { type: platformBrowser.DomSanitizer } + ]; }; + return SanitizeResourceHtmlPipe; + }()); + if (false) { + /** + * @type {?} + * @private + */ + SanitizeResourceHtmlPipe.prototype.sanitizer; + } + var SanitizeStylePipe = /** @class */ (function () { + function SanitizeStylePipe(sanitizer) { + this.sanitizer = sanitizer; + } + /** + * @param {?} html + * @return {?} + */ + SanitizeStylePipe.prototype.transform = /** + * @param {?} html + * @return {?} + */ + function (html) { + return this.sanitizer.bypassSecurityTrustStyle(html); + }; + SanitizeStylePipe.decorators = [ + { type: core.Pipe, args: [{ name: 'safeStyle' },] } + ]; + /** @nocollapse */ + SanitizeStylePipe.ctorParameters = function () { return [ + { type: platformBrowser.DomSanitizer } + ]; }; + return SanitizeStylePipe; + }()); + if (false) { + /** + * @type {?} + * @private + */ + SanitizeStylePipe.prototype.sanitizer; + } + var HighlightSearchPipe = /** @class */ (function () { + function HighlightSearchPipe() { + } + /** + * @param {?} value + * @param {?} args + * @return {?} + */ + HighlightSearchPipe.prototype.transform = /** + * @param {?} value + * @param {?} args + * @return {?} + */ + function (value, args) { + if (!args) { + return value; + } + /** @type {?} */ + var re = new RegExp(args, 'gi'); + return value.replace(re, "$&"); + }; + HighlightSearchPipe.decorators = [ + { type: core.Pipe, args: [{ name: 'highlight' },] } + ]; + return HighlightSearchPipe; }()); - if (false) { - /** @type {?} */ - MouseWheelDirective.prototype.mouseWheelUp; - /** @type {?} */ - MouseWheelDirective.prototype.mouseWheelDown; + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var 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; + }()); + 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 ZoomDirective = /** @class */ (function () { - function ZoomDirective(_zoomService, _windowService, el) { - this._zoomService = _zoomService; - this._windowService = _windowService; - this.zoomActive = true; - this.el = el; - } - /** - * @return {?} - */ - ZoomDirective.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - ZoomDirective.prototype.ngOnChanges = /** - * @return {?} - */ - function () { - this.setStyles(this._zoomService.zoom); - this.resizePages(this._zoomService.zoom); - }; - /** - * @return {?} - */ - ZoomDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - var _this = this; - if (!this.zoomActive) { - return; - } - this.setStyles(this._zoomService.zoom); - this._zoomService.zoomChange.subscribe((/** - * @param {?} zoom - * @return {?} - */ - function (zoom) { - _this.setStyles(zoom); - _this.resizePages(zoom); - })); - }; - /** - * @private - * @param {?} zoom - * @return {?} - */ - ZoomDirective.prototype.setStyles = /** - * @private - * @param {?} zoom - * @return {?} - */ - function (zoom) { - if (!this.zoomActive) { - return; - } - /** @type {?} */ - var zoomInt = zoom === 100 ? 1 : zoom / 100; - if (this._windowService.isEdge()) { - this.zoomInt = zoomInt; - } - else { - this.zoomInt = null; - } - if (!this._windowService.isEdge()) { - this.transform = 'scale(' + zoomInt + ')'; - this.transformOrigin = 'top left'; - } - else { - this.transform = ""; - this.transformOrigin = ""; - } - /** @type {?} */ - var maxWidth = 0; - this.file.pages.forEach((/** - * @param {?} page - * @return {?} - */ - function (page) { - { - if (page.width > maxWidth) { - maxWidth = page.width; - } - } - })); - // Images and Excel-related files receiving dimensions in px from server - this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit; - }; - /** - * @private - * @param {?} elm - * @return {?} - */ - ZoomDirective.prototype.getScrollWidth = /** - * @private - * @param {?} elm - * @return {?} - */ - function (elm) { - return elm.offsetWidth - elm.clientWidth; - }; - /** - * @private - * @param {?} elm - * @return {?} - */ - ZoomDirective.prototype.getScrollHeight = /** - * @private - * @param {?} elm - * @return {?} - */ - function (elm) { - return elm.offsetHeight - elm.clientHeight; - }; - /** - * @private - * @param {?} zoom - * @return {?} - */ - ZoomDirective.prototype.resizePages = /** - * @private - * @param {?} zoom - * @return {?} - */ - function (zoom) { - /** @type {?} */ - var zoomInt = zoom === 100 ? 1 : zoom / 100; - /** @type {?} */ - var viewPortWidth = this.el.nativeElement.parentElement.offsetWidth; - /** @type {?} */ - var viewPortHeight = this.el.nativeElement.parentElement.offsetHeight; - /** @type {?} */ - var scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement); - /** @type {?} */ - var scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement); - this.width = (viewPortWidth / zoomInt - scrollWidth / zoomInt) + 'px'; - this.height = (viewPortHeight / zoomInt - scrollHeight / zoomInt) + 'px'; - }; - /** - * @return {?} - */ - ZoomDirective.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - this.setStyles(this._zoomService.zoom); - }; - ZoomDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdZoom]' - },] } - ]; - /** @nocollapse */ - ZoomDirective.ctorParameters = function () { return [ - { type: ZoomService }, - { type: WindowService }, - { type: core.ElementRef } - ]; }; - ZoomDirective.propDecorators = { - zoomActive: [{ type: core.Input }], - file: [{ type: core.Input }], - zoomInt: [{ type: core.HostBinding, args: ['style.zoom',] }], - transform: [{ type: core.HostBinding, args: ['style.transform',] }], - transformOrigin: [{ type: core.HostBinding, args: ['style.transform-origin',] }], - width: [{ type: core.HostBinding, args: ['style.width',] }], - height: [{ type: core.HostBinding, args: ['style.height',] }], - minWidth: [{ type: core.HostBinding, args: ['style.min-width',] }] - }; - return ZoomDirective; - }()); - if (false) { - /** @type {?} */ - ZoomDirective.prototype.zoomActive; - /** @type {?} */ - ZoomDirective.prototype.file; - /** @type {?} */ - ZoomDirective.prototype.zoomInt; - /** @type {?} */ - ZoomDirective.prototype.transform; - /** @type {?} */ - ZoomDirective.prototype.transformOrigin; - /** @type {?} */ - ZoomDirective.prototype.width; - /** @type {?} */ - ZoomDirective.prototype.height; - /** @type {?} */ - ZoomDirective.prototype.minWidth; - /** @type {?} */ - ZoomDirective.prototype.el; - /** - * @type {?} - * @private - */ - ZoomDirective.prototype._zoomService; - /** - * @type {?} - * @private - */ - ZoomDirective.prototype._windowService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var DndDirective = /** @class */ (function () { + function DndDirective(_uploadFilesService) { + this._uploadFilesService = _uploadFilesService; + this.closing = new core.EventEmitter(); + this.opening = new core.EventEmitter(); + this.dropped = new core.EventEmitter(); + this.active = false; + this.dragCounter = 0; + } + /** + * @param {?} evt + * @return {?} + */ + DndDirective.prototype.onDragEnter = /** + * @param {?} evt + * @return {?} + */ + function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + this.dragCounter++; + this.active = true; + this.opening.emit(true); + }; + /** + * @param {?} evt + * @return {?} + */ + DndDirective.prototype.onDragOver = /** + * @param {?} evt + * @return {?} + */ + function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + return false; + }; + /** + * @param {?} evt + * @return {?} + */ + DndDirective.prototype.onDragLeave = /** + * @param {?} evt + * @return {?} + */ + function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + this.dragCounter--; + if (this.dragCounter === 0) { + this.active = false; + this.closeArea(); + } + }; + /** + * @param {?} evt + * @return {?} + */ + DndDirective.prototype.onDrop = /** + * @param {?} evt + * @return {?} + */ + function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + /** @type {?} */ + var files = evt.dataTransfer.files; + if (files.length > 0) { + this.active = false; + this.dropped.emit(true); + this._uploadFilesService.changeFilesList(files); + this.closeArea(); + } + }; + /** + * @param {?} event + * @return {?} + */ + DndDirective.prototype.onClick = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.closeArea(); + }; + /** + * @private + * @return {?} + */ + DndDirective.prototype.closeArea = /** + * @private + * @return {?} + */ + function () { + this.closing.emit(true); + this.opening.emit(false); + }; + DndDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdDnd]' + },] } + ]; + /** @nocollapse */ + DndDirective.ctorParameters = function () { return [ + { type: UploadFilesService } + ]; }; + DndDirective.propDecorators = { + closing: [{ type: core.Output }], + opening: [{ type: core.Output }], + dropped: [{ type: core.Output }], + active: [{ type: core.HostBinding, args: ['class.active',] }], + onDragEnter: [{ type: core.HostListener, args: ['dragenter', ['$event'],] }], + onDragOver: [{ type: core.HostListener, args: ['dragover', ['$event'],] }], + onDragLeave: [{ type: core.HostListener, args: ['dragleave', ['$event'],] }], + onDrop: [{ type: core.HostListener, args: ['drop', ['$event'],] }], + onClick: [{ type: core.HostListener, args: ['click', ['$event'],] }] + }; + return DndDirective; + }()); + if (false) { + /** @type {?} */ + DndDirective.prototype.closing; + /** @type {?} */ + DndDirective.prototype.opening; + /** @type {?} */ + DndDirective.prototype.dropped; + /** @type {?} */ + DndDirective.prototype.active; + /** + * @type {?} + * @private + */ + DndDirective.prototype.dragCounter; + /** + * @type {?} + * @protected + */ + DndDirective.prototype._uploadFilesService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var 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 + */ + /** @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 - */ - OnCloseService.prototype._observer; - /** - * @type {?} - * @private - */ - OnCloseService.prototype._onClose; + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$3 = jquery; + var ScrollableDirective = /** @class */ (function () { + function ScrollableDirective(_elementRef, _navigateService, _pagePreloadService, _zoomService, _windowService, _viewportService) { + var _this = this; + this._elementRef = _elementRef; + this._navigateService = _navigateService; + this._pagePreloadService = _pagePreloadService; + this._zoomService = _zoomService; + this._windowService = _windowService; + this._viewportService = _viewportService; + this.zoom = 100; + this.loadedPagesSet = new Set(); + this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom; + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + _this.zoom = val ? val : _this.zoom; + _this.refresh(); + })); + } + /** + * @return {?} + */ + ScrollableDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom; + this._navigateService.navigate.subscribe(((/** + * @param {?} value + * @return {?} + */ + function (value) { + _this.currentPage = value; + _this.scrollToPage(value); + }))); + this.refresh(); + }; + /** + * @return {?} + */ + ScrollableDirective.prototype.scrolling = /** + * @return {?} + */ + function () { + this.refresh(); + }; + /** + * @return {?} + */ + ScrollableDirective.prototype.resizing = /** + * @return {?} + */ + function () { + this.refresh(); + }; + /** + * @param {?} pageNumber + * @return {?} + */ + ScrollableDirective.prototype.scrollToPage = /** + * @param {?} pageNumber + * @return {?} + */ + function (pageNumber) { + /** @type {?} */ + var el = this._elementRef.nativeElement; + /** @type {?} */ + var page = this.getPage(pageNumber); + /** @type {?} */ + var prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null; + /** @type {?} */ + var isSameTop = (prev && $$3(prev).offset().top === $$3(page).offset().top); + if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) { + return; + } + /** @type {?} */ + var pagesHeight = this.calculateOffset(pageNumber); + /** @type {?} */ + var options = { + left: 0, + top: pagesHeight + }; + if (el) { + // using polyfill + el.scroll(options); + } + }; + /** + * @private + * @return {?} + */ + ScrollableDirective.prototype.getChildren = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var el = this._elementRef ? this._elementRef.nativeElement : null; + if (el) { + // here and in the similar line below we getting the document pages + return el.children.item(0).children.item(0).children; + } + }; + /** + * @private + * @param {?} pageNumber + * @return {?} + */ + ScrollableDirective.prototype.getPage = /** + * @private + * @param {?} pageNumber + * @return {?} + */ + function (pageNumber) { + /** @type {?} */ + var el = this._elementRef ? this._elementRef.nativeElement : null; + if (el) { + return el.children.item(0).children.item(0).children.item(pageNumber - 1); + } + }; + /** + * @private + * @param {?} pageNumber + * @return {?} + */ + ScrollableDirective.prototype.calculateOffset = /** + * @private + * @param {?} pageNumber + * @return {?} + */ + function (pageNumber) { + /** @type {?} */ + var count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth(); + /** @type {?} */ + var margin = this._windowService.isDesktop() ? 40 : 10; + /** @type {?} */ + var pagesHeight = 0; + for (var i = 1; i < pageNumber / count; i++) { + /** @type {?} */ + var item = this.getPage(i); + /** @type {?} */ + var clientHeight = item ? item.clientHeight : 0; + pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0; + } + return pagesHeight; + }; + /** + * @private + * @return {?} + */ + ScrollableDirective.prototype.countPagesOnWidth = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var pageEl = this.getPage(1); + /** @type {?} */ + var offset = 150; + /** @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; + } + if (!this.loadedPagesSet.has(page)) { + this._pagePreloadService.changeLastPageInView(page); + this.loadedPagesSet.add(page); + } + } + } + }; + /** + * @param {?} changes + * @return {?} + */ + ScrollableDirective.prototype.ngOnChanges = /** + * @param {?} changes + * @return {?} + */ + function (changes) { + this.refresh(); + }; + /** + * @return {?} + */ + ScrollableDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom; + }; + /** + * @private + * @return {?} + */ + ScrollableDirective.prototype.getWidth = /** + * @private + * @return {?} + */ + function () { + return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth; + }; + /** + * @private + * @return {?} + */ + ScrollableDirective.prototype.getZoom = /** + * @private + * @return {?} + */ + function () { + return this.zoom / 100; + }; + ScrollableDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdScrollable]' + },] } + ]; + /** @nocollapse */ + ScrollableDirective.ctorParameters = function () { return [ + { type: core.ElementRef }, + { type: NavigateService }, + { type: PagePreloadService }, + { type: ZoomService }, + { type: WindowService }, + { type: ViewportService } + ]; }; + ScrollableDirective.propDecorators = { + scrolling: [{ type: core.HostListener, args: ['scroll',] }], + resizing: [{ type: core.HostListener, args: ['window:resize',] }] + }; + return ScrollableDirective; + }()); + if (false) { + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype.currentPage; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype.zoom; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype.loadedPagesSet; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._elementRef; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._navigateService; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._pagePreloadService; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._zoomService; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._windowService; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._viewportService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** - * @record - */ - function Option() { } - if (false) { - /** @type {?} */ - Option.prototype.name; - /** @type {?} */ - Option.prototype.value; - /** @type {?} */ - Option.prototype.separator; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$4 = jquery; + var MouseWheelDirective = /** @class */ (function () { + function MouseWheelDirective() { + this.mouseWheelUp = new core.EventEmitter(); + this.mouseWheelDown = new core.EventEmitter(); + } + /** + * @param {?} event + * @return {?} + */ + MouseWheelDirective.prototype.onMouseWheelChrome = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.mouseWheelFunc(event); + }; + /** + * @param {?} event + * @return {?} + */ + MouseWheelDirective.prototype.onMouseWheelFirefox = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.mouseWheelFunc(event); + }; + /** + * @param {?} event + * @return {?} + */ + MouseWheelDirective.prototype.onMouseWheelIE = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.mouseWheelFunc(event); + }; + /** + * @param {?} event + * @return {?} + */ + MouseWheelDirective.prototype.mouseWheelFunc = /** + * @param {?} event + * @return {?} + */ + function (event) { + event = window.event; + /** @type {?} */ + var delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail))); + if (delta > 0) { + this.mouseWheelUp.emit(event); + } + else if (delta < 0) { + this.mouseWheelDown.emit(event); + } + }; + MouseWheelDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdMouseWheel]' + },] } + ]; + MouseWheelDirective.propDecorators = { + mouseWheelUp: [{ type: core.Output }], + mouseWheelDown: [{ type: core.Output }], + onMouseWheelChrome: [{ type: core.HostListener, args: ['mousewheel', ['$event'],] }], + onMouseWheelFirefox: [{ type: core.HostListener, args: ['DOMMouseScroll', ['$event'],] }], + onMouseWheelIE: [{ type: core.HostListener, args: ['onmousewheel', ['$event'],] }] + }; + return MouseWheelDirective; + }()); + if (false) { + /** @type {?} */ + MouseWheelDirective.prototype.mouseWheelUp; + /** @type {?} */ + MouseWheelDirective.prototype.mouseWheelDown; } - 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; - }()); - 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 ZoomDirective = /** @class */ (function () { + function ZoomDirective(_zoomService, _windowService, el) { + this._zoomService = _zoomService; + this._windowService = _windowService; + this.zoomActive = true; + this.el = el; + } + /** + * @return {?} + */ + ZoomDirective.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + ZoomDirective.prototype.ngOnChanges = /** + * @return {?} + */ + function () { + this.setStyles(this._zoomService.zoom); + this.resizePages(this._zoomService.zoom); + }; + /** + * @return {?} + */ + ZoomDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + if (!this.zoomActive) { + return; + } + this.setStyles(this._zoomService.zoom); + this._zoomService.zoomChange.subscribe((/** + * @param {?} zoom + * @return {?} + */ + function (zoom) { + _this.setStyles(zoom); + _this.resizePages(zoom); + })); + }; + /** + * @private + * @param {?} zoom + * @return {?} + */ + ZoomDirective.prototype.setStyles = /** + * @private + * @param {?} zoom + * @return {?} + */ + function (zoom) { + if (!this.zoomActive) { + return; + } + /** @type {?} */ + var zoomInt = zoom === 100 ? 1 : zoom / 100; + if (this._windowService.isEdge()) { + this.zoomInt = zoomInt; + } + else { + this.zoomInt = null; + } + if (!this._windowService.isEdge()) { + this.transform = 'scale(' + zoomInt + ')'; + this.transformOrigin = 'top left'; + } + else { + this.transform = ""; + this.transformOrigin = ""; + } + /** @type {?} */ + var maxWidth = 0; + this.file.pages.forEach((/** + * @param {?} page + * @return {?} + */ + function (page) { + { + if (page.width > maxWidth) { + maxWidth = page.width; + } + } + })); + // Images and Excel-related files receiving dimensions in px from server + this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit; + }; + /** + * @private + * @param {?} elm + * @return {?} + */ + ZoomDirective.prototype.getScrollWidth = /** + * @private + * @param {?} elm + * @return {?} + */ + function (elm) { + return elm.offsetWidth - elm.clientWidth; + }; + /** + * @private + * @param {?} elm + * @return {?} + */ + ZoomDirective.prototype.getScrollHeight = /** + * @private + * @param {?} elm + * @return {?} + */ + function (elm) { + return elm.offsetHeight - elm.clientHeight; + }; + /** + * @private + * @param {?} zoom + * @return {?} + */ + ZoomDirective.prototype.resizePages = /** + * @private + * @param {?} zoom + * @return {?} + */ + function (zoom) { + /** @type {?} */ + var zoomInt = zoom === 100 ? 1 : zoom / 100; + /** @type {?} */ + var viewPortWidth = this.el.nativeElement.parentElement.offsetWidth; + /** @type {?} */ + var viewPortHeight = this.el.nativeElement.parentElement.offsetHeight; + /** @type {?} */ + var scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement); + /** @type {?} */ + var scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement); + this.width = (viewPortWidth / zoomInt - scrollWidth / zoomInt) + 'px'; + this.height = (viewPortHeight / zoomInt - scrollHeight / zoomInt) + 'px'; + }; + /** + * @return {?} + */ + ZoomDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + this.setStyles(this._zoomService.zoom); + }; + ZoomDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdZoom]' + },] } + ]; + /** @nocollapse */ + ZoomDirective.ctorParameters = function () { return [ + { type: ZoomService }, + { type: WindowService }, + { type: core.ElementRef } + ]; }; + ZoomDirective.propDecorators = { + zoomActive: [{ type: core.Input }], + file: [{ type: core.Input }], + zoomInt: [{ type: core.HostBinding, args: ['style.zoom',] }], + transform: [{ type: core.HostBinding, args: ['style.transform',] }], + transformOrigin: [{ type: core.HostBinding, args: ['style.transform-origin',] }], + width: [{ type: core.HostBinding, args: ['style.width',] }], + height: [{ type: core.HostBinding, args: ['style.height',] }], + minWidth: [{ type: core.HostBinding, args: ['style.min-width',] }] + }; + return ZoomDirective; + }()); + if (false) { + /** @type {?} */ + ZoomDirective.prototype.zoomActive; + /** @type {?} */ + ZoomDirective.prototype.file; + /** @type {?} */ + ZoomDirective.prototype.zoomInt; + /** @type {?} */ + ZoomDirective.prototype.transform; + /** @type {?} */ + ZoomDirective.prototype.transformOrigin; + /** @type {?} */ + ZoomDirective.prototype.width; + /** @type {?} */ + ZoomDirective.prototype.height; + /** @type {?} */ + ZoomDirective.prototype.minWidth; + /** @type {?} */ + ZoomDirective.prototype.el; + /** + * @type {?} + * @private + */ + ZoomDirective.prototype._zoomService; + /** + * @type {?} + * @private + */ + ZoomDirective.prototype._windowService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var DisabledCursorDirective = /** @class */ (function () { - function DisabledCursorDirective() { - } - /** - * @private - * @return {?} - */ - DisabledCursorDirective.prototype.updateCursor = /** - * @private - * @return {?} - */ - function () { - this.cursor = this.dis ? true : false; - }; - /** - * @return {?} - */ - DisabledCursorDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - this.updateCursor(); - }; - /** - * @param {?} changes - * @return {?} - */ - DisabledCursorDirective.prototype.ngOnChanges = /** - * @param {?} changes - * @return {?} - */ - function (changes) { - this.updateCursor(); - }; - DisabledCursorDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdDisabledCursor]' - },] } - ]; - /** @nocollapse */ - DisabledCursorDirective.ctorParameters = function () { return []; }; - DisabledCursorDirective.propDecorators = { - dis: [{ type: core.Input }], - cursor: [{ type: core.HostBinding, args: ['class.inactive',] }] - }; - return DisabledCursorDirective; - }()); - if (false) { - /** @type {?} */ - DisabledCursorDirective.prototype.dis; - /** @type {?} */ - DisabledCursorDirective.prototype.cursor; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var OnCloseService = /** @class */ (function () { + function OnCloseService() { + this._observer = new rxjs.Subject(); + this._onClose = this._observer.asObservable(); + } + Object.defineProperty(OnCloseService.prototype, "onClose", { + get: /** + * @return {?} + */ + function () { + return this._onClose; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} close + * @return {?} + */ + OnCloseService.prototype.close = /** + * @param {?} close + * @return {?} + */ + function (close) { + this._observer.next(close); + }; + OnCloseService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + OnCloseService.ctorParameters = function () { return []; }; + /** @nocollapse */ OnCloseService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function OnCloseService_Factory() { return new OnCloseService(); }, token: OnCloseService, providedIn: "root" }); + return OnCloseService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + OnCloseService.prototype._observer; + /** + * @type {?} + * @private + */ + OnCloseService.prototype._onClose; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var RotationDirective = /** @class */ (function () { - function RotationDirective() { - this.withMargin = true; - } - /** - * @private - * @return {?} - */ - RotationDirective.prototype.updateCursor = /** - * @private - * @return {?} - */ - function () { - if (typeof this.angle === "string") { - this.angle = parseInt(this.angle, 10); - } - if (this.angle) { - this.animation = 'none'; - this.transition = 'none'; - this.transform = 'rotate(' + this.angle + 'deg)'; - } - else if (this.angle === 0 && this.animation) { - this.animation = null; - this.transition = null; - this.transform = null; - } - if (this.withMargin) { - if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) { - if (this.isHtmlMode) { - if (this.isLandscape()) { - this.margin = '164px 254px'; - } - else { - this.margin = '-111px 254px'; - } - } - else { - if (this.isLandscape()) { - this.margin = '129px 100px -79px'; - } - else { - this.margin = '-72px 100px -79px'; - } - } - } - else if (this.angle === -180 || this.angle === 180) { - this.margin = '280px'; - } - else { - this.margin = null; - } - } - }; - /** - * @return {?} - */ - RotationDirective.prototype.isLandscape = /** - * @return {?} - */ - function () { - return this.width > this.height; - }; - /** - * @return {?} - */ - RotationDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - this.updateCursor(); - }; - /** - * @param {?} changes - * @return {?} - */ - RotationDirective.prototype.ngOnChanges = /** - * @param {?} changes - * @return {?} - */ - function (changes) { - this.updateCursor(); - }; - RotationDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdRotation]' - },] } - ]; - /** @nocollapse */ - RotationDirective.ctorParameters = function () { return []; }; - RotationDirective.propDecorators = { - angle: [{ type: core.Input }], - isHtmlMode: [{ type: core.Input }], - width: [{ type: core.Input }], - height: [{ type: core.Input }], - withMargin: [{ type: core.Input }], - animation: [{ type: core.HostBinding, args: ['style.animation',] }], - transition: [{ type: core.HostBinding, args: ['style.transition-property',] }], - transform: [{ type: core.HostBinding, args: ['style.transform',] }], - margin: [{ type: core.HostBinding, args: ['style.margin',] }] - }; - return RotationDirective; - }()); - if (false) { - /** @type {?} */ - RotationDirective.prototype.angle; - /** @type {?} */ - RotationDirective.prototype.isHtmlMode; - /** @type {?} */ - RotationDirective.prototype.width; - /** @type {?} */ - RotationDirective.prototype.height; - /** @type {?} */ - RotationDirective.prototype.withMargin; - /** @type {?} */ - RotationDirective.prototype.animation; - /** @type {?} */ - RotationDirective.prototype.transition; - /** @type {?} */ - RotationDirective.prototype.transform; - /** @type {?} */ - RotationDirective.prototype.margin; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** + * @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: "
\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 {?} */ + 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 InitStateComponent = /** @class */ (function () { - function InitStateComponent() { - this.fileDropped = new core.EventEmitter(); - this.showUploadFile = false; - } - /** - * @return {?} - */ - InitStateComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} $event - * @return {?} - */ - InitStateComponent.prototype.dropped = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - if ($event) { - this.fileDropped.emit($event); - this.showUploadFile = false; - } - }; - InitStateComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-init-state', - template: "
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\n", - styles: [".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"] - }] } - ]; - /** @nocollapse */ - InitStateComponent.ctorParameters = function () { return []; }; - InitStateComponent.propDecorators = { - icon: [{ type: core.Input }], - text: [{ type: core.Input }], - fileDropped: [{ type: core.Output }] - }; - return InitStateComponent; - }()); - if (false) { - /** @type {?} */ - InitStateComponent.prototype.icon; - /** @type {?} */ - InitStateComponent.prototype.text; - /** @type {?} */ - InitStateComponent.prototype.fileDropped; - /** @type {?} */ - InitStateComponent.prototype.showUploadFile; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var DisabledCursorDirective = /** @class */ (function () { + function DisabledCursorDirective() { + } + /** + * @private + * @return {?} + */ + DisabledCursorDirective.prototype.updateCursor = /** + * @private + * @return {?} + */ + function () { + this.cursor = this.dis ? true : false; + }; + /** + * @return {?} + */ + DisabledCursorDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.updateCursor(); + }; + /** + * @param {?} changes + * @return {?} + */ + DisabledCursorDirective.prototype.ngOnChanges = /** + * @param {?} changes + * @return {?} + */ + function (changes) { + this.updateCursor(); + }; + DisabledCursorDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdDisabledCursor]' + },] } + ]; + /** @nocollapse */ + DisabledCursorDirective.ctorParameters = function () { return []; }; + DisabledCursorDirective.propDecorators = { + dis: [{ type: core.Input }], + cursor: [{ type: core.HostBinding, args: ['class.inactive',] }] + }; + return DisabledCursorDirective; + }()); + if (false) { + /** @type {?} */ + DisabledCursorDirective.prototype.dis; + /** @type {?} */ + DisabledCursorDirective.prototype.cursor; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var RenderPrintService = /** @class */ (function () { - function RenderPrintService() { - var _this = this; - this._render = new rxjs.Observable((/** - * @param {?} observer - * @return {?} - */ - function (observer) { - return _this._observer = observer; - })); - this._renderBlob = new rxjs.Observable((/** - * @param {?} observer - * @return {?} - */ - function (observer) { - return _this._observerBlob = observer; - })); - } - Object.defineProperty(RenderPrintService.prototype, "renderPrint", { - get: /** - * @return {?} - */ - function () { - return this._render; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} pages - * @return {?} - */ - RenderPrintService.prototype.changePages = /** - * @param {?} pages - * @return {?} - */ - function (pages) { - this._observer.next(pages); - }; - Object.defineProperty(RenderPrintService.prototype, "renderPrintBlob", { - get: /** - * @return {?} - */ - function () { - return this._renderBlob; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} file - * @return {?} - */ - RenderPrintService.prototype.changeBlob = /** - * @param {?} file - * @return {?} - */ - function (file) { - this._observerBlob.next(file); - }; - return RenderPrintService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - RenderPrintService.prototype._render; - /** - * @type {?} - * @private - */ - RenderPrintService.prototype._observer; - /** - * @type {?} - * @private - */ - RenderPrintService.prototype._renderBlob; - /** - * @type {?} - * @private - */ - RenderPrintService.prototype._observerBlob; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RotationDirective = /** @class */ (function () { + function RotationDirective() { + this.withMargin = true; + } + /** + * @private + * @return {?} + */ + RotationDirective.prototype.updateCursor = /** + * @private + * @return {?} + */ + function () { + if (typeof this.angle === "string") { + this.angle = parseInt(this.angle, 10); + } + if (this.angle) { + this.animation = 'none'; + this.transition = 'none'; + this.transform = 'rotate(' + this.angle + 'deg)'; + } + else if (this.angle === 0 && this.animation) { + this.animation = null; + this.transition = null; + this.transform = null; + } + if (this.withMargin) { + if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) { + if (this.isHtmlMode) { + if (this.isLandscape()) { + this.margin = '164px 254px'; + } + else { + this.margin = '-111px 254px'; + } + } + else { + if (this.isLandscape()) { + this.margin = '129px 100px -79px'; + } + else { + this.margin = '-72px 100px -79px'; + } + } + } + else if (this.angle === -180 || this.angle === 180) { + this.margin = '280px'; + } + else { + this.margin = null; + } + } + }; + /** + * @return {?} + */ + RotationDirective.prototype.isLandscape = /** + * @return {?} + */ + function () { + return this.width > this.height; + }; + /** + * @return {?} + */ + RotationDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.updateCursor(); + }; + /** + * @param {?} changes + * @return {?} + */ + RotationDirective.prototype.ngOnChanges = /** + * @param {?} changes + * @return {?} + */ + function (changes) { + this.updateCursor(); + }; + RotationDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdRotation]' + },] } + ]; + /** @nocollapse */ + RotationDirective.ctorParameters = function () { return []; }; + RotationDirective.propDecorators = { + angle: [{ type: core.Input }], + isHtmlMode: [{ type: core.Input }], + width: [{ type: core.Input }], + height: [{ type: core.Input }], + withMargin: [{ type: core.Input }], + animation: [{ type: core.HostBinding, args: ['style.animation',] }], + transition: [{ type: core.HostBinding, args: ['style.transition-property',] }], + transform: [{ type: core.HostBinding, args: ['style.transform',] }], + margin: [{ type: core.HostBinding, args: ['style.margin',] }] + }; + return RotationDirective; + }()); + if (false) { + /** @type {?} */ + RotationDirective.prototype.angle; + /** @type {?} */ + RotationDirective.prototype.isHtmlMode; + /** @type {?} */ + RotationDirective.prototype.width; + /** @type {?} */ + RotationDirective.prototype.height; + /** @type {?} */ + RotationDirective.prototype.withMargin; + /** @type {?} */ + RotationDirective.prototype.animation; + /** @type {?} */ + RotationDirective.prototype.transition; + /** @type {?} */ + RotationDirective.prototype.transform; + /** @type {?} */ + RotationDirective.prototype.margin; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var 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 {?} */ - RenderPrintDirective.prototype.htmlMode; - /** - * @type {?} - * @private - */ - RenderPrintDirective.prototype._renderService; + /** + * @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 {?} */ + 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 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 {?} - * @private - */ - ExceptionMessageService.prototype._observer; - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._messageChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RenderPrintService = /** @class */ (function () { + function RenderPrintService() { + var _this = this; + this._render = new rxjs.Observable((/** + * @param {?} observer + * @return {?} + */ + function (observer) { + return _this._observer = observer; + })); + this._renderBlob = new rxjs.Observable((/** + * @param {?} observer + * @return {?} + */ + function (observer) { + return _this._observerBlob = observer; + })); + } + Object.defineProperty(RenderPrintService.prototype, "renderPrint", { + get: /** + * @return {?} + */ + function () { + return this._render; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} pages + * @return {?} + */ + RenderPrintService.prototype.changePages = /** + * @param {?} pages + * @return {?} + */ + function (pages) { + this._observer.next(pages); + }; + Object.defineProperty(RenderPrintService.prototype, "renderPrintBlob", { + get: /** + * @return {?} + */ + function () { + return this._renderBlob; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} file + * @return {?} + */ + RenderPrintService.prototype.changeBlob = /** + * @param {?} file + * @return {?} + */ + function (file) { + this._observerBlob.next(file); + }; + return RenderPrintService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + RenderPrintService.prototype._render; + /** + * @type {?} + * @private + */ + RenderPrintService.prototype._observer; + /** + * @type {?} + * @private + */ + RenderPrintService.prototype._renderBlob; + /** + * @type {?} + * @private + */ + RenderPrintService.prototype._observerBlob; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ErrorModalComponent = /** @class */ (function () { - function ErrorModalComponent(messageService) { - var _this = this; - messageService.messageChange.subscribe((/** - * @param {?} message - * @return {?} - */ - function (message) { return _this.message = message; })); - } - /** - * @return {?} - */ - ErrorModalComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - ErrorModalComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-error-modal', - template: "\n
\n \n
\n
Something went wrong
\n
{{message ? message : 'Server is not available'}}
\n
\n
\n
\n", - styles: [".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"] - }] } - ]; - /** @nocollapse */ - ErrorModalComponent.ctorParameters = function () { return [ - { type: ExceptionMessageService } - ]; }; - return ErrorModalComponent; - }()); - if (false) { - /** @type {?} */ - ErrorModalComponent.prototype.message; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var 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 {?} */ + RenderPrintDirective.prototype.htmlMode; + /** + * @type {?} + * @private + */ + RenderPrintDirective.prototype._renderService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var PasswordService = /** @class */ (function () { - function PasswordService() { - this._observer = new rxjs.Subject(); - this._passChange = this._observer.asObservable(); - } - Object.defineProperty(PasswordService.prototype, "passChange", { - get: /** - * @return {?} - */ - function () { - return this._passChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} pass - * @return {?} - */ - PasswordService.prototype.setPassword = /** - * @param {?} pass - * @return {?} - */ - function (pass) { - this._observer.next(pass); - }; - return PasswordService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - PasswordService.prototype._observer; - /** - * @type {?} - * @private - */ - PasswordService.prototype._passChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var 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 {?} + * @private + */ + ExceptionMessageService.prototype._observer; + /** + * @type {?} + * @private + */ + ExceptionMessageService.prototype._messageChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$5 = jquery; - var PasswordRequiredComponent = /** @class */ (function () { - function PasswordRequiredComponent(messageService, _passwordService) { - var _this = this; - this._passwordService = _passwordService; - this.cancelEvent = new core.EventEmitter(); - messageService.messageChange.subscribe((/** - * @param {?} message - * @return {?} - */ - function (message) { return _this.message = message; })); - } - /** - * @return {?} - */ - PasswordRequiredComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} value - * @return {?} - */ - PasswordRequiredComponent.prototype.setPassword = /** - * @param {?} value - * @return {?} - */ - function (value) { - this._passwordService.setPassword(value); - }; - /** - * @param {?} $event - * @return {?} - */ - PasswordRequiredComponent.prototype.onCloseOpen = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - if ($event) { - setTimeout((/** - * @return {?} - */ - function () { - /** @type {?} */ - var element = $$5("#password"); - if (element) { - element.focus(); - } - }), 100); - } - else { - $$5("#password").val(""); - } - }; - /** - * @param {?} $event - * @return {?} - */ - PasswordRequiredComponent.prototype.cancel = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $$5("#password").val(""); - this.cancelEvent.emit(true); - }; - PasswordRequiredComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-password-required', - template: "\n
\n
\n \n \n {{message}}\n \n Open\n \n
\n
\n
\n", - styles: ["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"] - }] } - ]; - /** @nocollapse */ - PasswordRequiredComponent.ctorParameters = function () { return [ - { type: ExceptionMessageService }, - { type: PasswordService } - ]; }; - PasswordRequiredComponent.propDecorators = { - cancelEvent: [{ type: core.Output }] - }; - return PasswordRequiredComponent; - }()); - if (false) { - /** @type {?} */ - PasswordRequiredComponent.prototype.message; - /** @type {?} */ - PasswordRequiredComponent.prototype.cancelEvent; - /** - * @type {?} - * @private - */ - PasswordRequiredComponent.prototype._passwordService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + 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 {?} */ + ErrorModalComponent.prototype.message; } - /** - * @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 {?} - * @private - */ - ErrorInterceptorService.prototype._modalService; - /** - * @type {?} - * @private - */ - ErrorInterceptorService.prototype._messageService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var PasswordService = /** @class */ (function () { + function PasswordService() { + this._observer = new rxjs.Subject(); + this._passChange = this._observer.asObservable(); + } + Object.defineProperty(PasswordService.prototype, "passChange", { + get: /** + * @return {?} + */ + function () { + return this._passChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} pass + * @return {?} + */ + PasswordService.prototype.setPassword = /** + * @param {?} pass + * @return {?} + */ + function (pass) { + this._observer.next(pass); + }; + return PasswordService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + PasswordService.prototype._observer; + /** + * @type {?} + * @private + */ + PasswordService.prototype._passChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SearchService = /** @class */ (function () { - function SearchService() { - this._observer = new rxjs.Subject(); - this._textChange = this._observer.asObservable(); - this._observerCurrent = new rxjs.Subject(); - this._currentChange = this._observerCurrent.asObservable(); - this._observerTotal = new rxjs.Subject(); - this._totalChange = this._observerTotal.asObservable(); - } - Object.defineProperty(SearchService.prototype, "textChange", { - get: /** - * @return {?} - */ - function () { - return this._textChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} text - * @return {?} - */ - SearchService.prototype.setText = /** - * @param {?} text - * @return {?} - */ - function (text) { - this._observer.next(text); - }; - Object.defineProperty(SearchService.prototype, "currentChange", { - get: /** - * @return {?} - */ - function () { - return this._currentChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(SearchService.prototype, "totalChange", { - get: /** - * @return {?} - */ - function () { - return this._totalChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} current - * @return {?} - */ - SearchService.prototype.setCurrent = /** - * @param {?} current - * @return {?} - */ - function (current) { - this._observerCurrent.next(current); - }; - /** - * @param {?} total - * @return {?} - */ - SearchService.prototype.setTotal = /** - * @param {?} total - * @return {?} - */ - function (total) { - this._observerTotal.next(total); - }; - return SearchService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - SearchService.prototype._observer; - /** - * @type {?} - * @private - */ - SearchService.prototype._textChange; - /** - * @type {?} - * @private - */ - SearchService.prototype._observerCurrent; - /** - * @type {?} - * @private - */ - SearchService.prototype._currentChange; - /** - * @type {?} - * @private - */ - SearchService.prototype._observerTotal; - /** - * @type {?} - * @private - */ - SearchService.prototype._totalChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$5 = jquery; + var PasswordRequiredComponent = /** @class */ (function () { + function PasswordRequiredComponent(messageService, _passwordService) { + var _this = this; + this._passwordService = _passwordService; + this.cancelEvent = new core.EventEmitter(); + messageService.messageChange.subscribe((/** + * @param {?} message + * @return {?} + */ + function (message) { return _this.message = message; })); + } + /** + * @return {?} + */ + PasswordRequiredComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} value + * @return {?} + */ + PasswordRequiredComponent.prototype.setPassword = /** + * @param {?} value + * @return {?} + */ + function (value) { + this._passwordService.setPassword(value); + }; + /** + * @param {?} $event + * @return {?} + */ + PasswordRequiredComponent.prototype.onCloseOpen = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + if ($event) { + setTimeout((/** + * @return {?} + */ + function () { + /** @type {?} */ + var element = $$5("#password"); + if (element) { + element.focus(); + } + }), 100); + } + else { + $$5("#password").val(""); + } + }; + /** + * @param {?} $event + * @return {?} + */ + PasswordRequiredComponent.prototype.cancel = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $$5("#password").val(""); + this.cancelEvent.emit(true); + }; + PasswordRequiredComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-password-required', + template: "\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n", + styles: ["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display: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 {?} */ + 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 SearchComponent = /** @class */ (function () { - function SearchComponent(_searchService) { - var _this = this; - this._searchService = _searchService; - this.hidePanel = new core.EventEmitter(false); - this.current = 0; - this.total = 0; - _searchService.totalChange.subscribe((/** - * @param {?} total - * @return {?} - */ - function (total) { - _this.total = total; - if (total !== 0) { - _this.current = 1; - } - else { - _this.current = 0; - } - _this._searchService.setCurrent(_this.current); - })); - } - /** - * @return {?} - */ - SearchComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} text - * @return {?} - */ - SearchComponent.prototype.setText = /** - * @param {?} text - * @return {?} - */ - function (text) { - this._searchService.setText(text); - }; - /** - * @return {?} - */ - SearchComponent.prototype.hide = /** - * @return {?} - */ - function () { - this.setText(''); - this.hidePanel.emit(true); - }; - /** - * @return {?} - */ - SearchComponent.prototype.prev = /** - * @return {?} - */ - function () { - if (this.current > 1) { - this.current--; - this._searchService.setCurrent(this.current); - } - }; - /** - * @return {?} - */ - SearchComponent.prototype.next = /** - * @return {?} - */ - function () { - if (this.current < this.total) { - this.current++; - this._searchService.setCurrent(this.current); - } - }; - /** - * @return {?} - */ - SearchComponent.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - this.textElement.nativeElement.focus(); - }; - SearchComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-search', - template: "
\n \n
{{current}} of {{total}}
\n \n \n \n \n \n \n
\n", - styles: [".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"] - }] } - ]; - /** @nocollapse */ - SearchComponent.ctorParameters = function () { return [ - { type: SearchService } - ]; }; - SearchComponent.propDecorators = { - hidePanel: [{ type: core.Output }], - textElement: [{ type: core.ViewChild, args: ['text', { - static: true - },] }] - }; - return SearchComponent; - }()); - if (false) { - /** @type {?} */ - SearchComponent.prototype.hidePanel; - /** @type {?} */ - SearchComponent.prototype.current; - /** @type {?} */ - SearchComponent.prototype.total; - /** @type {?} */ - SearchComponent.prototype.textElement; - /** - * @type {?} - * @private - */ - SearchComponent.prototype._searchService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var 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 {?} + * @private + */ + ErrorInterceptorService.prototype._modalService; + /** + * @type {?} + * @private + */ + ErrorInterceptorService.prototype._messageService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$6 = jquery; - var SearchableDirective = /** @class */ (function () { - function SearchableDirective(_elementRef, _searchService, _highlight, _zoomService) { - var _this = this; - this._elementRef = _elementRef; - this._searchService = _searchService; - this._highlight = _highlight; - this._zoomService = _zoomService; - this.current = 0; - this.total = 0; - this.zoom = 100; - _searchService.currentChange.subscribe((/** - * @param {?} current - * @return {?} - */ - function (current) { - _this.current = current; - if (_this.current !== 0) { - _this.moveToCurrent(); - } - })); - _searchService.textChange.subscribe((/** - * @param {?} text - * @return {?} - */ - function (text) { - _this.text = text; - _this.highlightSearch(); - })); - this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom; - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - _this.zoom = val ? val : _this.zoom; - })); - } - /** - * @private - * @return {?} - */ - SearchableDirective.prototype.highlightSearch = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var el = this._elementRef ? this._elementRef.nativeElement : null; - if (el) { - this.cleanHighlight(el); - if (this.text) { - this.highlightEl(el); - /** @type {?} */ - var count = el.querySelectorAll('.gd-highlight').length; - this.total = count; - } - else { - this.total = 0; - } - this._searchService.setTotal(this.total); - } - }; - /** - * @private - * @return {?} - */ - SearchableDirective.prototype.moveToCurrent = /** - * @private - * @return {?} - */ - function () { - if (this.current === 0) { - return; - } - /** @type {?} */ - var currentZoom = this.getZoom(); - /** @type {?} */ - var el = this._elementRef ? this._elementRef.nativeElement : null; - if (el) { - el.querySelectorAll('.gd-highlight-select').forEach((/** - * @param {?} value - * @return {?} - */ - function (value) { - $$6(value).removeClass('gd-highlight-select'); - })); - /** @type {?} */ - var currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1]; - $$6(currentEl).addClass('gd-highlight-select'); - if (currentEl) { - /** @type {?} */ - var options = { - left: 0, - top: ($$6(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150, - }; - // using polyfill - el.parentElement.parentElement.scroll(options); - } - } - }; - /** - * @private - * @param {?} el - * @return {?} - */ - SearchableDirective.prototype.highlightEl = /** - * @private - * @param {?} el - * @return {?} - */ - function (el) { - /** @type {?} */ - var textNodes = $$6(el).find('*').contents().filter((/** - * @return {?} - */ - function () { - /** @type {?} */ - var nodeName = this.parentElement.nodeName.toLowerCase(); - /** @type {?} */ - var checkClass = ((/** @type {?} */ (this))).classList ? !((/** @type {?} */ (this))).classList.contains('gd-highlight') : true; - return this.nodeType === 3 && - this.textContent.trim().length !== 0 && - nodeName !== 'style' && - nodeName !== 'title' && - nodeName !== 'body' && - nodeName !== 'script' && - checkClass; - })); - /** @type {?} */ - var text = this.text; - /** @type {?} */ - var highlight = this._highlight; - textNodes.each((/** - * @return {?} - */ - function () { - /** @type {?} */ - var $this = $$6(this); - /** @type {?} */ - var content = $this.text(); - content = highlight.transform(content, text); - $this.replaceWith(content); - })); - el.normalize(); - }; - /** - * @private - * @param {?} el - * @return {?} - */ - SearchableDirective.prototype.cleanHighlight = /** - * @private - * @param {?} el - * @return {?} - */ - function (el) { - /** @type {?} */ - var nodeListOf = el.querySelectorAll('.gd-highlight'); - for (var i = 0; i < nodeListOf.length; i++) { - /** @type {?} */ - var element = nodeListOf.item(i); - element.replaceWith(((/** @type {?} */ (element))).innerText); - } - el.normalize(); - }; - /** - * @private - * @return {?} - */ - SearchableDirective.prototype.getZoom = /** - * @private - * @return {?} - */ - function () { - return this.zoom / 100; - }; - SearchableDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdSearchable]' - },] } - ]; - /** @nocollapse */ - SearchableDirective.ctorParameters = function () { return [ - { type: core.ElementRef }, - { type: SearchService }, - { type: HighlightSearchPipe }, - { type: ZoomService } - ]; }; - return SearchableDirective; - }()); - if (false) { - /** @type {?} */ - SearchableDirective.prototype.text; - /** @type {?} */ - SearchableDirective.prototype.current; - /** @type {?} */ - SearchableDirective.prototype.total; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype.zoom; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype._elementRef; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype._searchService; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype._highlight; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype._zoomService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SearchService = /** @class */ (function () { + function SearchService() { + this._observer = new rxjs.Subject(); + this._textChange = this._observer.asObservable(); + this._observerCurrent = new rxjs.Subject(); + this._currentChange = this._observerCurrent.asObservable(); + this._observerTotal = new rxjs.Subject(); + this._totalChange = this._observerTotal.asObservable(); + } + Object.defineProperty(SearchService.prototype, "textChange", { + get: /** + * @return {?} + */ + function () { + return this._textChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} text + * @return {?} + */ + SearchService.prototype.setText = /** + * @param {?} text + * @return {?} + */ + function (text) { + this._observer.next(text); + }; + Object.defineProperty(SearchService.prototype, "currentChange", { + get: /** + * @return {?} + */ + function () { + return this._currentChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SearchService.prototype, "totalChange", { + get: /** + * @return {?} + */ + function () { + return this._totalChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} current + * @return {?} + */ + SearchService.prototype.setCurrent = /** + * @param {?} current + * @return {?} + */ + function (current) { + this._observerCurrent.next(current); + }; + /** + * @param {?} total + * @return {?} + */ + SearchService.prototype.setTotal = /** + * @param {?} total + * @return {?} + */ + function (total) { + this._observerTotal.next(total); + }; + return SearchService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + SearchService.prototype._observer; + /** + * @type {?} + * @private + */ + SearchService.prototype._textChange; + /** + * @type {?} + * @private + */ + SearchService.prototype._observerCurrent; + /** + * @type {?} + * @private + */ + SearchService.prototype._currentChange; + /** + * @type {?} + * @private + */ + SearchService.prototype._observerTotal; + /** + * @type {?} + * @private + */ + SearchService.prototype._totalChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TabbedToolbarsComponent = /** @class */ (function () { - function TabbedToolbarsComponent() { - } - /** - * @return {?} - */ - TabbedToolbarsComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - TabbedToolbarsComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-tabbed-toolbars', - template: "
\n \n \n
\n", - styles: [".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"] - }] } - ]; - /** @nocollapse */ - TabbedToolbarsComponent.ctorParameters = function () { return []; }; - TabbedToolbarsComponent.propDecorators = { - logo: [{ type: core.Input }], - icon: [{ type: core.Input }] - }; - return TabbedToolbarsComponent; - }()); - if (false) { - /** @type {?} */ - TabbedToolbarsComponent.prototype.logo; - /** @type {?} */ - TabbedToolbarsComponent.prototype.icon; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var 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 {?} */ + SearchComponent.prototype.hidePanel; + /** @type {?} */ + SearchComponent.prototype.current; + /** @type {?} */ + SearchComponent.prototype.total; + /** @type {?} */ + SearchComponent.prototype.textElement; + /** + * @type {?} + * @private + */ + SearchComponent.prototype._searchService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var 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 + */ + /** @type {?} */ + var $$6 = jquery; + var SearchableDirective = /** @class */ (function () { + function SearchableDirective(_elementRef, _searchService, _highlight, _zoomService) { + var _this = this; + this._elementRef = _elementRef; + this._searchService = _searchService; + this._highlight = _highlight; + this._zoomService = _zoomService; + this.current = 0; + this.total = 0; + this.zoom = 100; + _searchService.currentChange.subscribe((/** + * @param {?} current + * @return {?} + */ + function (current) { + _this.current = current; + if (_this.current !== 0) { + _this.moveToCurrent(); + } + })); + _searchService.textChange.subscribe((/** + * @param {?} text + * @return {?} + */ + function (text) { + _this.text = text; + _this.highlightSearch(); + })); + this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom; + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + _this.zoom = val ? val : _this.zoom; + })); + } + /** + * @private + * @return {?} + */ + SearchableDirective.prototype.highlightSearch = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var el = this._elementRef ? this._elementRef.nativeElement : null; + if (el) { + this.cleanHighlight(el); + if (this.text) { + this.highlightEl(el); + /** @type {?} */ + var count = el.querySelectorAll('.gd-highlight').length; + this.total = count; + } + else { + this.total = 0; + } + this._searchService.setTotal(this.total); + } + }; + /** + * @private + * @return {?} + */ + SearchableDirective.prototype.moveToCurrent = /** + * @private + * @return {?} + */ + function () { + if (this.current === 0) { + return; + } + /** @type {?} */ + var currentZoom = this.getZoom(); + /** @type {?} */ + var el = this._elementRef ? this._elementRef.nativeElement : null; + if (el) { + el.querySelectorAll('.gd-highlight-select').forEach((/** + * @param {?} value + * @return {?} + */ + function (value) { + $$6(value).removeClass('gd-highlight-select'); + })); + /** @type {?} */ + var currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1]; + $$6(currentEl).addClass('gd-highlight-select'); + if (currentEl) { + /** @type {?} */ + var options = { + left: 0, + top: ($$6(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150, + }; + // using polyfill + el.parentElement.parentElement.scroll(options); + } + } + }; + /** + * @private + * @param {?} el + * @return {?} + */ + SearchableDirective.prototype.highlightEl = /** + * @private + * @param {?} el + * @return {?} + */ + function (el) { + /** @type {?} */ + var textNodes = $$6(el).find('*').contents().filter((/** + * @return {?} + */ + function () { + /** @type {?} */ + var nodeName = this.parentElement.nodeName.toLowerCase(); + /** @type {?} */ + var checkClass = ((/** @type {?} */ (this))).classList ? !((/** @type {?} */ (this))).classList.contains('gd-highlight') : true; + return this.nodeType === 3 && + this.textContent.trim().length !== 0 && + nodeName !== 'style' && + nodeName !== 'title' && + nodeName !== 'body' && + nodeName !== 'script' && + checkClass; + })); + /** @type {?} */ + var text = this.text; + /** @type {?} */ + var highlight = this._highlight; + textNodes.each((/** + * @return {?} + */ + function () { + /** @type {?} */ + var $this = $$6(this); + /** @type {?} */ + var content = $this.text(); + content = highlight.transform(content, text); + $this.replaceWith(content); + })); + el.normalize(); + }; + /** + * @private + * @param {?} el + * @return {?} + */ + SearchableDirective.prototype.cleanHighlight = /** + * @private + * @param {?} el + * @return {?} + */ + function (el) { + /** @type {?} */ + var nodeListOf = el.querySelectorAll('.gd-highlight'); + for (var i = 0; i < nodeListOf.length; i++) { + /** @type {?} */ + var element = nodeListOf.item(i); + element.replaceWith(((/** @type {?} */ (element))).innerText); + } + el.normalize(); + }; + /** + * @private + * @return {?} + */ + SearchableDirective.prototype.getZoom = /** + * @private + * @return {?} + */ + function () { + return this.zoom / 100; + }; + SearchableDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdSearchable]' + },] } + ]; + /** @nocollapse */ + SearchableDirective.ctorParameters = function () { return [ + { type: core.ElementRef }, + { type: SearchService }, + { type: HighlightSearchPipe }, + { type: ZoomService } + ]; }; + return SearchableDirective; + }()); + if (false) { + /** @type {?} */ + SearchableDirective.prototype.text; + /** @type {?} */ + SearchableDirective.prototype.current; + /** @type {?} */ + SearchableDirective.prototype.total; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype.zoom; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype._elementRef; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype._searchService; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype._highlight; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype._zoomService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TabComponent = /** @class */ (function () { - function TabComponent(_tabActivatorService) { - var _this = this; - this._tabActivatorService = _tabActivatorService; - this.disabled = false; - this.active = false; - this.content = true; - this._tabActivatorService.activeTabChange.subscribe((/** - * @param {?} tabId - * @return {?} - */ - function (tabId) { - _this.activation(tabId); - })); - } - /** - * @private - * @param {?} tabId - * @return {?} - */ - TabComponent.prototype.activation = /** - * @private - * @param {?} tabId - * @return {?} - */ - function (tabId) { - if (this.id === tabId) { - this.active = true; - } - else { - this.active = false; - } - }; - /** - * @return {?} - */ - TabComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - TabComponent.prototype.selectTab = /** - * @return {?} - */ - function () { - if (this.disabled) { - return; - } - this._tabActivatorService.changeActiveTab(this.id); - }; - TabComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-tab', - template: "
\n
{{tabTitle}}
\n \n
\n
\n \n
\n", - styles: [".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] - }] } - ]; - /** @nocollapse */ - TabComponent.ctorParameters = function () { return [ - { type: TabActivatorService } - ]; }; - TabComponent.propDecorators = { - id: [{ type: core.Input }], - tabTitle: [{ type: core.Input }], - icon: [{ type: core.Input }], - disabled: [{ type: core.Input }], - active: [{ type: core.Input }], - content: [{ type: core.Input }] - }; - return TabComponent; - }()); - if (false) { - /** @type {?} */ - TabComponent.prototype.id; - /** @type {?} */ - TabComponent.prototype.tabTitle; - /** @type {?} */ - TabComponent.prototype.icon; - /** @type {?} */ - TabComponent.prototype.disabled; - /** @type {?} */ - TabComponent.prototype.active; - /** @type {?} */ - TabComponent.prototype.content; - /** - * @type {?} - * @private - */ - TabComponent.prototype._tabActivatorService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var 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 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 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 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; + /** + * @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}.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;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] + }] } + ]; + /** @nocollapse */ + TabComponent.ctorParameters = function () { return [ + { type: TabActivatorService } + ]; }; + TabComponent.propDecorators = { + id: [{ type: core.Input }], + tabTitle: [{ type: core.Input }], + icon: [{ type: core.Input }], + disabled: [{ type: core.Input }], + active: [{ type: core.Input }], + content: [{ type: core.Input }] + }; + return TabComponent; + }()); + if (false) { + /** @type {?} */ + TabComponent.prototype.id; + /** @type {?} */ + TabComponent.prototype.tabTitle; + /** @type {?} */ + TabComponent.prototype.icon; + /** @type {?} */ + TabComponent.prototype.disabled; + /** @type {?} */ + TabComponent.prototype.active; + /** @type {?} */ + TabComponent.prototype.content; + /** + * @type {?} + * @private + */ + TabComponent.prototype._tabActivatorService; } - 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 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; }()); - if (false) { - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerBold; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatBoldChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerUnderline; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatUnderlineChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerUndo; - /** - * @type {?} - * @private - */ - FormattingService.prototype._undo; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerRedo; - /** - * @type {?} - * @private - */ - FormattingService.prototype._redo; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerItalic; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatItalicChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerColor; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatColorChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerBgColor; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatBgColorChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerFontSize; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatFontSizeChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerFont; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatFontChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerStrikeout; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatStrikeoutChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerAlign; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatAlignChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerList; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatListChange; + + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var Formatting = /** @class */ (function () { + function Formatting(fontSize, color, bgColor, bold, italic, underline, font, strikeout, align, list) { + this.fontSize = fontSize; + this.color = color; + this.bgColor = bgColor; + this.bold = bold; + this.italic = italic; + this.underline = underline; + this.font = font; + this.strikeout = strikeout; + this.align = align; + this.list = list; + } + /** + * @return {?} + */ + Formatting.default = /** + * @return {?} + */ + function () { + return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, "", ""); + }; + return Formatting; + }()); + if (false) { + /** @type {?} */ + Formatting.prototype.bold; + /** @type {?} */ + Formatting.prototype.italic; + /** @type {?} */ + Formatting.prototype.underline; + /** @type {?} */ + Formatting.prototype.fontSize; + /** @type {?} */ + Formatting.prototype.color; + /** @type {?} */ + Formatting.prototype.bgColor; + /** @type {?} */ + Formatting.prototype.font; + /** @type {?} */ + Formatting.prototype.strikeout; + /** @type {?} */ + Formatting.prototype.align; + /** @type {?} */ + Formatting.prototype.list; + } + var FormattingService = /** @class */ (function () { + function FormattingService() { + this._observerBold = new rxjs.Subject(); + this._formatBoldChange = this._observerBold.asObservable(); + this._observerUnderline = new rxjs.Subject(); + this._formatUnderlineChange = this._observerUnderline.asObservable(); + this._observerUndo = new rxjs.Subject(); + this._undo = this._observerUndo.asObservable(); + this._observerRedo = new rxjs.Subject(); + this._redo = this._observerRedo.asObservable(); + this._observerItalic = new rxjs.Subject(); + this._formatItalicChange = this._observerItalic.asObservable(); + this._observerColor = new rxjs.Subject(); + this._formatColorChange = this._observerColor.asObservable(); + this._observerBgColor = new rxjs.Subject(); + this._formatBgColorChange = this._observerBgColor.asObservable(); + this._observerFontSize = new rxjs.Subject(); + this._formatFontSizeChange = this._observerFontSize.asObservable(); + this._observerFont = new rxjs.Subject(); + this._formatFontChange = this._observerFont.asObservable(); + this._observerStrikeout = new rxjs.Subject(); + this._formatStrikeoutChange = this._observerStrikeout.asObservable(); + this._observerAlign = new rxjs.Subject(); + this._formatAlignChange = this._observerAlign.asObservable(); + this._observerList = new rxjs.Subject(); + this._formatListChange = this._observerList.asObservable(); + } + Object.defineProperty(FormattingService.prototype, "formatBoldChange", { + get: /** + * @return {?} + */ + function () { + return this._formatBoldChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatUnderlineChange", { + get: /** + * @return {?} + */ + function () { + return this._formatUnderlineChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatColorChange", { + get: /** + * @return {?} + */ + function () { + return this._formatColorChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatBgColorChange", { + get: /** + * @return {?} + */ + function () { + return this._formatBgColorChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatFontSizeChange", { + get: /** + * @return {?} + */ + function () { + return this._formatFontSizeChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatFontChange", { + get: /** + * @return {?} + */ + function () { + return this._formatFontChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "undo", { + get: /** + * @return {?} + */ + function () { + return this._undo; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "redo", { + get: /** + * @return {?} + */ + function () { + return this._redo; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatItalicChange", { + get: /** + * @return {?} + */ + function () { + return this._formatItalicChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatStrikeoutChange", { + get: /** + * @return {?} + */ + function () { + return this._formatStrikeoutChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatAlignChange", { + get: /** + * @return {?} + */ + function () { + return this._formatAlignChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatListChange", { + get: /** + * @return {?} + */ + function () { + return this._formatListChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} val + * @return {?} + */ + FormattingService.createFontSizeOption = /** + * @param {?} val + * @return {?} + */ + function (val) { + return { value: val, name: val + 'px', separator: false }; + }; + /** + * @return {?} + */ + FormattingService.getFontSizeOptions = /** + * @return {?} + */ + function () { + return [ + FormattingService.createFontSizeOption(8), + FormattingService.createFontSizeOption(10), + FormattingService.createFontSizeOption(12), + FormattingService.createFontSizeOption(14), + FormattingService.createFontSizeOption(16), + FormattingService.createFontSizeOption(18), + FormattingService.createFontSizeOption(20), + FormattingService.createFontSizeOption(22), + FormattingService.createFontSizeOption(24), + ]; + }; + /** + * @param {?} val + * @return {?} + */ + FormattingService.createFontOption = /** + * @param {?} val + * @return {?} + */ + function (val) { + return { value: val, name: val, separator: false }; + }; + /** + * @return {?} + */ + FormattingService.getFontOptions = /** + * @return {?} + */ + function () { + var _this = this; + /** @type {?} */ + var fonts = ["Arial", "Calibri", "Century Gothic", "Comic Sans", "Consolas", "Courier", "Dejavu Sans", "Dejavu Serif", "Georgia", "Gill Sans", "Helvetica", "Impact", "Lucida Sans", + "Myriad Pro", "Open Sans", "Palatino", "Tahoma", "Times New Roman", "Trebuchet"]; + /** @type {?} */ + var fontOptions = []; + fonts.forEach((/** + * @param {?} font + * @return {?} + */ + function (font) { + fontOptions.push(_this.createFontOption(font)); + })); + return fontOptions; + }; + /** + * @param {?} $event + * @return {?} + */ + FormattingService.prototype.changeFormatFontSize = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this._observerFontSize.next($event); + }; + /** + * @param {?} bold + * @return {?} + */ + FormattingService.prototype.changeFormatBold = /** + * @param {?} bold + * @return {?} + */ + function (bold) { + this._observerBold.next(bold); + }; + /** + * @param {?} underline + * @return {?} + */ + FormattingService.prototype.changeFormatUnderline = /** + * @param {?} underline + * @return {?} + */ + function (underline) { + this._observerUnderline.next(underline); + }; + /** + * @return {?} + */ + FormattingService.prototype.Undo = /** + * @return {?} + */ + function () { + this._observerUndo.next(); + }; + /** + * @return {?} + */ + FormattingService.prototype.Redo = /** + * @return {?} + */ + function () { + this._observerRedo.next(); + }; + /** + * @param {?} italic + * @return {?} + */ + FormattingService.prototype.changeFormatItalic = /** + * @param {?} italic + * @return {?} + */ + function (italic) { + this._observerItalic.next(italic); + }; + /** + * @param {?} color + * @return {?} + */ + FormattingService.prototype.changeFormatColor = /** + * @param {?} color + * @return {?} + */ + function (color) { + this._observerColor.next(color); + }; + /** + * @param {?} bgcolor + * @return {?} + */ + FormattingService.prototype.changeFormatBgColor = /** + * @param {?} bgcolor + * @return {?} + */ + function (bgcolor) { + this._observerBgColor.next(bgcolor); + }; + /** + * @param {?} font + * @return {?} + */ + FormattingService.prototype.changeFormatFont = /** + * @param {?} font + * @return {?} + */ + function (font) { + this._observerFont.next(font); + }; + /** + * @param {?} strikeout + * @return {?} + */ + FormattingService.prototype.changeFormatStrikeout = /** + * @param {?} strikeout + * @return {?} + */ + function (strikeout) { + this._observerStrikeout.next(strikeout); + }; + /** + * @param {?} align + * @return {?} + */ + FormattingService.prototype.changeFormatAlign = /** + * @param {?} align + * @return {?} + */ + function (align) { + this._observerAlign.next(align); + }; + /** + * @param {?} list + * @return {?} + */ + FormattingService.prototype.changeFormatList = /** + * @param {?} list + * @return {?} + */ + function (list) { + this._observerList.next(list); + }; + return FormattingService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerBold; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatBoldChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerUnderline; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatUnderlineChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerUndo; + /** + * @type {?} + * @private + */ + FormattingService.prototype._undo; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerRedo; + /** + * @type {?} + * @private + */ + FormattingService.prototype._redo; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerItalic; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatItalicChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerColor; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatColorChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerBgColor; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatBgColorChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerFontSize; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatFontSizeChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerFont; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatFontChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerStrikeout; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatStrikeoutChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerAlign; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatAlignChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerList; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatListChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var DEFAULT_COLORS = [ - '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF', - '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF', - '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC', - '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD', - '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0', - '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79', - '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47', - '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030', - ]; - var ColorPickerComponent = /** @class */ (function () { - function ColorPickerComponent() { - this.isOpen = false; - this.selectedColor = new core.EventEmitter(); - this.closeOutside = new core.EventEmitter(); - this.colors = DEFAULT_COLORS; - this.white = '#FFFFFF'; - } - /** - * @return {?} - */ - ColorPickerComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} $event - * @param {?} color - * @return {?} - */ - ColorPickerComponent.prototype.select = /** - * @param {?} $event - * @param {?} color - * @return {?} - */ - function ($event, color) { - $event.preventDefault(); - $event.stopPropagation(); - this.selectedColor.emit(color); - }; - /** - * @return {?} - */ - ColorPickerComponent.prototype.close = /** - * @return {?} - */ - function () { - this.isOpen = false; - this.closeOutside.emit(true); - }; - ColorPickerComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-color-picker', - template: "
\n
\n
\n
\n
\n", - styles: [".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"] - }] } - ]; - /** @nocollapse */ - ColorPickerComponent.ctorParameters = function () { return []; }; - ColorPickerComponent.propDecorators = { - isOpen: [{ type: core.Input }], - selectedColor: [{ type: core.Output }], - closeOutside: [{ type: core.Output }] - }; - return ColorPickerComponent; - }()); - if (false) { - /** @type {?} */ - ColorPickerComponent.prototype.isOpen; - /** @type {?} */ - ColorPickerComponent.prototype.selectedColor; - /** @type {?} */ - ColorPickerComponent.prototype.closeOutside; - /** @type {?} */ - ColorPickerComponent.prototype.colors; - /** @type {?} */ - ColorPickerComponent.prototype.white; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var DEFAULT_COLORS = [ + '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF', + '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF', + '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC', + '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD', + '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0', + '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79', + '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47', + '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030', + ]; + var ColorPickerComponent = /** @class */ (function () { + function ColorPickerComponent() { + this.isOpen = false; + this.selectedColor = new core.EventEmitter(); + this.closeOutside = new core.EventEmitter(); + this.colors = DEFAULT_COLORS; + this.white = '#FFFFFF'; + } + /** + * @return {?} + */ + ColorPickerComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} $event + * @param {?} color + * @return {?} + */ + ColorPickerComponent.prototype.select = /** + * @param {?} $event + * @param {?} color + * @return {?} + */ + function ($event, color) { + $event.preventDefault(); + $event.stopPropagation(); + this.selectedColor.emit(color); + }; + /** + * @return {?} + */ + ColorPickerComponent.prototype.close = /** + * @return {?} + */ + function () { + this.isOpen = false; + this.closeOutside.emit(true); + }; + ColorPickerComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-color-picker', + template: "
\r\n
\r\n
\r\n
\r\n
\r\n", + styles: [".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display: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; - }()); - if (false) { - /** @type {?} */ - SelectionService.prototype.selection; - /** @type {?} */ - SelectionService.prototype.isIE; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SelectionService = /** @class */ (function () { + function SelectionService() { + this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + } + /** + * @return {?} + */ + SelectionService.prototype.restoreSelection = /** + * @return {?} + */ + function () { + if (this.selection && !this.selection.collapsed || this.isIE) { + this.putSelection(this.selection); + } + }; + /** + * @return {?} + */ + SelectionService.prototype.captureSelection = /** + * @return {?} + */ + function () { + /** @type {?} */ + var selection = window.getSelection(); + if (selection.rangeCount > 0) { + this.selection = selection.getRangeAt(0); + } + }; + /** + * @private + * @param {?} selection + * @return {?} + */ + SelectionService.prototype.putSelection = /** + * @private + * @param {?} selection + * @return {?} + */ + function (selection) { + /** @type {?} */ + var sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(selection.cloneRange()); + }; + /** + * @return {?} + */ + SelectionService.prototype.refreshSelection = /** + * @return {?} + */ + function () { + this.captureSelection(); + this.restoreSelection(); + }; + SelectionService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ SelectionService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function SelectionService_Factory() { return new SelectionService(); }, token: SelectionService, providedIn: "root" }); + return SelectionService; + }()); + if (false) { + /** @type {?} */ + SelectionService.prototype.selection; + /** @type {?} */ + SelectionService.prototype.isIE; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$7 = jquery; - var FormattingDirective = /** @class */ (function () { - function FormattingDirective(_formattingService, _backFormattingService, _selectionService) { - this._formattingService = _formattingService; - this._backFormattingService = _backFormattingService; - this._selectionService = _selectionService; - this.bold = false; - this.italic = false; - this.underline = false; - this.strikeout = false; - this.isIE = false; - this.isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); - } - /** - * @return {?} - */ - FormattingDirective.prototype.mouseup = /** - * @return {?} - */ - function () { - this.bold = document.queryCommandState("bold"); - this.strikeout = document.queryCommandState("strikeThrough"); - this.italic = document.queryCommandState("italic"); - this.bgColor = document.queryCommandValue("backColor"); - this.underline = document.queryCommandState("underline"); - this.align = this.checkJustify(); - this.list = this.checkList(); - //fix required by FireFox to get correct background color - if (this.bgColor === "transparent") { - this.bgColor = $$7(window.getSelection().focusNode.parentNode).css('background-color').toString(); - } - this.font = document.queryCommandValue("FontName").replace(/"/g, ''); - if (this.font.split(",").length > 1) { - this.font = this.font.split(",")[0]; - } - this.color = document.queryCommandValue("foreColor"); - this._backFormattingService.changeFormatBold(this.bold); - this._backFormattingService.changeFormatUnderline(this.underline); - this._backFormattingService.changeFormatItalic(this.italic); - this._backFormattingService.changeFormatColor(this.color); - this._backFormattingService.changeFormatBgColor(this.bgColor); - this._backFormattingService.changeFormatFontSize(this.reportFontSize()); - this._backFormattingService.changeFormatFont(this.font); - this._backFormattingService.changeFormatStrikeout(this.strikeout); - this._backFormattingService.changeFormatAlign(this.align); - this._backFormattingService.changeFormatList(this.list); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.checkJustify = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var align = ""; - align = document.queryCommandState("justifyCenter") ? "center" : align; - align = document.queryCommandState("justifyFull") ? "full" : align; - align = document.queryCommandState("justifyLeft") ? "left" : align; - align = document.queryCommandState("justifyRight") ? "right" : align; - return align; - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.checkList = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var list = ""; - list = document.queryCommandState("insertUnorderedList") ? "unordered" : list; - list = document.queryCommandState("insertOrderedList") ? "ordered" : list; - return list; - }; - /** - * @return {?} - */ - FormattingDirective.prototype.reportFontSize = /** - * @return {?} - */ - function () { - /** @type {?} */ - var containerEl; - /** @type {?} */ - var sel; - if (window.getSelection) { - sel = window.getSelection(); - if (sel.rangeCount) { - containerEl = sel.getRangeAt(0).commonAncestorContainer; - // Make sure we have an element rather than a text node - if (containerEl.nodeType === 3) { - containerEl = containerEl.parentNode; - } - } - } - else if ((sel = document.getSelection()) && sel.type !== "Control") { - containerEl = sel.createRange().parentElement(); - } - if (containerEl) { - return parseInt(this.getComputedStyleProperty(containerEl, "fontSize").replace("px", ""), 10); - } - }; - /** - * @param {?} el - * @param {?} propName - * @return {?} - */ - FormattingDirective.prototype.getComputedStyleProperty = /** - * @param {?} el - * @param {?} propName - * @return {?} - */ - function (el, propName) { - if (window.getComputedStyle) { - return window.getComputedStyle(el, null)[propName]; - } - else if (el.currentStyle) { - return el.currentStyle[propName]; - } - }; - /** - * @return {?} - */ - FormattingDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - var _this = this; - this._formattingService.undo.subscribe((/** - * @return {?} - */ - function () { - _this.toggleUndo(); - })); - this._formattingService.redo.subscribe((/** - * @return {?} - */ - function () { - _this.toggleRedo(); - })); - this._formattingService.formatBoldChange.subscribe((/** - * @param {?} bold - * @return {?} - */ - function (bold) { - _this.bold = bold; - _this.toggleBold(); - })); - this._formattingService.formatUnderlineChange.subscribe((/** - * @param {?} underline - * @return {?} - */ - function (underline) { - _this.underline = underline; - _this.toggleUnderline(); - })); - this._formattingService.formatItalicChange.subscribe((/** - * @param {?} italic - * @return {?} - */ - function (italic) { - _this.italic = italic; - _this.toggleItalic(); - })); - this._formattingService.formatColorChange.subscribe(((/** - * @param {?} color - * @return {?} - */ - function (color) { - _this.color = color; - _this.setColor(color); - }))); - this._formattingService.formatBgColorChange.subscribe(((/** - * @param {?} bgcolor - * @return {?} - */ - function (bgcolor) { - _this.bgColor = bgcolor; - _this.setBgColor(bgcolor); - }))); - this._formattingService.formatFontSizeChange.subscribe(((/** - * @param {?} fontSize - * @return {?} - */ - function (fontSize) { - _this.setFontSize(fontSize); - }))); - this._formattingService.formatFontChange.subscribe(((/** - * @param {?} font - * @return {?} - */ - function (font) { - _this.font = font; - _this.setFont(font); - }))); - this._formattingService.formatStrikeoutChange.subscribe((/** - * @param {?} strikeout - * @return {?} - */ - function (strikeout) { - _this.strikeout = strikeout; - _this.toggleStrikeout(); - })); - this._formattingService.formatAlignChange.subscribe((/** - * @param {?} align - * @return {?} - */ - function (align) { - _this.align = align; - _this.toggleAlign(_this.align); - })); - this._formattingService.formatListChange.subscribe((/** - * @param {?} list - * @return {?} - */ - function (list) { - /** @type {?} */ - var remove = _this.list === list; - _this.list = list; - _this.toggleList(_this.list, remove); - })); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleBold = /** - * @private - * @return {?} - */ - function () { - document.execCommand("bold"); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleUnderline = /** - * @private - * @return {?} - */ - function () { - document.execCommand("underline"); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleItalic = /** - * @private - * @return {?} - */ - function () { - document.execCommand("italic"); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} bgColor - * @return {?} - */ - FormattingDirective.prototype.setBgColor = /** - * @private - * @param {?} bgColor - * @return {?} - */ - function (bgColor) { - document.execCommand("backColor", false, bgColor); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} color - * @return {?} - */ - FormattingDirective.prototype.setColor = /** - * @private - * @param {?} color - * @return {?} - */ - function (color) { - document.execCommand("foreColor", false, color); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} fontSize - * @return {?} - */ - FormattingDirective.prototype.setFontSize = /** - * @private - * @param {?} fontSize - * @return {?} - */ - function (fontSize) { - if (document.getSelection().toString()) { - /** @type {?} */ - var spanString = "" + - document.getSelection() + ""; - if (this.bold) { - spanString = "" + spanString + ""; - } - if (this.italic) { - spanString = "" + spanString + ""; - } - if (this.underline) { - spanString = "" + spanString + ""; - } - if (this.strikeout) { - spanString = "" + spanString + ""; - } - document.execCommand('insertHTML', false, spanString); - } - else { - document.execCommand("fontsize", false, "7"); - } - this._selectionService.refreshSelection(); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleUndo = /** - * @private - * @return {?} - */ - function () { - document.execCommand("undo"); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleRedo = /** - * @private - * @return {?} - */ - function () { - document.execCommand("redo"); - }; - /** - * @private - * @param {?} font - * @return {?} - */ - FormattingDirective.prototype.setFont = /** - * @private - * @param {?} font - * @return {?} - */ - function (font) { - document.execCommand("fontName", false, font); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleStrikeout = /** - * @private - * @return {?} - */ - function () { - document.execCommand("strikeThrough"); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} align - * @return {?} - */ - FormattingDirective.prototype.toggleAlign = /** - * @private - * @param {?} align - * @return {?} - */ - function (align) { - if (this.isIE) { - this.toggleAlignIE(align); - return; - } - document.execCommand("styleWithCSS", false, 'true'); - switch (align) { - case 'center': - document.execCommand('justifyCenter'); - break; - case 'full': - document.execCommand('justifyFull'); - break; - case 'left': - document.execCommand('justifyLeft'); - break; - case 'right': - document.execCommand('justifyRight'); - break; - } - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} align - * @return {?} - */ - FormattingDirective.prototype.toggleAlignIE = /** - * @private - * @param {?} align - * @return {?} - */ - function (align) { - this._selectionService.restoreSelection(); - this._selectionService.captureSelection(); - /** @type {?} */ - var selection = window.getSelection().focusNode.parentNode.parentNode; - if (align === "full") { - align = "justify"; - } - $$7(selection).css("text-align", align); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} list - * @param {?} remove - * @return {?} - */ - FormattingDirective.prototype.toggleList = /** - * @private - * @param {?} list - * @param {?} remove - * @return {?} - */ - function (list, remove) { - switch (list) { - case 'unordered': - document.execCommand('insertUnorderedList', remove); - break; - case 'ordered': - document.execCommand('insertOrderedList', remove); - break; - } - this._selectionService.refreshSelection(); - }; - FormattingDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdFormatting]' - },] } - ]; - /** @nocollapse */ - FormattingDirective.ctorParameters = function () { return [ - { type: FormattingService }, - { type: BackFormattingService }, - { type: SelectionService } - ]; }; - FormattingDirective.propDecorators = { - mouseup: [{ type: core.HostListener, args: ['mouseup',] }] - }; - return FormattingDirective; - }()); - if (false) { - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.bold; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.italic; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.underline; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.color; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.bgColor; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.font; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.strikeout; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.align; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.list; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.isIE; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype._formattingService; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype._backFormattingService; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype._selectionService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$7 = jquery; + var FormattingDirective = /** @class */ (function () { + function FormattingDirective(_formattingService, _backFormattingService, _selectionService) { + this._formattingService = _formattingService; + this._backFormattingService = _backFormattingService; + this._selectionService = _selectionService; + this.bold = false; + this.italic = false; + this.underline = false; + this.strikeout = false; + this.isIE = false; + this.isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + } + /** + * @return {?} + */ + FormattingDirective.prototype.mouseup = /** + * @return {?} + */ + function () { + this.bold = document.queryCommandState("bold"); + this.strikeout = document.queryCommandState("strikeThrough"); + this.italic = document.queryCommandState("italic"); + this.bgColor = document.queryCommandValue("backColor"); + this.underline = document.queryCommandState("underline"); + this.align = this.checkJustify(); + this.list = this.checkList(); + //fix required by FireFox to get correct background color + if (this.bgColor === "transparent") { + this.bgColor = $$7(window.getSelection().focusNode.parentNode).css('background-color').toString(); + } + this.font = document.queryCommandValue("FontName").replace(/"/g, ''); + if (this.font.split(",").length > 1) { + this.font = this.font.split(",")[0]; + } + this.color = document.queryCommandValue("foreColor"); + this._backFormattingService.changeFormatBold(this.bold); + this._backFormattingService.changeFormatUnderline(this.underline); + this._backFormattingService.changeFormatItalic(this.italic); + this._backFormattingService.changeFormatColor(this.color); + this._backFormattingService.changeFormatBgColor(this.bgColor); + this._backFormattingService.changeFormatFontSize(this.reportFontSize()); + this._backFormattingService.changeFormatFont(this.font); + this._backFormattingService.changeFormatStrikeout(this.strikeout); + this._backFormattingService.changeFormatAlign(this.align); + this._backFormattingService.changeFormatList(this.list); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.checkJustify = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var align = ""; + align = document.queryCommandState("justifyCenter") ? "center" : align; + align = document.queryCommandState("justifyFull") ? "full" : align; + align = document.queryCommandState("justifyLeft") ? "left" : align; + align = document.queryCommandState("justifyRight") ? "right" : align; + return align; + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.checkList = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var list = ""; + list = document.queryCommandState("insertUnorderedList") ? "unordered" : list; + list = document.queryCommandState("insertOrderedList") ? "ordered" : list; + return list; + }; + /** + * @return {?} + */ + FormattingDirective.prototype.reportFontSize = /** + * @return {?} + */ + function () { + /** @type {?} */ + var containerEl; + /** @type {?} */ + var sel; + if (window.getSelection) { + sel = window.getSelection(); + if (sel.rangeCount) { + containerEl = sel.getRangeAt(0).commonAncestorContainer; + // Make sure we have an element rather than a text node + if (containerEl.nodeType === 3) { + containerEl = containerEl.parentNode; + } + } + } + else if ((sel = document.getSelection()) && sel.type !== "Control") { + containerEl = sel.createRange().parentElement(); + } + if (containerEl) { + return parseInt(this.getComputedStyleProperty(containerEl, "fontSize").replace("px", ""), 10); + } + }; + /** + * @param {?} el + * @param {?} propName + * @return {?} + */ + FormattingDirective.prototype.getComputedStyleProperty = /** + * @param {?} el + * @param {?} propName + * @return {?} + */ + function (el, propName) { + if (window.getComputedStyle) { + return window.getComputedStyle(el, null)[propName]; + } + else if (el.currentStyle) { + return el.currentStyle[propName]; + } + }; + /** + * @return {?} + */ + FormattingDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + this._formattingService.undo.subscribe((/** + * @return {?} + */ + function () { + _this.toggleUndo(); + })); + this._formattingService.redo.subscribe((/** + * @return {?} + */ + function () { + _this.toggleRedo(); + })); + this._formattingService.formatBoldChange.subscribe((/** + * @param {?} bold + * @return {?} + */ + function (bold) { + _this.bold = bold; + _this.toggleBold(); + })); + this._formattingService.formatUnderlineChange.subscribe((/** + * @param {?} underline + * @return {?} + */ + function (underline) { + _this.underline = underline; + _this.toggleUnderline(); + })); + this._formattingService.formatItalicChange.subscribe((/** + * @param {?} italic + * @return {?} + */ + function (italic) { + _this.italic = italic; + _this.toggleItalic(); + })); + this._formattingService.formatColorChange.subscribe(((/** + * @param {?} color + * @return {?} + */ + function (color) { + _this.color = color; + _this.setColor(color); + }))); + this._formattingService.formatBgColorChange.subscribe(((/** + * @param {?} bgcolor + * @return {?} + */ + function (bgcolor) { + _this.bgColor = bgcolor; + _this.setBgColor(bgcolor); + }))); + this._formattingService.formatFontSizeChange.subscribe(((/** + * @param {?} fontSize + * @return {?} + */ + function (fontSize) { + _this.setFontSize(fontSize); + }))); + this._formattingService.formatFontChange.subscribe(((/** + * @param {?} font + * @return {?} + */ + function (font) { + _this.font = font; + _this.setFont(font); + }))); + this._formattingService.formatStrikeoutChange.subscribe((/** + * @param {?} strikeout + * @return {?} + */ + function (strikeout) { + _this.strikeout = strikeout; + _this.toggleStrikeout(); + })); + this._formattingService.formatAlignChange.subscribe((/** + * @param {?} align + * @return {?} + */ + function (align) { + _this.align = align; + _this.toggleAlign(_this.align); + })); + this._formattingService.formatListChange.subscribe((/** + * @param {?} list + * @return {?} + */ + function (list) { + /** @type {?} */ + var remove = _this.list === list; + _this.list = list; + _this.toggleList(_this.list, remove); + })); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleBold = /** + * @private + * @return {?} + */ + function () { + document.execCommand("bold"); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleUnderline = /** + * @private + * @return {?} + */ + function () { + document.execCommand("underline"); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleItalic = /** + * @private + * @return {?} + */ + function () { + document.execCommand("italic"); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} bgColor + * @return {?} + */ + FormattingDirective.prototype.setBgColor = /** + * @private + * @param {?} bgColor + * @return {?} + */ + function (bgColor) { + document.execCommand("backColor", false, bgColor); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} color + * @return {?} + */ + FormattingDirective.prototype.setColor = /** + * @private + * @param {?} color + * @return {?} + */ + function (color) { + document.execCommand("foreColor", false, color); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} fontSize + * @return {?} + */ + FormattingDirective.prototype.setFontSize = /** + * @private + * @param {?} fontSize + * @return {?} + */ + function (fontSize) { + if (document.getSelection().toString()) { + /** @type {?} */ + var spanString = "" + + document.getSelection() + ""; + if (this.bold) { + spanString = "" + spanString + ""; + } + if (this.italic) { + spanString = "" + spanString + ""; + } + if (this.underline) { + spanString = "" + spanString + ""; + } + if (this.strikeout) { + spanString = "" + spanString + ""; + } + document.execCommand('insertHTML', false, spanString); + } + else { + document.execCommand("fontsize", false, "7"); + } + this._selectionService.refreshSelection(); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleUndo = /** + * @private + * @return {?} + */ + function () { + document.execCommand("undo"); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleRedo = /** + * @private + * @return {?} + */ + function () { + document.execCommand("redo"); + }; + /** + * @private + * @param {?} font + * @return {?} + */ + FormattingDirective.prototype.setFont = /** + * @private + * @param {?} font + * @return {?} + */ + function (font) { + document.execCommand("fontName", false, font); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleStrikeout = /** + * @private + * @return {?} + */ + function () { + document.execCommand("strikeThrough"); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} align + * @return {?} + */ + FormattingDirective.prototype.toggleAlign = /** + * @private + * @param {?} align + * @return {?} + */ + function (align) { + if (this.isIE) { + this.toggleAlignIE(align); + return; + } + document.execCommand("styleWithCSS", false, 'true'); + switch (align) { + case 'center': + document.execCommand('justifyCenter'); + break; + case 'full': + document.execCommand('justifyFull'); + break; + case 'left': + document.execCommand('justifyLeft'); + break; + case 'right': + document.execCommand('justifyRight'); + break; + } + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} align + * @return {?} + */ + FormattingDirective.prototype.toggleAlignIE = /** + * @private + * @param {?} align + * @return {?} + */ + function (align) { + this._selectionService.restoreSelection(); + this._selectionService.captureSelection(); + /** @type {?} */ + var selection = window.getSelection().focusNode.parentNode.parentNode; + if (align === "full") { + align = "justify"; + } + $$7(selection).css("text-align", align); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} list + * @param {?} remove + * @return {?} + */ + FormattingDirective.prototype.toggleList = /** + * @private + * @param {?} list + * @param {?} remove + * @return {?} + */ + function (list, remove) { + switch (list) { + case 'unordered': + document.execCommand('insertUnorderedList', remove); + break; + case 'ordered': + document.execCommand('insertOrderedList', remove); + break; + } + this._selectionService.refreshSelection(); + }; + FormattingDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdFormatting]' + },] } + ]; + /** @nocollapse */ + FormattingDirective.ctorParameters = function () { return [ + { type: FormattingService }, + { type: BackFormattingService }, + { type: SelectionService } + ]; }; + FormattingDirective.propDecorators = { + mouseup: [{ type: core.HostListener, args: ['mouseup',] }] + }; + return FormattingDirective; + }()); + if (false) { + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.bold; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.italic; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.underline; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.color; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.bgColor; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.font; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.strikeout; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.align; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.list; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.isIE; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype._formattingService; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype._backFormattingService; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype._selectionService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SuccessModalComponent = /** @class */ (function () { - function SuccessModalComponent() { - } - /** - * @return {?} - */ - SuccessModalComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - SuccessModalComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-success-modal', - template: "\n
\n
\n \n \n
\n
\n
\n
\n
\n", - styles: [".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"] - }] } - ]; - /** @nocollapse */ - SuccessModalComponent.ctorParameters = function () { return []; }; - return SuccessModalComponent; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SuccessModalComponent = /** @class */ (function () { + function SuccessModalComponent() { + } + /** + * @return {?} + */ + SuccessModalComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + SuccessModalComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-success-modal', + template: "\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n", + styles: [".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display: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; - }()); - if (false) { - /** - * @type {?} - * @private - */ - EditHtmlService.prototype._observer; - /** - * @type {?} - * @private - */ - EditHtmlService.prototype._htmlContent; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var EditHtmlService = /** @class */ (function () { + function EditHtmlService() { + this._observer = new rxjs.Subject(); + this._htmlContent = this._observer.asObservable(); + } + Object.defineProperty(EditHtmlService.prototype, "observer", { + get: /** + * @return {?} + */ + function () { + return this._observer; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EditHtmlService.prototype, "htmlContent", { + get: /** + * @return {?} + */ + function () { + return this._htmlContent; + }, + enumerable: true, + configurable: true + }); + EditHtmlService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + EditHtmlService.ctorParameters = function () { return []; }; + /** @nocollapse */ EditHtmlService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function EditHtmlService_Factory() { return new EditHtmlService(); }, token: EditHtmlService, providedIn: "root" }); + return EditHtmlService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + EditHtmlService.prototype._observer; + /** + * @type {?} + * @private + */ + EditHtmlService.prototype._htmlContent; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var EditorDirective = /** @class */ (function () { - function EditorDirective(_selectionService, _htmlService) { - this._selectionService = _selectionService; - this._htmlService = _htmlService; - this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); - } - /** - * @param {?} event - * @return {?} - */ - EditorDirective.prototype.onInput = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.text = event.target; - if (this.isIE) { - if (this.text.innerHTML) { - /** @type {?} */ - var html = this.text.innerHTML.toString(); - this._htmlService.observer.next(html); - } - } - }; - /** - * @param {?} event - * @return {?} - */ - EditorDirective.prototype.onMouseleave = /** - * @param {?} event - * @return {?} - */ - function (event) { - this._selectionService.captureSelection(); - // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here - if (this.isIE) { - this._htmlService.observer.next(event.target.innerHTML.toString()); - } - }; - /** - * @param {?} event - * @return {?} - */ - EditorDirective.prototype.onBlur = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.preventDefault(); - this._selectionService.restoreSelection(); - if (this.text.innerHTML) { - /** @type {?} */ - var html = this.text.innerHTML.toString(); - this._htmlService.observer.next(html); - } - else { - this._htmlService.observer.next(event.target.innerHTML.toString()); - } - }; - EditorDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdEditor]' - },] } - ]; - /** @nocollapse */ - EditorDirective.ctorParameters = function () { return [ - { type: SelectionService }, - { type: EditHtmlService } - ]; }; - EditorDirective.propDecorators = { - text: [{ type: core.Input }], - onInput: [{ type: core.HostListener, args: ['keyup', ['$event'],] }], - onMouseleave: [{ type: core.HostListener, args: ['mouseleave', ['$event'],] }], - onBlur: [{ type: core.HostListener, args: ['blur', ['$event'],] }] - }; - return EditorDirective; - }()); - if (false) { - /** @type {?} */ - EditorDirective.prototype.text; - /** - * @type {?} - * @private - */ - EditorDirective.prototype.isIE; - /** - * @type {?} - * @private - */ - EditorDirective.prototype._selectionService; - /** - * @type {?} - * @private - */ - EditorDirective.prototype._htmlService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var EditorDirective = /** @class */ (function () { + function EditorDirective(_selectionService, _htmlService) { + this._selectionService = _selectionService; + this._htmlService = _htmlService; + this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + } + /** + * @param {?} event + * @return {?} + */ + EditorDirective.prototype.onInput = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.text = event.target; + if (this.isIE) { + if (this.text.innerHTML) { + /** @type {?} */ + var html = this.text.innerHTML.toString(); + this._htmlService.observer.next(html); + } + } + }; + /** + * @param {?} event + * @return {?} + */ + EditorDirective.prototype.onMouseleave = /** + * @param {?} event + * @return {?} + */ + function (event) { + this._selectionService.captureSelection(); + // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here + if (this.isIE) { + this._htmlService.observer.next(event.target.innerHTML.toString()); + } + }; + /** + * @param {?} event + * @return {?} + */ + EditorDirective.prototype.onBlur = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.preventDefault(); + this._selectionService.restoreSelection(); + if (this.text.innerHTML) { + /** @type {?} */ + var html = this.text.innerHTML.toString(); + this._htmlService.observer.next(html); + } + else { + this._htmlService.observer.next(event.target.innerHTML.toString()); + } + }; + EditorDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdEditor]' + },] } + ]; + /** @nocollapse */ + EditorDirective.ctorParameters = function () { return [ + { type: SelectionService }, + { type: EditHtmlService } + ]; }; + EditorDirective.propDecorators = { + text: [{ type: core.Input }], + onInput: [{ type: core.HostListener, args: ['keyup', ['$event'],] }], + onMouseleave: [{ type: core.HostListener, args: ['mouseleave', ['$event'],] }], + onBlur: [{ type: core.HostListener, args: ['blur', ['$event'],] }] + }; + return EditorDirective; + }()); + if (false) { + /** @type {?} */ + EditorDirective.prototype.text; + /** + * @type {?} + * @private + */ + EditorDirective.prototype.isIE; + /** + * @type {?} + * @private + */ + EditorDirective.prototype._selectionService; + /** + * @type {?} + * @private + */ + EditorDirective.prototype._htmlService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LoadingMaskService = /** @class */ (function () { - function LoadingMaskService() { - this.onLoadingChanged = new core.EventEmitter(); - this.stopList = []; - this.requests = []; - this.stopList.push(Api.SAVE_TEXT); - this.stopList.push(Api.SAVE_OPTICAL_CODE); - this.stopList.push(Api.LOAD_DOCUMENT_PAGE); - this.stopList.push(Api.LOAD_THUMBNAILS); - this.stopList.push(Api.GET_FILE_STATUS); - } - /** - * @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 LoadingMaskService = /** @class */ (function () { + function LoadingMaskService() { + this.onLoadingChanged = new core.EventEmitter(); + this.stopList = []; + this.requests = []; + this.stopList.push(Api.SAVE_TEXT); + this.stopList.push(Api.SAVE_OPTICAL_CODE); + this.stopList.push(Api.LOAD_DOCUMENT_PAGE); + this.stopList.push(Api.LOAD_THUMBNAILS); + this.stopList.push(Api.GET_FILE_STATUS); + } + /** + * @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; - }()); - if (false) { - /** @type {?} */ - LoadingMaskComponent.prototype.loadingMask; - /** - * @type {?} - * @private - */ - LoadingMaskComponent.prototype._loadingMaskService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LoadingMaskComponent = /** @class */ (function () { + function LoadingMaskComponent(_loadingMaskService) { + this._loadingMaskService = _loadingMaskService; + this.loadingMask = false; + } + /** + * @return {?} + */ + LoadingMaskComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + LoadingMaskComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this._loadingMaskService + .onLoadingChanged + .subscribe((/** + * @param {?} loading + * @return {?} + */ + function (loading) { return _this.loadingMask = loading; })); + }; + LoadingMaskComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-loading-mask', + template: "
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n", + styles: [".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}"] + }] } + ]; + /** @nocollapse */ + LoadingMaskComponent.ctorParameters = function () { return [ + { type: LoadingMaskService } + ]; }; + LoadingMaskComponent.propDecorators = { + loadingMask: [{ type: core.Input }] + }; + return LoadingMaskComponent; + }()); + if (false) { + /** @type {?} */ + LoadingMaskComponent.prototype.loadingMask; + /** + * @type {?} + * @private + */ + LoadingMaskComponent.prototype._loadingMaskService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LoadingMaskInterceptorService = /** @class */ (function () { - function LoadingMaskInterceptorService(_loadingMaskService) { - this._loadingMaskService = _loadingMaskService; - } - /** - * @param {?} req - * @param {?} next - * @return {?} - */ - LoadingMaskInterceptorService.prototype.intercept = /** - * @param {?} req - * @param {?} next - * @return {?} - */ - function (req, next) { - var _this = this; - this._loadingMaskService.onRequestStart(req); - /** @type {?} */ - var callback = (/** - * @return {?} - */ - function () { return _this._loadingMaskService.onRequestFinish(req); }); - return next.handle(req).pipe(operators.finalize(callback)); - }; - LoadingMaskInterceptorService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - LoadingMaskInterceptorService.ctorParameters = function () { return [ - { type: LoadingMaskService } - ]; }; - /** @nocollapse */ LoadingMaskInterceptorService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function LoadingMaskInterceptorService_Factory() { return new LoadingMaskInterceptorService(core.ɵɵinject(LoadingMaskService)); }, token: LoadingMaskInterceptorService, providedIn: "root" }); - return LoadingMaskInterceptorService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - LoadingMaskInterceptorService.prototype._loadingMaskService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LoadingMaskInterceptorService = /** @class */ (function () { + function LoadingMaskInterceptorService(_loadingMaskService) { + this._loadingMaskService = _loadingMaskService; + } + /** + * @param {?} req + * @param {?} next + * @return {?} + */ + LoadingMaskInterceptorService.prototype.intercept = /** + * @param {?} req + * @param {?} next + * @return {?} + */ + function (req, next) { + var _this = this; + this._loadingMaskService.onRequestStart(req); + /** @type {?} */ + var callback = (/** + * @return {?} + */ + function () { return _this._loadingMaskService.onRequestFinish(req); }); + return next.handle(req).pipe(operators.finalize(callback)); + }; + LoadingMaskInterceptorService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + LoadingMaskInterceptorService.ctorParameters = function () { return [ + { type: LoadingMaskService } + ]; }; + /** @nocollapse */ LoadingMaskInterceptorService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function LoadingMaskInterceptorService_Factory() { return new LoadingMaskInterceptorService(core.ɵɵinject(LoadingMaskService)); }, token: LoadingMaskInterceptorService, providedIn: "root" }); + return LoadingMaskInterceptorService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + LoadingMaskInterceptorService.prototype._loadingMaskService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var horizontalAlignment = { - center: { - right: 'auto' - }, - left: { - right: '100%' - }, - right: { - right: '-100%' - } - }; - /** @type {?} */ - var verticalAlignment = { - center: { - top: '0px', - }, - top: { - top: '-100%', - right: '100%' - }, - bottom: { - top: 'autos' - } - }; - /** - * DropDownToggleComponent - */ - var DropDownToggleComponent = /** @class */ (function () { - function DropDownToggleComponent(dropdown) { - var _this = this; - this.dropdown = dropdown; - this.click = (/** - * @param {?} event - * @return {?} - */ - function (event) { return _this.dropdown.toggle(event); }); - } - DropDownToggleComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-drop-down-toggle', - template: '', - encapsulation: core.ViewEncapsulation.None, - styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] - }] } - ]; - /** @nocollapse */ - DropDownToggleComponent.ctorParameters = function () { return [ - { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** - * @return {?} - */ - function () { return DropDownComponent; })),] }] } - ]; }; - DropDownToggleComponent.propDecorators = { - click: [{ type: core.HostListener, args: ['click', ['$event'],] }] - }; - return DropDownToggleComponent; - }()); - if (false) { - /** @type {?} */ - DropDownToggleComponent.prototype.click; - /** @type {?} */ - DropDownToggleComponent.prototype.dropdown; - } - /** - * DropDownItemsComponent - */ - var DropDownItemsComponent = /** @class */ (function () { - function DropDownItemsComponent(dropdown) { - this.dropdown = dropdown; - } - Object.defineProperty(DropDownItemsComponent.prototype, "horizontalAlign", { - get: /** - * @return {?} - */ - function () { - return horizontalAlignment[this.dropdown.getPlacement().h].right; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DropDownItemsComponent.prototype, "verticalAlign", { - get: /** - * @return {?} - */ - function () { - return verticalAlignment[this.dropdown.getPlacement().v].top; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DropDownItemsComponent.prototype, "isOpen", { - get: /** - * @return {?} - */ - function () { - return this.dropdown.open; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} event - * @return {?} - */ - DropDownItemsComponent.prototype.onClickOutside = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.dropdown.close(); - }; - DropDownItemsComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-drop-down-items', - template: '', - encapsulation: core.ViewEncapsulation.None, - styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] - }] } - ]; - /** @nocollapse */ - DropDownItemsComponent.ctorParameters = function () { return [ - { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** - * @return {?} - */ - function () { return DropDownComponent; })),] }] } - ]; }; - return DropDownItemsComponent; - }()); - if (false) { - /** @type {?} */ - DropDownItemsComponent.prototype.dropdown; - } - /** - * DropDownItemComponent - */ - var DropDownItemComponent = /** @class */ (function () { - function DropDownItemComponent(dropdown) { - var _this = this; - this.dropdown = dropdown; - this.class = 'drop-down-item'; - this.selected = new core.EventEmitter(); - this.click = (/** - * @return {?} - */ - function () { return _this.selectEntry(); }); - } - /** - * @return {?} - */ - DropDownItemComponent.prototype.selectEntry = /** - * @return {?} - */ - function () { - this.selected.next(); - this.dropdown.close(); - }; - DropDownItemComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-drop-down-item', - template: '', - styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] - }] } - ]; - /** @nocollapse */ - DropDownItemComponent.ctorParameters = function () { return [ - { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** - * @return {?} - */ - function () { return DropDownComponent; })),] }] } - ]; }; - DropDownItemComponent.propDecorators = { - class: [{ type: core.HostBinding, args: ['class',] }], - selected: [{ type: core.Output }], - click: [{ type: core.HostListener, args: ['click',] }] - }; - return DropDownItemComponent; - }()); - if (false) { - /** @type {?} */ - DropDownItemComponent.prototype.class; - /** @type {?} */ - DropDownItemComponent.prototype.selected; - /** @type {?} */ - DropDownItemComponent.prototype.click; - /** @type {?} */ - DropDownItemComponent.prototype.dropdown; - } - /** - * DropDownComponent - */ - var DropDownComponent = /** @class */ (function () { - function DropDownComponent() { - this.placement = { - h: "center", - v: "bottom" - }; - this.open = false; - this.class = 'drop-down'; - } - /** - * @return {?} - */ - DropDownComponent.prototype.close = /** - * @return {?} - */ - function () { - this.open = false; - }; - /** - * @param {?} event - * @return {?} - */ - DropDownComponent.prototype.toggle = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.stopPropagation(); - this.open = !this.open; - document.body.click(); - }; - /** - * @return {?} - */ - DropDownComponent.prototype.getPlacement = /** - * @return {?} - */ - function () { - return this.placement; - }; - DropDownComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-drop-down', - template: '', - encapsulation: core.ViewEncapsulation.None, - styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] - }] } - ]; - DropDownComponent.propDecorators = { - placement: [{ type: core.Input }], - open: [{ type: core.Input }, { type: core.HostBinding, args: ['class.show',] }], - class: [{ type: core.HostBinding, args: ['class',] }] - }; - return DropDownComponent; - }()); - if (false) { - /** @type {?} */ - DropDownComponent.prototype.placement; - /** @type {?} */ - DropDownComponent.prototype.open; - /** @type {?} */ - DropDownComponent.prototype.class; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var horizontalAlignment = { + center: { + right: 'auto' + }, + left: { + right: '100%' + }, + right: { + right: '-100%' + } + }; + /** @type {?} */ + var verticalAlignment = { + center: { + top: '0px', + }, + top: { + top: '-100%', + right: '100%' + }, + bottom: { + top: 'autos' + } + }; + /** + * DropDownToggleComponent + */ + var DropDownToggleComponent = /** @class */ (function () { + function DropDownToggleComponent(dropdown) { + var _this = this; + this.dropdown = dropdown; + this.click = (/** + * @param {?} event + * @return {?} + */ + function (event) { return _this.dropdown.toggle(event); }); + } + DropDownToggleComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-drop-down-toggle', + template: '', + encapsulation: core.ViewEncapsulation.None, + styles: [".drop-down{position:relative}.show .drop-down-items{display: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; + }()); + 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: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; + }()); + 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: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; + }()); + 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: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; - }()); - if (false) { - /** @type {?} */ - LeftSideBarComponent.prototype.showSpinner; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LeftSideBarComponent = /** @class */ (function () { + function LeftSideBarComponent() { + this.showSpinner = false; + } + /** + * @return {?} + */ + LeftSideBarComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + LeftSideBarComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-left-side-bar', + template: "
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n", + styles: [".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;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; - }()); - if (false) { - /** @type {?} */ - TooltipDirective.prototype.showToolTip; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TooltipDirective = /** @class */ (function () { + function TooltipDirective() { + this.showToolTip = new core.EventEmitter(); + } + /** + * @return {?} + */ + TooltipDirective.prototype.onHovering = /** + * @return {?} + */ + function () { + this.showToolTip.emit(true); + }; + /** + * @return {?} + */ + TooltipDirective.prototype.onUnhovering = /** + * @return {?} + */ + function () { + this.showToolTip.emit(false); + }; + TooltipDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdTooltip]' + },] } + ]; + /** @nocollapse */ + TooltipDirective.ctorParameters = function () { return []; }; + TooltipDirective.propDecorators = { + showToolTip: [{ type: core.Output }], + onHovering: [{ type: core.HostListener, args: ['mouseenter',] }], + onUnhovering: [{ type: core.HostListener, args: ['mouseleave',] }] + }; + return TooltipDirective; + }()); + if (false) { + /** @type {?} */ + TooltipDirective.prototype.showToolTip; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var AddDynamicComponentService = /** @class */ (function () { - function AddDynamicComponentService(_factoryResolver, _appRef) { - this._factoryResolver = _factoryResolver; - this._appRef = _appRef; - } - /** - * @param {?} viewContainerRef - * @param {?} component - * @return {?} - */ - AddDynamicComponentService.prototype.addDynamicComponent = /** - * @param {?} viewContainerRef - * @param {?} component - * @return {?} - */ - function (viewContainerRef, component) { - var _this = this; - /** @type {?} */ - var factory = this._factoryResolver.resolveComponentFactory(component); - /** @type {?} */ - var componentRef = viewContainerRef.createComponent(factory); - componentRef.onDestroy((/** - * @return {?} - */ - function () { - _this._appRef.detachView(componentRef.hostView); - })); - return componentRef; - }; - AddDynamicComponentService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - AddDynamicComponentService.ctorParameters = function () { return [ - { type: core.ComponentFactoryResolver }, - { type: core.ApplicationRef } - ]; }; - /** @nocollapse */ AddDynamicComponentService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function AddDynamicComponentService_Factory() { return new AddDynamicComponentService(core.ɵɵinject(core.ComponentFactoryResolver), core.ɵɵinject(core.ApplicationRef)); }, token: AddDynamicComponentService, providedIn: "root" }); - return AddDynamicComponentService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - AddDynamicComponentService.prototype._factoryResolver; - /** - * @type {?} - * @private - */ - AddDynamicComponentService.prototype._appRef; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var AddDynamicComponentService = /** @class */ (function () { + function AddDynamicComponentService(_factoryResolver, _appRef) { + this._factoryResolver = _factoryResolver; + this._appRef = _appRef; + } + /** + * @param {?} viewContainerRef + * @param {?} component + * @return {?} + */ + AddDynamicComponentService.prototype.addDynamicComponent = /** + * @param {?} viewContainerRef + * @param {?} component + * @return {?} + */ + function (viewContainerRef, component) { + var _this = this; + /** @type {?} */ + var factory = this._factoryResolver.resolveComponentFactory(component); + /** @type {?} */ + var componentRef = viewContainerRef.createComponent(factory); + componentRef.onDestroy((/** + * @return {?} + */ + function () { + _this._appRef.detachView(componentRef.hostView); + })); + return componentRef; + }; + AddDynamicComponentService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + AddDynamicComponentService.ctorParameters = function () { return [ + { type: core.ComponentFactoryResolver }, + { type: core.ApplicationRef } + ]; }; + /** @nocollapse */ AddDynamicComponentService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function AddDynamicComponentService_Factory() { return new AddDynamicComponentService(core.ɵɵinject(core.ComponentFactoryResolver), core.ɵɵinject(core.ApplicationRef)); }, token: AddDynamicComponentService, providedIn: "root" }); + return AddDynamicComponentService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + AddDynamicComponentService.prototype._factoryResolver; + /** + * @type {?} + * @private + */ + AddDynamicComponentService.prototype._appRef; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var HostingDynamicComponentService = /** @class */ (function () { - function HostingDynamicComponentService() { - this.hosts = []; - } - /** - * @param {?} host - * @return {?} - */ - HostingDynamicComponentService.prototype.add = /** - * @param {?} host - * @return {?} - */ - function (host) { - this.hosts = this.hosts.filter((/** - * @param {?} h - * @return {?} - */ - function (h) { - return h.ident !== host.ident; - })); - this.hosts.push(host); - }; - /** - * @param {?} host - * @return {?} - */ - HostingDynamicComponentService.prototype.remove = /** - * @param {?} host - * @return {?} - */ - function (host) { - this.hosts = this.hosts.filter((/** - * @param {?} h - * @return {?} - */ - function (h) { - return h.ident !== host.ident; - })); - }; - /** - * @param {?} ident - * @return {?} - */ - HostingDynamicComponentService.prototype.find = /** - * @param {?} ident - * @return {?} - */ - function (ident) { - return this.hosts.find((/** - * @param {?} h - * @return {?} - */ - function (h) { - return h.ident === ident; - })); - }; - return HostingDynamicComponentService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - HostingDynamicComponentService.prototype.hosts; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var HostingDynamicComponentService = /** @class */ (function () { + function HostingDynamicComponentService() { + this.hosts = []; + } + /** + * @param {?} host + * @return {?} + */ + HostingDynamicComponentService.prototype.add = /** + * @param {?} host + * @return {?} + */ + function (host) { + this.hosts = this.hosts.filter((/** + * @param {?} h + * @return {?} + */ + function (h) { + return h.ident !== host.ident; + })); + this.hosts.push(host); + }; + /** + * @param {?} host + * @return {?} + */ + HostingDynamicComponentService.prototype.remove = /** + * @param {?} host + * @return {?} + */ + function (host) { + this.hosts = this.hosts.filter((/** + * @param {?} h + * @return {?} + */ + function (h) { + return h.ident !== host.ident; + })); + }; + /** + * @param {?} ident + * @return {?} + */ + HostingDynamicComponentService.prototype.find = /** + * @param {?} ident + * @return {?} + */ + function (ident) { + return this.hosts.find((/** + * @param {?} h + * @return {?} + */ + function (h) { + return h.ident === ident; + })); + }; + return HostingDynamicComponentService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + HostingDynamicComponentService.prototype.hosts; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var HostDynamicDirective = /** @class */ (function () { - function HostDynamicDirective(viewContainerRef, _hostingService) { - this.viewContainerRef = viewContainerRef; - this._hostingService = _hostingService; - } - /** - * @return {?} - */ - HostDynamicDirective.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - this._hostingService.add(this); - }; - /** - * @return {?} - */ - HostDynamicDirective.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { - this._hostingService.remove(this); - this.viewContainerRef.clear(); - }; - HostDynamicDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdHostDynamic]' - },] } - ]; - /** @nocollapse */ - HostDynamicDirective.ctorParameters = function () { return [ - { type: core.ViewContainerRef }, - { type: HostingDynamicComponentService } - ]; }; - HostDynamicDirective.propDecorators = { - ident: [{ type: core.Input }] - }; - return HostDynamicDirective; - }()); - if (false) { - /** @type {?} */ - HostDynamicDirective.prototype.ident; - /** @type {?} */ - HostDynamicDirective.prototype.viewContainerRef; - /** - * @type {?} - * @private - */ - HostDynamicDirective.prototype._hostingService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var HostDynamicDirective = /** @class */ (function () { + function HostDynamicDirective(viewContainerRef, _hostingService) { + this.viewContainerRef = viewContainerRef; + this._hostingService = _hostingService; + } + /** + * @return {?} + */ + HostDynamicDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + this._hostingService.add(this); + }; + /** + * @return {?} + */ + HostDynamicDirective.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { + this._hostingService.remove(this); + this.viewContainerRef.clear(); + }; + HostDynamicDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdHostDynamic]' + },] } + ]; + /** @nocollapse */ + HostDynamicDirective.ctorParameters = function () { return [ + { type: core.ViewContainerRef }, + { type: HostingDynamicComponentService } + ]; }; + HostDynamicDirective.propDecorators = { + ident: [{ type: core.Input }] + }; + return HostDynamicDirective; + }()); + if (false) { + /** @type {?} */ + HostDynamicDirective.prototype.ident; + /** @type {?} */ + HostDynamicDirective.prototype.viewContainerRef; + /** + * @type {?} + * @private + */ + HostDynamicDirective.prototype._hostingService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$8 = jquery; - var ResizingComponent = /** @class */ (function () { - function ResizingComponent() { - this.se = false; - this.ne = false; - this.sw = false; - this.nw = false; - this.SE = 'se'; - this.NE = 'ne'; - this.SW = 'sw'; - this.NW = 'nw'; - this.offsetX = new core.EventEmitter(); - this.offsetY = new core.EventEmitter(); - this.offsetTop = new core.EventEmitter(); - this.offsetLeft = new core.EventEmitter(); - this.release = new core.EventEmitter(); - this.grab = false; - } - /** - * @return {?} - */ - ResizingComponent.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - var _this = this; - /** @type {?} */ - var elSE = $$8(this.getElementId(this.SE)); - /** @type {?} */ - var elNW = $$8(this.getElementId(this.NW)); - if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) { - /** @type {?} */ - var width_1 = elSE.offset().left - elNW.offset().left; - /** @type {?} */ - var height_1 = elSE.offset().top - elNW.offset().top; - while (width_1 >= this.pageWidth || height_1 >= this.pageHeight) { - width_1 = width_1 / 2; - height_1 = height_1 / 2; - } - setTimeout((/** - * @return {?} - */ - function () { - _this.offsetX.emit(width_1); - _this.offsetY.emit(height_1); - }), 100); - } - }; - /** - * @return {?} - */ - ResizingComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} $event - * @return {?} - */ - ResizingComponent.prototype.catchUp = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - // ff - $event.preventDefault(); - if ($event.dataTransfer) { // ff - $event.dataTransfer.setData('text', 'foo'); - } - this.grab = true; - this.oldPosition = Utils.getMousePosition($event); - }; - /** - * @param {?} $event - * @param {?} el - * @return {?} - */ - ResizingComponent.prototype.resize = /** - * @param {?} $event - * @param {?} el - * @return {?} - */ - function ($event, el) { - if (!this.grab) { - return; - } - /** @type {?} */ - var position = Utils.getMousePosition($event); - if (position.x === 0 && position.y === 0) { - return; - } - /** @type {?} */ - var notSW = this.NE === el || this.NW === el; - /** @type {?} */ - var notNE = this.SW === el || this.NW === el; - this.setOffsets(position, notNE, notSW); - if (notSW) { - this.offsetTop.emit(position.y - this.oldPosition.y); - } - if (notNE) { - this.offsetLeft.emit(position.x - this.oldPosition.x); - } - this.oldPosition = position; - }; - /** - * @private - * @param {?} position - * @param {?} x - * @param {?} y - * @return {?} - */ - ResizingComponent.prototype.setOffsets = /** - * @private - * @param {?} position - * @param {?} x - * @param {?} y - * @return {?} - */ - function (position, x, y) { - /** @type {?} */ - var offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x; - /** @type {?} */ - var offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y; - this.offsetX.emit(offsetX); - this.offsetY.emit(offsetY); - }; - /** - * @param {?} $event - * @param {?} el - * @return {?} - */ - ResizingComponent.prototype.end = /** - * @param {?} $event - * @param {?} el - * @return {?} - */ - function ($event, el) { - // ff - this.resize($event, el); - this.release.emit(true); - this.grab = false; - }; - /** - * @param {?} $event - * @return {?} - */ - ResizingComponent.prototype.start = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.drop($event); - }; - /** - * @param {?} $event - * @return {?} - */ - ResizingComponent.prototype.drop = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $event.stopPropagation(); - $event.preventDefault(); - }; - /** - * @private - * @param {?} el - * @return {?} - */ - ResizingComponent.prototype.getElementId = /** - * @private - * @param {?} el - * @return {?} - */ - function (el) { - return "#" + el + "-" + this.id; - }; - ResizingComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-resizing', - template: "
\n\n
\n\n
\n\n
\n", - styles: [".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"] - }] } - ]; - /** @nocollapse */ - ResizingComponent.ctorParameters = function () { return []; }; - ResizingComponent.propDecorators = { - init: [{ type: core.Input }], - id: [{ type: core.Input }], - se: [{ type: core.Input }], - ne: [{ type: core.Input }], - sw: [{ type: core.Input }], - nw: [{ type: core.Input }], - pageWidth: [{ type: core.Input }], - pageHeight: [{ type: core.Input }], - offsetX: [{ type: core.Output }], - offsetY: [{ type: core.Output }], - offsetTop: [{ type: core.Output }], - offsetLeft: [{ type: core.Output }], - release: [{ type: core.Output }] - }; - return ResizingComponent; - }()); - if (false) { - /** @type {?} */ - ResizingComponent.prototype.init; - /** @type {?} */ - ResizingComponent.prototype.id; - /** @type {?} */ - ResizingComponent.prototype.se; - /** @type {?} */ - ResizingComponent.prototype.ne; - /** @type {?} */ - ResizingComponent.prototype.sw; - /** @type {?} */ - ResizingComponent.prototype.nw; - /** @type {?} */ - ResizingComponent.prototype.pageWidth; - /** @type {?} */ - ResizingComponent.prototype.pageHeight; - /** @type {?} */ - ResizingComponent.prototype.SE; - /** @type {?} */ - ResizingComponent.prototype.NE; - /** @type {?} */ - ResizingComponent.prototype.SW; - /** @type {?} */ - ResizingComponent.prototype.NW; - /** @type {?} */ - ResizingComponent.prototype.offsetX; - /** @type {?} */ - ResizingComponent.prototype.offsetY; - /** @type {?} */ - ResizingComponent.prototype.offsetTop; - /** @type {?} */ - ResizingComponent.prototype.offsetLeft; - /** @type {?} */ - ResizingComponent.prototype.release; - /** - * @type {?} - * @private - */ - ResizingComponent.prototype.grab; - /** - * @type {?} - * @private - */ - ResizingComponent.prototype.oldPosition; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$8 = jquery; + var ResizingComponent = /** @class */ (function () { + function ResizingComponent() { + this.se = false; + this.ne = false; + this.sw = false; + this.nw = false; + this.SE = 'se'; + this.NE = 'ne'; + this.SW = 'sw'; + this.NW = 'nw'; + this.offsetX = new core.EventEmitter(); + this.offsetY = new core.EventEmitter(); + this.offsetTop = new core.EventEmitter(); + this.offsetLeft = new core.EventEmitter(); + this.release = new core.EventEmitter(); + this.grab = false; + } + /** + * @return {?} + */ + ResizingComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + /** @type {?} */ + var elSE = $$8(this.getElementId(this.SE)); + /** @type {?} */ + var elNW = $$8(this.getElementId(this.NW)); + if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) { + /** @type {?} */ + var width_1 = elSE.offset().left - elNW.offset().left; + /** @type {?} */ + var height_1 = elSE.offset().top - elNW.offset().top; + while (width_1 >= this.pageWidth || height_1 >= this.pageHeight) { + width_1 = width_1 / 2; + height_1 = height_1 / 2; + } + setTimeout((/** + * @return {?} + */ + function () { + _this.offsetX.emit(width_1); + _this.offsetY.emit(height_1); + }), 100); + } + }; + /** + * @return {?} + */ + ResizingComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} $event + * @return {?} + */ + ResizingComponent.prototype.catchUp = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + // ff + $event.preventDefault(); + if ($event.dataTransfer) { // ff + $event.dataTransfer.setData('text', 'foo'); + } + this.grab = true; + this.oldPosition = Utils.getMousePosition($event); + }; + /** + * @param {?} $event + * @param {?} el + * @return {?} + */ + ResizingComponent.prototype.resize = /** + * @param {?} $event + * @param {?} el + * @return {?} + */ + function ($event, el) { + if (!this.grab) { + return; + } + /** @type {?} */ + var position = Utils.getMousePosition($event); + if (position.x === 0 && position.y === 0) { + return; + } + /** @type {?} */ + var notSW = this.NE === el || this.NW === el; + /** @type {?} */ + var notNE = this.SW === el || this.NW === el; + this.setOffsets(position, notNE, notSW); + if (notSW) { + this.offsetTop.emit(position.y - this.oldPosition.y); + } + if (notNE) { + this.offsetLeft.emit(position.x - this.oldPosition.x); + } + this.oldPosition = position; + }; + /** + * @private + * @param {?} position + * @param {?} x + * @param {?} y + * @return {?} + */ + ResizingComponent.prototype.setOffsets = /** + * @private + * @param {?} position + * @param {?} x + * @param {?} y + * @return {?} + */ + function (position, x, y) { + /** @type {?} */ + var offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x; + /** @type {?} */ + var offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y; + this.offsetX.emit(offsetX); + this.offsetY.emit(offsetY); + }; + /** + * @param {?} $event + * @param {?} el + * @return {?} + */ + ResizingComponent.prototype.end = /** + * @param {?} $event + * @param {?} el + * @return {?} + */ + function ($event, el) { + // ff + this.resize($event, el); + this.release.emit(true); + this.grab = false; + }; + /** + * @param {?} $event + * @return {?} + */ + ResizingComponent.prototype.start = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.drop($event); + }; + /** + * @param {?} $event + * @return {?} + */ + ResizingComponent.prototype.drop = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $event.stopPropagation(); + $event.preventDefault(); + }; + /** + * @private + * @param {?} el + * @return {?} + */ + ResizingComponent.prototype.getElementId = /** + * @private + * @param {?} el + * @return {?} + */ + function (el) { + return "#" + el + "-" + this.id; + }; + ResizingComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-resizing', + template: "
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n", + styles: [".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"] + }] } + ]; + /** @nocollapse */ + ResizingComponent.ctorParameters = function () { return []; }; + ResizingComponent.propDecorators = { + init: [{ type: core.Input }], + id: [{ type: core.Input }], + se: [{ type: core.Input }], + ne: [{ type: core.Input }], + sw: [{ type: core.Input }], + nw: [{ type: core.Input }], + pageWidth: [{ type: core.Input }], + pageHeight: [{ type: core.Input }], + offsetX: [{ type: core.Output }], + offsetY: [{ type: core.Output }], + offsetTop: [{ type: core.Output }], + offsetLeft: [{ type: core.Output }], + release: [{ type: core.Output }] + }; + return ResizingComponent; + }()); + if (false) { + /** @type {?} */ + ResizingComponent.prototype.init; + /** @type {?} */ + ResizingComponent.prototype.id; + /** @type {?} */ + ResizingComponent.prototype.se; + /** @type {?} */ + ResizingComponent.prototype.ne; + /** @type {?} */ + ResizingComponent.prototype.sw; + /** @type {?} */ + ResizingComponent.prototype.nw; + /** @type {?} */ + ResizingComponent.prototype.pageWidth; + /** @type {?} */ + ResizingComponent.prototype.pageHeight; + /** @type {?} */ + ResizingComponent.prototype.SE; + /** @type {?} */ + ResizingComponent.prototype.NE; + /** @type {?} */ + ResizingComponent.prototype.SW; + /** @type {?} */ + ResizingComponent.prototype.NW; + /** @type {?} */ + ResizingComponent.prototype.offsetX; + /** @type {?} */ + ResizingComponent.prototype.offsetY; + /** @type {?} */ + ResizingComponent.prototype.offsetTop; + /** @type {?} */ + ResizingComponent.prototype.offsetLeft; + /** @type {?} */ + ResizingComponent.prototype.release; + /** + * @type {?} + * @private + */ + ResizingComponent.prototype.grab; + /** + * @type {?} + * @private + */ + ResizingComponent.prototype.oldPosition; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TopTabActivatorService = /** @class */ (function (_super) { - __extends(TopTabActivatorService, _super); - function TopTabActivatorService() { - return _super.call(this) || this; - } - return TopTabActivatorService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TopTabActivatorService = /** @class */ (function (_super) { + __extends(TopTabActivatorService, _super); + function TopTabActivatorService() { + return _super.call(this) || this; + } + return TopTabActivatorService; }(TabActivatorService)); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TopTabComponent = /** @class */ (function () { - function TopTabComponent(_tabActivatorService, _modalService, _excMessageService) { - var _this = this; - this._tabActivatorService = _tabActivatorService; - this._modalService = _modalService; - this._excMessageService = _excMessageService; - this.disabled = false; - this.activeTab = new core.EventEmitter(); - this.elementPosition = 0; - this.active = false; - this.showToolTip = false; - this._tabActivatorService.activeTabChange.subscribe((/** - * @param {?} tabId - * @return {?} - */ - function (tabId) { - _this.activation(tabId); - if (tabId === null) { - _this.activeTab.emit(""); - } - })); - } - /** - * @private - * @param {?} tabId - * @return {?} - */ - TopTabComponent.prototype.activation = /** - * @private - * @param {?} tabId - * @return {?} - */ - function (tabId) { - if (this.id === tabId) { - this.active = !this.active; - if (this.active) { - this.activeTab.emit(this.id); - } - else { - this.activeTab.emit(""); - } - } - else { - this.active = false; - } - }; - /** - * @return {?} - */ - TopTabComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - TopTabComponent.prototype.toggleTab = /** - * @return {?} - */ - function () { - if (this.disabled) { - this._modalService.open(CommonModals.ErrorMessage); - this._excMessageService.changeMessage("Please open document first"); - return; - } - this._tabActivatorService.changeActiveTab(this.id); - }; - TopTabComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-top-tab', - template: "
\n \n \n
\n", - styles: [".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"] - }] } - ]; - /** @nocollapse */ - TopTabComponent.ctorParameters = function () { return [ - { type: TopTabActivatorService }, - { type: ModalService }, - { type: ExceptionMessageService } - ]; }; - TopTabComponent.propDecorators = { - id: [{ type: core.Input }], - icon: [{ type: core.Input }], - disabled: [{ type: core.Input }], - tooltip: [{ type: core.Input }], - activeTab: [{ type: core.Output }], - elementPosition: [{ type: core.Input }] - }; - return TopTabComponent; - }()); - if (false) { - /** @type {?} */ - TopTabComponent.prototype.id; - /** @type {?} */ - TopTabComponent.prototype.icon; - /** @type {?} */ - TopTabComponent.prototype.disabled; - /** @type {?} */ - TopTabComponent.prototype.tooltip; - /** @type {?} */ - TopTabComponent.prototype.activeTab; - /** @type {?} */ - TopTabComponent.prototype.elementPosition; - /** @type {?} */ - TopTabComponent.prototype.active; - /** @type {?} */ - TopTabComponent.prototype.showToolTip; - /** - * @type {?} - * @private - */ - TopTabComponent.prototype._tabActivatorService; - /** - * @type {?} - * @private - */ - TopTabComponent.prototype._modalService; - /** - * @type {?} - * @private - */ - TopTabComponent.prototype._excMessageService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TopTabComponent = /** @class */ (function () { + function TopTabComponent(_tabActivatorService, _modalService, _excMessageService) { + var _this = this; + this._tabActivatorService = _tabActivatorService; + this._modalService = _modalService; + this._excMessageService = _excMessageService; + this.disabled = false; + this.activeTab = new core.EventEmitter(); + this.elementPosition = 0; + this.active = false; + this.showToolTip = false; + this._tabActivatorService.activeTabChange.subscribe((/** + * @param {?} tabId + * @return {?} + */ + function (tabId) { + _this.activation(tabId); + if (tabId === null) { + _this.activeTab.emit(""); + } + })); + } + /** + * @private + * @param {?} tabId + * @return {?} + */ + TopTabComponent.prototype.activation = /** + * @private + * @param {?} tabId + * @return {?} + */ + function (tabId) { + if (this.id === tabId) { + this.active = !this.active; + if (this.active) { + this.activeTab.emit(this.id); + } + else { + this.activeTab.emit(""); + } + } + else { + this.active = false; + } + }; + /** + * @return {?} + */ + TopTabComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + TopTabComponent.prototype.toggleTab = /** + * @return {?} + */ + function () { + if (this.disabled) { + this._modalService.open(CommonModals.ErrorMessage); + this._excMessageService.changeMessage("Please open document first"); + return; + } + this._tabActivatorService.changeActiveTab(this.id); + }; + TopTabComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-top-tab', + template: "
\r\n \r\n \r\n
\r\n", + styles: [".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display: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 $$9 = jquery; - var TextMenuComponent = /** @class */ (function () { - function TextMenuComponent(_onCloseService, _zoomService, _windowService, _elementRef, renderer) { - var _this = this; - this._onCloseService = _onCloseService; - this._zoomService = _zoomService; - this._windowService = _windowService; - this._elementRef = _elementRef; - this.renderer = renderer; - this.decoration = true; - this.showTooltips = true; - this.outFontSize = new core.EventEmitter(); - this.outFont = new core.EventEmitter(); - this.outBold = new core.EventEmitter(); - this.outItalic = new core.EventEmitter(); - this.outUnderline = new core.EventEmitter(); - this.outColor = new core.EventEmitter(); - this.fontSizeOptions = FormattingService.getFontSizeOptions(); - this.fontOptions = FormattingService.getFontOptions(); - this.colorPickerShow = false; - _onCloseService.onClose.subscribe((/** - * @return {?} - */ - function () { - _this.colorPickerShow = false; - })); - this.isMobile = _windowService.isMobile(); - _windowService.onResize.subscribe((/** - * @param {?} w - * @return {?} - */ - function (w) { - _this.isMobile = _windowService.isMobile(); - })); - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - if (_this.isMobile) { - _this.changePosition(val); - } - })); - } - /** - * @return {?} - */ - TextMenuComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} val - * @return {?} - */ - TextMenuComponent.prototype.changePosition = /** - * @param {?} val - * @return {?} - */ - function (val) { - /** @type {?} */ - var top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height); - /** @type {?} */ - var left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left; - this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px'); - this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px'); - this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px'); - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.selectFontSize = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $$9(".gd-wrapper").off("keyup"); - this.outFontSize.emit($event.value); - $$9(".gd-wrapper").on("keyup", (/** - * @return {?} - */ - function () { - /** @type {?} */ - var fontElements = document.getElementsByTagName("font"); - for (var i = 0, len = fontElements.length; i < len; ++i) { - if (fontElements[i].getAttribute('size') === "7") { - fontElements[i].removeAttribute("size"); - fontElements[i].style.fontSize = $event + "px"; - } - } - })); - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.selectFont = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - event.preventDefault(); - event.stopPropagation(); - this.outFont.emit($event.value); - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.toggleColorPicker = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $event.preventDefault(); - $event.stopPropagation(); - this.colorPickerShow = !this.colorPickerShow; - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.selectColor = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.colorPickerShow = false; - this.outColor.emit($event); - }; - /** - * @param {?} event - * @return {?} - */ - TextMenuComponent.prototype.toggleBold = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.preventDefault(); - event.stopPropagation(); - this.outBold.emit(!this.bold); - }; - /** - * @param {?} event - * @return {?} - */ - TextMenuComponent.prototype.toggleItalic = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.preventDefault(); - event.stopPropagation(); - this.outItalic.emit(!this.italic); - }; - /** - * @param {?} event - * @return {?} - */ - TextMenuComponent.prototype.toggleUnderline = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.preventDefault(); - event.stopPropagation(); - this.outUnderline.emit(!this.underline); - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.closePicker = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.colorPickerShow = !$event; - }; - TextMenuComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-text-menu', - template: "
\n \n \n \n \n \n \n
\n
\n \n \n
\n", - styles: ["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important}}"] - }] } - ]; - /** @nocollapse */ - TextMenuComponent.ctorParameters = function () { return [ - { type: OnCloseService }, - { type: ZoomService }, - { type: WindowService }, - { type: core.ElementRef }, - { type: core.Renderer2 } - ]; }; - TextMenuComponent.propDecorators = { - blur: [{ type: core.Input }], - fontSize: [{ type: core.Input }], - font: [{ type: core.Input }], - bold: [{ type: core.Input }], - italic: [{ type: core.Input }], - underline: [{ type: core.Input }], - color: [{ type: core.Input }], - decoration: [{ type: core.Input }], - showTooltips: [{ type: core.Input }], - outFontSize: [{ type: core.Output }], - outFont: [{ type: core.Output }], - outBold: [{ type: core.Output }], - outItalic: [{ type: core.Output }], - outUnderline: [{ type: core.Output }], - outColor: [{ type: core.Output }] - }; - return TextMenuComponent; - }()); - if (false) { - /** @type {?} */ - TextMenuComponent.prototype.blur; - /** @type {?} */ - TextMenuComponent.prototype.fontSize; - /** @type {?} */ - TextMenuComponent.prototype.font; - /** @type {?} */ - TextMenuComponent.prototype.bold; - /** @type {?} */ - TextMenuComponent.prototype.italic; - /** @type {?} */ - TextMenuComponent.prototype.underline; - /** @type {?} */ - TextMenuComponent.prototype.color; - /** @type {?} */ - TextMenuComponent.prototype.decoration; - /** @type {?} */ - TextMenuComponent.prototype.showTooltips; - /** @type {?} */ - TextMenuComponent.prototype.outFontSize; - /** @type {?} */ - TextMenuComponent.prototype.outFont; - /** @type {?} */ - TextMenuComponent.prototype.outBold; - /** @type {?} */ - TextMenuComponent.prototype.outItalic; - /** @type {?} */ - TextMenuComponent.prototype.outUnderline; - /** @type {?} */ - TextMenuComponent.prototype.outColor; - /** @type {?} */ - TextMenuComponent.prototype.fontSizeOptions; - /** @type {?} */ - TextMenuComponent.prototype.fontOptions; - /** @type {?} */ - TextMenuComponent.prototype.colorPickerShow; - /** @type {?} */ - TextMenuComponent.prototype.isMobile; - /** - * @type {?} - * @private - */ - TextMenuComponent.prototype._onCloseService; - /** - * @type {?} - * @private - */ - TextMenuComponent.prototype._zoomService; - /** - * @type {?} - * @private - */ - TextMenuComponent.prototype._windowService; - /** - * @type {?} - * @protected - */ - TextMenuComponent.prototype._elementRef; - /** - * @type {?} - * @private - */ - TextMenuComponent.prototype.renderer; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$9 = jquery; + var TextMenuComponent = /** @class */ (function () { + function TextMenuComponent(_onCloseService, _zoomService, _windowService, _elementRef, renderer) { + var _this = this; + this._onCloseService = _onCloseService; + this._zoomService = _zoomService; + this._windowService = _windowService; + this._elementRef = _elementRef; + this.renderer = renderer; + this.decoration = true; + this.showTooltips = true; + this.outFontSize = new core.EventEmitter(); + this.outFont = new core.EventEmitter(); + this.outBold = new core.EventEmitter(); + this.outItalic = new core.EventEmitter(); + this.outUnderline = new core.EventEmitter(); + this.outColor = new core.EventEmitter(); + this.fontSizeOptions = FormattingService.getFontSizeOptions(); + this.fontOptions = FormattingService.getFontOptions(); + this.colorPickerShow = false; + _onCloseService.onClose.subscribe((/** + * @return {?} + */ + function () { + _this.colorPickerShow = false; + })); + this.isMobile = _windowService.isMobile(); + _windowService.onResize.subscribe((/** + * @param {?} w + * @return {?} + */ + function (w) { + _this.isMobile = _windowService.isMobile(); + })); + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + if (_this.isMobile) { + _this.changePosition(val); + } + })); + } + /** + * @return {?} + */ + TextMenuComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} val + * @return {?} + */ + TextMenuComponent.prototype.changePosition = /** + * @param {?} val + * @return {?} + */ + function (val) { + /** @type {?} */ + var top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height); + /** @type {?} */ + var left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left; + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px'); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px'); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px'); + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.selectFontSize = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $$9(".gd-wrapper").off("keyup"); + this.outFontSize.emit($event.value); + $$9(".gd-wrapper").on("keyup", (/** + * @return {?} + */ + function () { + /** @type {?} */ + var fontElements = document.getElementsByTagName("font"); + for (var i = 0, len = fontElements.length; i < len; ++i) { + if (fontElements[i].getAttribute('size') === "7") { + fontElements[i].removeAttribute("size"); + fontElements[i].style.fontSize = $event + "px"; + } + } + })); + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.selectFont = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + event.preventDefault(); + event.stopPropagation(); + this.outFont.emit($event.value); + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.toggleColorPicker = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $event.preventDefault(); + $event.stopPropagation(); + this.colorPickerShow = !this.colorPickerShow; + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.selectColor = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.colorPickerShow = false; + this.outColor.emit($event); + }; + /** + * @param {?} event + * @return {?} + */ + TextMenuComponent.prototype.toggleBold = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.preventDefault(); + event.stopPropagation(); + this.outBold.emit(!this.bold); + }; + /** + * @param {?} event + * @return {?} + */ + TextMenuComponent.prototype.toggleItalic = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.preventDefault(); + event.stopPropagation(); + this.outItalic.emit(!this.italic); + }; + /** + * @param {?} event + * @return {?} + */ + TextMenuComponent.prototype.toggleUnderline = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.preventDefault(); + event.stopPropagation(); + this.outUnderline.emit(!this.underline); + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.closePicker = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.colorPickerShow = !$event; + }; + TextMenuComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-text-menu', + template: "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n", + styles: ["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display: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;left:0;right:0;width:inherit;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important}}"] + }] } + ]; + /** @nocollapse */ + TextMenuComponent.ctorParameters = function () { return [ + { type: OnCloseService }, + { type: ZoomService }, + { type: WindowService }, + { type: core.ElementRef }, + { type: core.Renderer2 } + ]; }; + TextMenuComponent.propDecorators = { + blur: [{ type: core.Input }], + fontSize: [{ type: core.Input }], + font: [{ type: core.Input }], + bold: [{ type: core.Input }], + italic: [{ type: core.Input }], + underline: [{ type: core.Input }], + color: [{ type: core.Input }], + decoration: [{ type: core.Input }], + showTooltips: [{ type: core.Input }], + outFontSize: [{ type: core.Output }], + outFont: [{ type: core.Output }], + outBold: [{ type: core.Output }], + outItalic: [{ type: core.Output }], + outUnderline: [{ type: core.Output }], + outColor: [{ type: core.Output }] + }; + return TextMenuComponent; + }()); + if (false) { + /** @type {?} */ + TextMenuComponent.prototype.blur; + /** @type {?} */ + TextMenuComponent.prototype.fontSize; + /** @type {?} */ + TextMenuComponent.prototype.font; + /** @type {?} */ + TextMenuComponent.prototype.bold; + /** @type {?} */ + TextMenuComponent.prototype.italic; + /** @type {?} */ + TextMenuComponent.prototype.underline; + /** @type {?} */ + TextMenuComponent.prototype.color; + /** @type {?} */ + TextMenuComponent.prototype.decoration; + /** @type {?} */ + TextMenuComponent.prototype.showTooltips; + /** @type {?} */ + TextMenuComponent.prototype.outFontSize; + /** @type {?} */ + TextMenuComponent.prototype.outFont; + /** @type {?} */ + TextMenuComponent.prototype.outBold; + /** @type {?} */ + TextMenuComponent.prototype.outItalic; + /** @type {?} */ + TextMenuComponent.prototype.outUnderline; + /** @type {?} */ + TextMenuComponent.prototype.outColor; + /** @type {?} */ + TextMenuComponent.prototype.fontSizeOptions; + /** @type {?} */ + TextMenuComponent.prototype.fontOptions; + /** @type {?} */ + TextMenuComponent.prototype.colorPickerShow; + /** @type {?} */ + TextMenuComponent.prototype.isMobile; + /** + * @type {?} + * @private + */ + TextMenuComponent.prototype._onCloseService; + /** + * @type {?} + * @private + */ + TextMenuComponent.prototype._zoomService; + /** + * @type {?} + * @private + */ + TextMenuComponent.prototype._windowService; + /** + * @type {?} + * @protected + */ + TextMenuComponent.prototype._elementRef; + /** + * @type {?} + * @private + */ + TextMenuComponent.prototype.renderer; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var MenuType = /** @class */ (function () { - function MenuType() { - } - MenuType.FOR_SIGNATURE = "signature"; - MenuType.FOR_ANNOTATION = "annotation"; - return MenuType; - }()); - if (false) { - /** @type {?} */ - MenuType.FOR_SIGNATURE; - /** @type {?} */ - MenuType.FOR_ANNOTATION; - } - var ContextMenuComponent = /** @class */ (function () { - function ContextMenuComponent(_windowService, _zoomService, _elementRef, renderer) { - var _this = this; - this._windowService = _windowService; - this._zoomService = _zoomService; - this._elementRef = _elementRef; - this.renderer = renderer; - this.formatting = Formatting.default(); - this.lock = false; - this.translation = 0; - this.changeFormatting = new core.EventEmitter(); - this.removeItem = new core.EventEmitter(); - this.copySign = new core.EventEmitter(); - this.lockOut = new core.EventEmitter(); - this.comment = new core.EventEmitter(); - this.isMobile = _windowService.isMobile(); - _windowService.onResize.subscribe((/** - * @param {?} w - * @return {?} - */ - function (w) { - _this.isMobile = _windowService.isMobile(); - })); - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - if (_this.isMobile) { - _this.changeScale(val); - } - })); - } - /** - * @return {?} - */ - ContextMenuComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} val - * @return {?} - */ - ContextMenuComponent.prototype.changeScale = /** - * @param {?} val - * @return {?} - */ - function (val) { - this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1 / (val / 100) + ')'); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.saveChanges = /** - * @return {?} - */ - function () { - this.changeFormatting.emit(this.formatting); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.selectFontSize = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.fontSize = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.selectFont = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.font = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.selectColor = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.color = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.toggleBold = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.bold = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.toggleItalic = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.italic = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.toggleUnderline = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.underline = $event; - this.saveChanges(); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.deleteItem = /** - * @return {?} - */ - function () { - this.removeItem.emit(true); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.toggleLock = /** - * @return {?} - */ - function () { - this.lock = !this.lock; - this.lockOut.emit(this.lock); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.onCopySign = /** - * @return {?} - */ - function () { - this.copySign.emit(true); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.isSignature = /** - * @return {?} - */ - function () { - return this.menuType === MenuType.FOR_SIGNATURE; - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.isAnnotation = /** - * @return {?} - */ - function () { - return this.menuType === MenuType.FOR_ANNOTATION; - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.addComment = /** - * @return {?} - */ - function () { - this.comment.emit(true); - }; - ContextMenuComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-context-menu', - template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\n \n \n \n \n \n \n
\n", - styles: [".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"] - }] } - ]; - /** @nocollapse */ - ContextMenuComponent.ctorParameters = function () { return [ - { type: WindowService }, - { type: ZoomService }, - { type: core.ElementRef }, - { type: core.Renderer2 } - ]; }; - ContextMenuComponent.propDecorators = { - formatting: [{ type: core.Input }], - textMenu: [{ type: core.Input }], - topPosition: [{ type: core.Input }], - lock: [{ type: core.Input }], - translation: [{ type: core.Input }], - menuType: [{ type: core.Input }], - changeFormatting: [{ type: core.Output }], - removeItem: [{ type: core.Output }], - copySign: [{ type: core.Output }], - lockOut: [{ type: core.Output }], - comment: [{ type: core.Output }] - }; - return ContextMenuComponent; - }()); - if (false) { - /** @type {?} */ - ContextMenuComponent.prototype.formatting; - /** @type {?} */ - ContextMenuComponent.prototype.textMenu; - /** @type {?} */ - ContextMenuComponent.prototype.topPosition; - /** @type {?} */ - ContextMenuComponent.prototype.lock; - /** @type {?} */ - ContextMenuComponent.prototype.translation; - /** @type {?} */ - ContextMenuComponent.prototype.menuType; - /** @type {?} */ - ContextMenuComponent.prototype.changeFormatting; - /** @type {?} */ - ContextMenuComponent.prototype.removeItem; - /** @type {?} */ - ContextMenuComponent.prototype.copySign; - /** @type {?} */ - ContextMenuComponent.prototype.lockOut; - /** @type {?} */ - ContextMenuComponent.prototype.comment; - /** @type {?} */ - ContextMenuComponent.prototype.isMobile; - /** - * @type {?} - * @private - */ - ContextMenuComponent.prototype._windowService; - /** - * @type {?} - * @private - */ - ContextMenuComponent.prototype._zoomService; - /** - * @type {?} - * @protected - */ - ContextMenuComponent.prototype._elementRef; - /** - * @type {?} - * @private - */ - ContextMenuComponent.prototype.renderer; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var MenuType = /** @class */ (function () { + function MenuType() { + } + MenuType.FOR_SIGNATURE = "signature"; + MenuType.FOR_ANNOTATION = "annotation"; + return MenuType; + }()); + if (false) { + /** @type {?} */ + MenuType.FOR_SIGNATURE; + /** @type {?} */ + MenuType.FOR_ANNOTATION; + } + var ContextMenuComponent = /** @class */ (function () { + function ContextMenuComponent(_windowService, _zoomService, _elementRef, renderer) { + var _this = this; + this._windowService = _windowService; + this._zoomService = _zoomService; + this._elementRef = _elementRef; + this.renderer = renderer; + this.formatting = Formatting.default(); + this.lock = false; + this.translation = 0; + this.changeFormatting = new core.EventEmitter(); + this.removeItem = new core.EventEmitter(); + this.copySign = new core.EventEmitter(); + this.lockOut = new core.EventEmitter(); + this.comment = new core.EventEmitter(); + this.isMobile = _windowService.isMobile(); + _windowService.onResize.subscribe((/** + * @param {?} w + * @return {?} + */ + function (w) { + _this.isMobile = _windowService.isMobile(); + })); + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + if (_this.isMobile) { + _this.changeScale(val); + } + })); + } + /** + * @return {?} + */ + ContextMenuComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} val + * @return {?} + */ + ContextMenuComponent.prototype.changeScale = /** + * @param {?} val + * @return {?} + */ + function (val) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1 / (val / 100) + ')'); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.saveChanges = /** + * @return {?} + */ + function () { + this.changeFormatting.emit(this.formatting); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.selectFontSize = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.fontSize = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.selectFont = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.font = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.selectColor = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.color = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.toggleBold = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.bold = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.toggleItalic = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.italic = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.toggleUnderline = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.underline = $event; + this.saveChanges(); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.deleteItem = /** + * @return {?} + */ + function () { + this.removeItem.emit(true); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.toggleLock = /** + * @return {?} + */ + function () { + this.lock = !this.lock; + this.lockOut.emit(this.lock); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.onCopySign = /** + * @return {?} + */ + function () { + this.copySign.emit(true); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.isSignature = /** + * @return {?} + */ + function () { + return this.menuType === MenuType.FOR_SIGNATURE; + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.isAnnotation = /** + * @return {?} + */ + function () { + return this.menuType === MenuType.FOR_ANNOTATION; + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.addComment = /** + * @return {?} + */ + function () { + this.comment.emit(true); + }; + ContextMenuComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-context-menu', + template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\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:-42px;transform-origin:bottom center}}"] + }] } + ]; + /** @nocollapse */ + ContextMenuComponent.ctorParameters = function () { return [ + { type: WindowService }, + { type: ZoomService }, + { type: core.ElementRef }, + { type: core.Renderer2 } + ]; }; + ContextMenuComponent.propDecorators = { + formatting: [{ type: core.Input }], + textMenu: [{ type: core.Input }], + topPosition: [{ type: core.Input }], + lock: [{ type: core.Input }], + translation: [{ type: core.Input }], + menuType: [{ type: core.Input }], + changeFormatting: [{ type: core.Output }], + removeItem: [{ type: core.Output }], + copySign: [{ type: core.Output }], + lockOut: [{ type: core.Output }], + comment: [{ type: core.Output }] + }; + return ContextMenuComponent; + }()); + if (false) { + /** @type {?} */ + ContextMenuComponent.prototype.formatting; + /** @type {?} */ + ContextMenuComponent.prototype.textMenu; + /** @type {?} */ + ContextMenuComponent.prototype.topPosition; + /** @type {?} */ + ContextMenuComponent.prototype.lock; + /** @type {?} */ + ContextMenuComponent.prototype.translation; + /** @type {?} */ + ContextMenuComponent.prototype.menuType; + /** @type {?} */ + ContextMenuComponent.prototype.changeFormatting; + /** @type {?} */ + ContextMenuComponent.prototype.removeItem; + /** @type {?} */ + ContextMenuComponent.prototype.copySign; + /** @type {?} */ + ContextMenuComponent.prototype.lockOut; + /** @type {?} */ + ContextMenuComponent.prototype.comment; + /** @type {?} */ + ContextMenuComponent.prototype.isMobile; + /** + * @type {?} + * @private + */ + ContextMenuComponent.prototype._windowService; + /** + * @type {?} + * @private + */ + ContextMenuComponent.prototype._zoomService; + /** + * @type {?} + * @protected + */ + ContextMenuComponent.prototype._elementRef; + /** + * @type {?} + * @private + */ + ContextMenuComponent.prototype.renderer; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var providers = [ConfigService, - Api, - ModalService, - FileService, - FileModel, - FileUtil, - Utils, - SanitizeHtmlPipe, - SanitizeResourceHtmlPipe, - SanitizeStylePipe, - HighlightSearchPipe, - UploadFilesService, - RenderPrintService, - NavigateService, - PagePreloadService, - ZoomService, - ExceptionMessageService, - PasswordService, - ErrorInterceptorService, - SearchService, - WindowService, - ViewportService, - FormattingService, - BackFormattingService, - OnCloseService, - LoadingMaskInterceptorService, - LoadingMaskService, - TabActivatorService, - AddDynamicComponentService, - HostingDynamicComponentService, - TopTabActivatorService]; - var CommonComponentsModule = /** @class */ (function () { - function CommonComponentsModule() { - fontawesomeSvgCore.library.add(freeSolidSvgIcons.fas, freeRegularSvgIcons.far); - } - CommonComponentsModule.decorators = [ - { type: core.NgModule, args: [{ - imports: [common.CommonModule, angularFontawesome.FontAwesomeModule, ngClickOutside.ClickOutsideModule], - declarations: [ - TopToolbarComponent, - SidePanelComponent, - ButtonComponent, - LogoComponent, - TooltipComponent, - ModalComponent, - BrowseFilesModalComponent, - DocumentComponent, - PageComponent, - SanitizeHtmlPipe, - SanitizeResourceHtmlPipe, - SanitizeStylePipe, - HighlightSearchPipe, - UploadFileZoneComponent, - DndDirective, - ScrollableDirective, - MouseWheelDirective, - ZoomDirective, - SelectComponent, - DisabledCursorDirective, - RotationDirective, - InitStateComponent, - RenderPrintDirective, - ErrorModalComponent, - PasswordRequiredComponent, - SearchComponent, - SearchableDirective, - TabbedToolbarsComponent, - TabComponent, - TabsComponent, - ColorPickerComponent, - FormattingDirective, - SuccessModalComponent, - EditorDirective, - LoadingMaskComponent, - DropDownComponent, - DropDownItemComponent, - DropDownItemsComponent, - DropDownToggleComponent, - LeftSideBarComponent, - TooltipDirective, - HostDynamicDirective, - ResizingComponent, - TopTabComponent, - TextMenuComponent, - ContextMenuComponent - ], - exports: [ - TopToolbarComponent, - SidePanelComponent, - ButtonComponent, - LogoComponent, - TooltipComponent, - ModalComponent, - BrowseFilesModalComponent, - DocumentComponent, - PageComponent, - SanitizeResourceHtmlPipe, - SanitizeStylePipe, - HighlightSearchPipe, - SanitizeHtmlPipe, - UploadFileZoneComponent, - ScrollableDirective, - MouseWheelDirective, - SelectComponent, - RotationDirective, - InitStateComponent, - RenderPrintDirective, - ErrorModalComponent, - PasswordRequiredComponent, - SearchComponent, - SearchableDirective, - TabbedToolbarsComponent, - TabComponent, - TabsComponent, - ColorPickerComponent, - FormattingDirective, - SuccessModalComponent, - LoadingMaskComponent, - DndDirective, - DropDownComponent, - DropDownItemComponent, - DropDownItemsComponent, - DropDownToggleComponent, - ZoomDirective, - DropDownToggleComponent, - LeftSideBarComponent, - TooltipDirective, - HostDynamicDirective, - ResizingComponent, - TopTabComponent, - TextMenuComponent, - ContextMenuComponent - ], - providers: providers - },] } - ]; - /** @nocollapse */ - CommonComponentsModule.ctorParameters = function () { return []; }; - return CommonComponentsModule; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var providers = [ConfigService, + Api, + ModalService, + FileService, + FileModel, + FileUtil, + Utils, + SanitizeHtmlPipe, + SanitizeResourceHtmlPipe, + SanitizeStylePipe, + HighlightSearchPipe, + UploadFilesService, + RenderPrintService, + NavigateService, + PagePreloadService, + ZoomService, + ExceptionMessageService, + PasswordService, + ErrorInterceptorService, + SearchService, + WindowService, + ViewportService, + FormattingService, + BackFormattingService, + OnCloseService, + LoadingMaskInterceptorService, + LoadingMaskService, + TabActivatorService, + AddDynamicComponentService, + HostingDynamicComponentService, + TopTabActivatorService, + ExcelPageService]; + 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, + ExcelDocumentComponent, + PageComponent, + ExcelPageComponent, + SanitizeHtmlPipe, + SanitizeResourceHtmlPipe, + SanitizeStylePipe, + HighlightSearchPipe, + UploadFileZoneComponent, + DndDirective, + ScrollableDirective, + MouseWheelDirective, + ZoomDirective, + SelectComponent, + DisabledCursorDirective, + RotationDirective, + InitStateComponent, + RenderPrintDirective, + ErrorModalComponent, + PasswordRequiredComponent, + SearchComponent, + SearchableDirective, + TabbedToolbarsComponent, + TabComponent, + TabsComponent, + ColorPickerComponent, + FormattingDirective, + SuccessModalComponent, + EditorDirective, + LoadingMaskComponent, + DropDownComponent, + DropDownItemComponent, + DropDownItemsComponent, + DropDownToggleComponent, + LeftSideBarComponent, + TooltipDirective, + HostDynamicDirective, + ResizingComponent, + TopTabComponent, + TextMenuComponent, + ContextMenuComponent + ], + exports: [ + TopToolbarComponent, + SidePanelComponent, + ButtonComponent, + LogoComponent, + TooltipComponent, + ModalComponent, + BrowseFilesModalComponent, + DocumentComponent, + ExcelDocumentComponent, + PageComponent, + ExcelPageComponent, + SanitizeResourceHtmlPipe, + SanitizeStylePipe, + HighlightSearchPipe, + SanitizeHtmlPipe, + UploadFileZoneComponent, + ScrollableDirective, + MouseWheelDirective, + SelectComponent, + RotationDirective, + InitStateComponent, + RenderPrintDirective, + ErrorModalComponent, + PasswordRequiredComponent, + SearchComponent, + SearchableDirective, + TabbedToolbarsComponent, + TabComponent, + TabsComponent, + ColorPickerComponent, + FormattingDirective, + SuccessModalComponent, + LoadingMaskComponent, + DndDirective, + DropDownComponent, + DropDownItemComponent, + DropDownItemsComponent, + DropDownToggleComponent, + ZoomDirective, + DropDownToggleComponent, + LeftSideBarComponent, + TooltipDirective, + HostDynamicDirective, + ResizingComponent, + TopTabComponent, + TextMenuComponent, + ContextMenuComponent, + EditorDirective, + FormattingDirective + ], + providers: providers + },] } + ]; + /** @nocollapse */ + CommonComponentsModule.ctorParameters = function () { return []; }; + return CommonComponentsModule; }()); exports.AddDynamicComponentService = AddDynamicComponentService; @@ -8668,6 +9046,9 @@ exports.EditorDirective = EditorDirective; exports.ErrorInterceptorService = ErrorInterceptorService; exports.ErrorModalComponent = ErrorModalComponent; + exports.ExcelDocumentComponent = ExcelDocumentComponent; + exports.ExcelPageComponent = ExcelPageComponent; + exports.ExcelPageService = ExcelPageService; exports.ExceptionMessageService = ExceptionMessageService; exports.FileCredentials = FileCredentials; exports.FileDescription = FileDescription; 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 aa78bf793..5a4e0d96f 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js.map +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gd-top-toolbar',\n templateUrl: './top-toolbar.component.html',\n styleUrls: ['./top-toolbar.component.less']\n})\nexport class TopToolbarComponent {\n\n constructor() {\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gd-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.less']\n})\n\nexport class SidePanelComponent {\n @Input() title: string;\n @Input() icon: string;\n @Input() closable = true;\n @Input() saveable = true;\n @Output() hideSidePanel = new EventEmitter();\n @Output() saveInSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n closeSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n saveBySidePanel() {\n this.saveInSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n if (this.closable && !this.saveable) {\n this.onlyTitle = !this.onlyTitle;\n }\n }\n}\n","import {fromEvent, Observable, Subject} from \"rxjs\";\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\n\nconst MOBILE_MAX_WIDTH = 425;\nconst TABLET_MAX_WIDTH = 1024;\n\nexport class WindowService {\n\n private resizeSubject: Subject = new Subject();\n private _resize$;\n private width: number;\n private height: number;\n\n constructor() {\n this.width = window.innerWidth;\n this.height = window.innerHeight;\n\n this._resize$ = fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n distinctUntilChanged(),\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\n tap(event => {\n this.resizeSubject.next(event.target);\n this.width = (event.target as Window).innerWidth;\n this.height = (event.target as Window).innerHeight;\n }),\n );\n this._resize$.subscribe();\n }\n\n get onResize(): Observable {\n return this.resizeSubject.asObservable();\n }\n\n isMobile() {\n return this.width <= MOBILE_MAX_WIDTH;\n }\n\n isTablet() {\n return this.width <= TABLET_MAX_WIDTH;\n }\n\n isDesktop() {\n return !this.isMobile() && !this.isTablet();\n }\n\n getWidth() {\n return this.width;\n }\n\n getHeight() {\n return this.height;\n }\n\n isEdge() {\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {WindowService} from \"../window.service\";\n\n@Component({\n selector: 'gd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.less']\n})\nexport class ButtonComponent {\n @Input() iconOnly = true;\n @Input() intent = 'default';\n @Input() disabled = false;\n @Input() icon: string;\n @Input() iconClass: string;\n @Input() tooltip: string;\n @Input() className: string;\n @Input() toggle = false;\n @Input() iconSize: string;\n @Input() iconRegular = false;\n @Input() elementPosition = 0;\n\n showToolTip = false;\n private isDesktop: boolean;\n\n constructor(windowService: WindowService) {\n this.isDesktop = windowService.isDesktop();\n windowService.onResize.subscribe((w) => {\n this.isDesktop = windowService.isDesktop();\n });\n }\n\n iconButtonClass() {\n return this.iconOnly ? 'icon-button' : '';\n }\n\n onHovering() {\n if (this.isDesktop && !this.disabled) {\n this.className += ' active';\n }\n }\n\n onUnhovering() {\n if (this.isDesktop && !this.disabled) {\n this.className = this.cleanAll(this.className, ' active');\n }\n }\n\n private cleanAll(str: string, val: string) {\n while (str && str.indexOf(val) !== -1) {\n str = str.replace(val, '');\n }\n return str;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-logo',\n templateUrl: './logo.component.html',\n styleUrls: ['./logo.component.less']\n})\nexport class LogoComponent implements OnInit {\n\n @Input() logo;\n @Input() icon;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.less']\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() text: string;\n @Input() position = 0;\n visibility = 'hidden';\n\n constructor() {\n }\n\n getClass() {\n if (this.position === 0) {\n return 'tooltip';\n }\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\n }\n\n @Input()\n set show(value: boolean) {\n this.visibility = value ? 'shown' : 'hidden';\n }\n\n ngOnInit() {\n }\n\n}\n","import {HttpHeaders} from \"@angular/common/http\";\nimport {Injectable} from \"@angular/core\";\n\nexport class Api {\n public static VIEWER_APP = '/viewer';\n public static SIGNATURE_APP = '/signature';\n public static ANNOTATION_APP = '/annotation';\n public static SEARCH_APP = '/search';\n public static EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\n public static METADATA_APP = '/metadata';\n public static DEFAULT_API_ENDPOINT = window.location.href;\n public static LOAD_FILE_TREE = '/loadFileTree';\n public static LOAD_CONFIG = '/loadConfig';\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\n public static SAVE_PROPERTY = '/saveProperty';\n public static REMOVE_PROPERTY = '/removeProperty';\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\n public static LOAD_PRINT = '/loadPrint';\n public static LOAD_PRINT_PDF = '/printPdf';\n public static LOAD_THUMBNAILS = '/loadThumbnails';\n public static LOAD_FORMATS = '/loadFormats';\n public static SAVE_FILE = '/saveFile';\n public static CREATE_FILE = '/createFile';\n public static COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\n public static GET_FILE_STATUS = '/getFileStatus';\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\n public static SAVE_TEXT = '/saveText';\n public static SAVE_IMAGE = '/saveImage';\n public static SAVE_STAMP = '/saveStamp';\n public static SIGN = '/sign';\n public static DOWNLOAD_SIGNED = '/downloadSigned';\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\n public static ANNOTATE = '/annotate';\n public static SEARCH = '/search';\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\n\n public static httpOptionsJson = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n public static httpOptionsJsonResponseTypeBlob = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n responseType: 'blob' as 'blob'\n };\n}\n\n@Injectable()\nexport class ConfigService {\n\n private _apiEndpoint: string;\n\n constructor() {\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\n }\n\n set apiEndpoint(url: string) {\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\n }\n\n getConfigEndpoint(app) {\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\n }\n\n getViewerApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\n }\n\n getEditorApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\n }\n\n getComparisonApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\n }\n\n getConversionApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\n }\n\n getMetadataApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\n }\n\n get apiEndpoint() {\n return this._apiEndpoint;\n }\n\n getSignatureApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\n }\n\n getAnnotationApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\n }\n\n getSearchApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\n }\n}\n","export class CommonModals {\n static PasswordRequired = \"gd-password-required\";\n static ErrorMessage = \"gd-error-message\";\n static BrowseFiles = \"gd-browse-files\";\n static CreateDocument = \"gd-create-document\";\n static OperationSuccess = \"gd-success-modal\";\n static DrawHandSignature = \"gd-draw-hand-signature\";\n static DrawStampSignature = \"gd-draw-stamp-signature\";\n static InformationMessage = \"gd-information-message\";\n}\n\nexport class ModalService {\n private modals: any[] = [];\n\n add(modal: any) {\n this.modals.push(modal);\n }\n\n remove(id: string) {\n this.modals = this.modals.filter(x => x.id !== id);\n }\n\n open(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.open();\n }\n }\n\n close(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.close();\n }\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ModalService} from \"../modal.service\";\n\n@Component({\n selector: 'gd-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.less']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() id: string;\n @Input() title: string;\n @Output() visible = new EventEmitter();\n @Output() cancel = new EventEmitter();\n visibility = false;\n private element: any;\n\n constructor(private modalService: ModalService, el: ElementRef) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n if (!this.id) {\n console.error('modal must have an id');\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.modalService.add(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.visibility = true;\n this.visible.emit(true);\n }\n\n close(): void {\n event.preventDefault();\n event.stopPropagation();\n this.visibility = false;\n this.visible.emit(false);\n }\n\n onClose($event: MouseEvent) {\n $event.stopPropagation();\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\n this.close();\n }\n }\n\n cancelClose() {\n this.cancel.emit(false);\n this.close();\n }\n}\n","export class PageModel {\n data: string;\n angle: number;\n width: number;\n height: number;\n number: number;\n editable: boolean;\n}\n\nexport class RotatedPage {\n pageNumber: number;\n angle: number;\n}\n\nexport class FileCredentials {\n guid: string;\n password: string;\n\n constructor(guid: string, password: string) {\n this.guid = guid;\n this.password = password;\n }\n}\n\nexport class SaveFile extends FileCredentials {\n content: string;\n\n constructor(guid: string, password: string, content: string) {\n super(guid, password);\n this.content = content;\n }\n}\n\nexport class FileDescription {\n guid: string;\n pages: PageModel[];\n printAllowed = true;\n showGridLines: boolean;\n thumbnails: PageModel[];\n}\n\nexport class FileModel {\n guid: string;\n name: string;\n directory: boolean;\n size: number;\n isDirectory: boolean;\n}\n\nexport class HttpError {\n static BadRequest = 400;\n static Unauthorized = 401;\n static Forbidden = 403;\n static NotFound = 404;\n static TimeOut = 408;\n static Conflict = 409;\n static InternalServerError = 500;\n}\n\nexport class Utils {\n public static getMousePosition(event) {\n const mouse = {\n x: 0,\n y: 0\n };\n const wEvent: DragEvent = window.event;\n const ev = event || wEvent; //Moz || IE\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\n } else if (ev.clientX) { //IE\n mouse.x = ev.clientX + document.body.scrollLeft;\n mouse.y = ev.clientY + document.body.scrollTop;\n }\n return mouse;\n }\n\n public static toRgb(color: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\n if (result) {\n const r = parseInt(result[1], 16);\n const g = parseInt(result[2], 16);\n const b = parseInt(result[3], 16);\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\n }\n return color;\n }\n\n public static toHex(color: string) {\n // check if color is standard hex value\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\n // check if color is RGB value -> convert to hex\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\n pad = function (str) {\n if (str.length < 2) {\n for (let i = 0, len = 2 - str.length; i < len; i++) {\n str = '0' + str;\n }\n }\n return str;\n };\n if (c.length === 3) {\n const r = pad(c[0].toString(16)),\n g = pad(c[1].toString(16)),\n b = pad(c[2].toString(16));\n return '#' + r + g + b;\n }\n // else do nothing\n } else {\n return '';\n }\n }\n}\n\nexport class FileUtil {\n public static map = {\n 'folder': {'format': '', 'icon': 'folder'},\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\n };\n\n public static find(filename: string, isDirectory: boolean) {\n if (filename && !isDirectory) {\n const strings = filename.split('.');\n const name = strings.pop().toLowerCase();\n if (typeof FileUtil.map[name] === \"undefined\") {\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\n } else {\n return FileUtil.map[name];\n }\n } else {\n return FileUtil.map['folder'];\n }\n }\n}\n\nexport class FileService {\n\n constructor() {\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class UploadFilesService {\n private _uploadsChange: Observable;\n private _observer: Observer;\n\n constructor() {\n this._uploadsChange = new Observable(observer =>\n this._observer = observer);\n }\n\n get uploadsChange(): Observable {\n return this._uploadsChange;\n }\n\n changeFilesList(filesList: FileList) {\n this._observer.next(filesList);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FileModel, FileUtil} from \"../file.service\";\nimport {UploadFilesService} from \"../upload-files.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\nconst upload_disc = 'Disc';\n\nconst upload_url = 'URL';\n\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\n\n@Component({\n selector: 'gd-browse-files-modal',\n templateUrl: './browse-files-modal.component.html',\n styleUrls: ['./browse-files-modal.component.less']\n})\nexport class BrowseFilesModalComponent implements OnInit {\n uploads = uploads_choices;\n\n @Input() files;\n @Input() uploadConfig;\n @Output() selectedFileGuid = new EventEmitter();\n @Output() selectedDirectory = new EventEmitter();\n @Output() urlForUpload = new EventEmitter();\n @Output() closing = new EventEmitter();\n private selectedFile: FileModel;\n showUploadUrl = false;\n showUploadFile = false;\n\n constructor(private _uploadService: UploadFilesService) {\n }\n\n ngOnInit() {\n }\n\n getSize(size: number) {\n const mb = size / 1024 / 1024;\n if (mb > 1) {\n return (Math.round(mb * 100) / 100) + ' MB';\n } else {\n const kb = size / 1024;\n if (kb > 1) {\n return (Math.round(kb * 100) / 100) + ' KB';\n }\n }\n return size + ' Bytes';\n }\n\n getFormatName(file: FileModel) {\n return FileUtil.find(file.name, file.directory).format;\n }\n\n getFormatIcon(file: FileModel) {\n return FileUtil.find(file.name, file.directory).icon;\n }\n\n choose(file: FileModel) {\n this.selectedFile = file;\n if (file.directory || file.isDirectory) {\n this.selectedDirectory.emit(file.name);\n } else {\n this.selectedFileGuid.emit(file.guid);\n }\n }\n\n goUp() {\n if (this.selectedFile) {\n let guid = this.selectedFile.guid;\n if (guid.length > 0 && guid.indexOf('/') === -1) {\n guid = '';\n } else {\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\n }\n this.selectedDirectory.emit(guid);\n }\n }\n\n selectUpload($event: string) {\n if (upload_url === $event) {\n this.showUploadUrl = true;\n } else {\n this.showUploadUrl = false;\n $(\"#gd-upload-input\").trigger('click');\n }\n }\n\n refresh($event) {\n\n if ($event) {\n this.files = null;\n this.selectedDirectory.emit('');\n this.showUploadUrl = false;\n this.selectedFile = null;\n } else {\n this.closing.emit(true);\n }\n }\n\n showSpinner() {\n return !this.files;\n }\n\n uploadUrl(url: string) {\n if (url) {\n this.urlForUpload.emit(url);\n this.cleanUpload();\n }\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n }\n\n cleanUpload() {\n this.showUploadFile = false;\n this.showUploadUrl = false;\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class ZoomService {\n private _observer: Subject = new Subject();\n private readonly _zoomChange: Observable = this._observer.asObservable();\n private _zoom: number;\n\n constructor() {\n }\n\n get zoom(): number {\n return this._zoom;\n }\n\n get zoomChange(): Observable {\n return this._zoomChange;\n }\n\n changeZoom(zoom: number) {\n this._zoom = zoom;\n this._observer.next(zoom);\n }\n\n private createZoomOption(val: any, name: string, sep: boolean = false) {\n return {value: val, name: name, separator: sep}\n }\n\n zoomOptions(width, height) {\n return [this.createZoomOption(25, '25%'),\n this.createZoomOption(50, '50%'),\n this.createZoomOption(100,'100%'),\n this.createZoomOption(150, '150%'),\n this.createZoomOption(200, '200%'),\n this.createZoomOption(300, '300%'),\n this.createZoomOption(0, '', true),\n this.createZoomOption(width, 'Fit Width'),\n this.createZoomOption(height, 'Fit Height')];\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class PagePreloadService {\n private readonly _checkPreload: Observable;\n private _observer: Observer;\n\n constructor() {\n this._checkPreload = new Observable(observer =>\n this._observer = observer);\n }\n\n get checkPreload(): Observable {\n return this._checkPreload;\n }\n\n changeLastPageInView(page: number) {\n if(this._observer) {\n this._observer.next(page);\n }\n }\n}\n","import {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 {\n AfterViewChecked,\n Component,\n ElementRef,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges,\n Output,\n EventEmitter\n} from '@angular/core';\nimport {FileDescription, FileUtil} from \"../file.service\";\nimport {ZoomService} from \"../zoom.service\";\nimport * as Hammer from 'hammerjs';\nimport {WindowService} from '../window.service';\nimport * as jquery from 'jquery';\nimport { NavigateService } from '../navigate.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-document',\n templateUrl: './document.component.html',\n styleUrls: ['./document.component.less']\n})\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\n\n @Input() mode: boolean;\n @Input() preloadPageCount: number;\n @Input() file: FileDescription;\n @Input() selectedPage: number;\n @Output() onpan = new EventEmitter();\n wait = false;\n zoom: number;\n\n docWidth = null;\n docHeight = null;\n viewportWidth = null;\n viewportHeight = null;\n scale = null;\n lastScale = null;\n container = null;\n doc = null;\n x = 0;\n lastX = 0;\n y = 0;\n lastY = 0;\n pinchCenter = null;\n pinchCenterOffset = null;\n curWidth = 0;\n curHeight = 0;\n isDesktop: boolean;\n\n constructor(protected _elementRef: ElementRef,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _navigateService: NavigateService,) {\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n }\n\n ngOnInit() {\n if (this.ifPresentation())\n {\n this.selectedPage = 1;\n }\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 ifPresentation() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\n }\n\n getDimensionWithUnit(value: number, pageNumber: number) {\n return this.ifPresentation() && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\n }\n\n ifEdge() {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n ngAfterViewChecked(): void {\n 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 this.onpan.emit($event);\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 isVisible(pageNumber) {\n if (this.ifPresentation()) {\n return pageNumber === this.selectedPage ? true : false;\n }\n else {\n return true;\n }\n }\n}\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gd-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.less']\n})\nexport class PageComponent implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() width: number;\n @Input() height: number;\n @Input() number: number;\n @Input() data: string;\n @Input() isHtml: boolean;\n @Input() editable: boolean;\n imgData: string;\n\n constructor() {\n }\n\n ngOnInit() {\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n if(isIE && this.number === 0){\n this.editable = false;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // 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+<')\n .replace(/\\uFEFF/g,\"\")\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\n : 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 {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 private loadedPagesSet = new Set();\n\n constructor(private _elementRef: ElementRef,\n private _navigateService: NavigateService,\n private _pagePreloadService: PagePreloadService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _viewportService: ViewportService) {\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n this.refresh();\n });\n }\n\n ngAfterViewInit() {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n this._navigateService.navigate.subscribe((value => {\n this.currentPage = value;\n this.scrollToPage(value);\n }));\n this.refresh();\n }\n\n @HostListener('scroll') scrolling() {\n this.refresh();\n }\n\n @HostListener('window:resize') resizing() {\n this.refresh();\n }\n\n scrollToPage(pageNumber: number) {\n const el = this._elementRef.nativeElement;\n const page = this.getPage(pageNumber);\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\n return;\n }\n const pagesHeight = this.calculateOffset(pageNumber);\n const options = {\n left: 0,\n top: pagesHeight\n };\n if(el){\n // using polyfill\n el.scroll(options);\n }\n }\n\n private getChildren() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n // here and in the similar line below we getting the document pages\n return el.children.item(0).children.item(0).children;\n }\n }\n\n private getPage(pageNumber: number) {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\n }\n }\n\n private calculateOffset(pageNumber: number) {\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\n const margin = this._windowService.isDesktop() ? 40 : 10;\n let pagesHeight = 0;\n for (let i = 1; i < pageNumber / count; i++) {\n const item = this.getPage(i);\n const clientHeight = item ? item.clientHeight : 0;\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\n }\n return pagesHeight;\n }\n\n private countPagesOnWidth() {\n const pageEl = this.getPage(1);\n const offset = 150;\n 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 if (!this.loadedPagesSet.has(page)) {\n this._pagePreloadService.changeLastPageInView(page);\n this.loadedPagesSet.add(page);\n }\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.refresh();\n }\n\n ngOnInit(): void {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n }\n\n\n private getWidth() {\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdMouseWheel]'\n})\nexport class MouseWheelDirective {\n @Output() mouseWheelUp = new EventEmitter();\n @Output() mouseWheelDown = new EventEmitter();\n\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\n this.mouseWheelFunc(event);\n }\n\n mouseWheelFunc(event: any) {\n event = window.event ;\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\n if(delta > 0) {\n this.mouseWheelUp.emit(event);\n } else if(delta < 0) {\n this.mouseWheelDown.emit(event);\n }\n }\n}\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\nimport {ZoomService} from \"./zoom.service\";\nimport {FileUtil} from \"./file.service\";\nimport { WindowService } from './window.service';\n\n@Directive({\n selector: '[gdZoom]'\n})\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n\n @Input() zoomActive = true;\n @Input() file;\n\n @HostBinding('style.zoom') zoomInt: number;\n @HostBinding('style.transform') transform: string;\n @HostBinding('style.transform-origin') transformOrigin: string;\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n @HostBinding('style.min-width') minWidth: string;\n el: ElementRef;\n\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\n this.el = el;\n }\n\n ngOnDestroy(): void {\n }\n\n ngOnChanges(): void {\n this.setStyles(this._zoomService.zoom);\n this.resizePages(this._zoomService.zoom);\n }\n\n ngOnInit(): void {\n if (! this.zoomActive) {\n return;\n }\n\n this.setStyles(this._zoomService.zoom);\n this._zoomService.zoomChange.subscribe((zoom) => {\n this.setStyles(zoom);\n this.resizePages(zoom);\n });\n }\n\n private setStyles(zoom) {\n if (! this.zoomActive) {\n return;\n }\n\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n \n if (this._windowService.isEdge()) {\n this.zoomInt = zoomInt;\n }\n else {\n this.zoomInt = null;\n }\n \n if (!this._windowService.isEdge()) {\n this.transform = 'scale(' + zoomInt + ')';\n this.transformOrigin = 'top left';\n }\n else {\n this.transform = \"\";\n this.transformOrigin = \"\";\n }\n\n let maxWidth = 0;\n this.file.pages.forEach(page => {\n {\n if (page.width > maxWidth){\n maxWidth = page.width;\n }\n }\n });\n\n // Images and Excel-related files receiving dimensions in px from server\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\n }\n\n private getScrollWidth(elm){\n return elm.offsetWidth - elm.clientWidth;\n }\n\n private getScrollHeight(elm){\n return elm.offsetHeight - elm.clientHeight;\n }\n\n private resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\n }\n\n ngAfterViewInit(): void {\n this.setStyles(this._zoomService.zoom);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnCloseService {\n private _observer: Subject = new Subject();\n private readonly _onClose: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get onClose() {\n return this._onClose;\n }\n\n close(close: boolean) {\n this._observer.next(close)\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {OnCloseService} from \"../on-close.service\";\n\nexport interface Option {\n name: string;\n value: any;\n separator: boolean;\n}\n\n@Component({\n selector: 'gd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.less']\n})\nexport class SelectComponent {\n\n @Input() options: Option[];\n @Input() disabled = false;\n @Input() showSelected: Option;\n @Output() selected: EventEmitter = new EventEmitter();\n @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 this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\n this.stopList.push(Api.LOAD_THUMBNAILS);\n this.stopList.push(Api.GET_FILE_STATUS);\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, ElementRef, Renderer2} from '@angular/core';\nimport * as jquery from 'jquery';\nimport {FormattingService} from \"../formatting.service\";\nimport {OnCloseService} from \"../on-close.service\";\nimport {Option} from \"../select/select.component\";\nimport { ZoomService } from '../zoom.service';\nimport { WindowService } from '../window.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-text-menu',\n templateUrl: './text-menu.component.html',\n styleUrls: ['./text-menu.component.less']\n})\nexport class TextMenuComponent implements OnInit {\n @Input() blur: boolean;\n @Input() fontSize: number;\n @Input() font: string;\n @Input() bold: boolean;\n @Input() italic: boolean;\n @Input() underline: boolean;\n @Input() color: string;\n @Input() decoration = true;\n @Input() showTooltips = true;\n\n @Output() outFontSize = new EventEmitter();\n @Output() outFont = new EventEmitter();\n @Output() outBold = new EventEmitter();\n @Output() outItalic = new EventEmitter();\n @Output() outUnderline = new EventEmitter();\n @Output() outColor = new EventEmitter();\n\n fontSizeOptions = FormattingService.getFontSizeOptions();\n fontOptions = FormattingService.getFontOptions();\n colorPickerShow = false;\n\n isMobile: boolean;\n\n constructor(private _onCloseService: OnCloseService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n \n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changePosition(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changePosition(val: number) {\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\n }\n\n selectFontSize($event: Option) {\n $(\".gd-wrapper\").off(\"keyup\");\n this.outFontSize.emit($event.value);\n $(\".gd-wrapper\").on(\"keyup\", () => {\n const fontElements = document.getElementsByTagName(\"font\");\n for (let i = 0, len = fontElements.length; i < len; ++i) {\n if (fontElements[i].getAttribute('size') === \"7\") {\n fontElements[i].removeAttribute(\"size\");\n fontElements[i].style.fontSize = $event + \"px\";\n }\n }\n });\n }\n\n selectFont($event: Option) {\n event.preventDefault();\n event.stopPropagation();\n this.outFont.emit($event.value);\n }\n\n toggleColorPicker($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.colorPickerShow = !this.colorPickerShow;\n }\n\n selectColor($event: string) {\n this.colorPickerShow = false;\n this.outColor.emit($event);\n }\n\n toggleBold(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outBold.emit(!this.bold);\n }\n\n toggleItalic(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outItalic.emit(!this.italic);\n }\n\n toggleUnderline(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outUnderline.emit(!this.underline);\n }\n\n closePicker($event) {\n this.colorPickerShow = !$event;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.service\";\nimport { ZoomService } from '../zoom.service';\n\nexport class MenuType {\n public static FOR_SIGNATURE = \"signature\";\n public static FOR_ANNOTATION = \"annotation\";\n}\n\n@Component({\n selector: 'gd-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.less']\n})\nexport class ContextMenuComponent implements OnInit {\n @Input() formatting: Formatting = Formatting.default();\n @Input() textMenu: boolean;\n @Input() topPosition: number;\n @Input() lock = false;\n @Input() translation = 0;\n @Input() menuType: string;\n @Output() changeFormatting = new EventEmitter();\n @Output() removeItem = new EventEmitter();\n @Output() copySign = new EventEmitter();\n @Output() lockOut = new EventEmitter();\n @Output() comment = new EventEmitter();\n\n isMobile: boolean;\n\n constructor(private _windowService: WindowService,\n private _zoomService: ZoomService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changeScale(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changeScale(val: number){\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\n }\n\n saveChanges() {\n this.changeFormatting.emit(this.formatting);\n }\n\n selectFontSize($event: number) {\n this.formatting.fontSize = $event;\n this.saveChanges();\n }\n\n selectFont($event: string) {\n this.formatting.font = $event;\n this.saveChanges();\n }\n\n selectColor($event: string) {\n this.formatting.color = $event;\n this.saveChanges();\n }\n\n toggleBold($event) {\n this.formatting.bold = $event;\n this.saveChanges();\n }\n\n toggleItalic($event) {\n this.formatting.italic = $event;\n this.saveChanges();\n }\n\n toggleUnderline($event) {\n this.formatting.underline = $event;\n this.saveChanges();\n }\n\n deleteItem() {\n this.removeItem.emit(true);\n }\n\n toggleLock() {\n this.lock = !this.lock;\n this.lockOut.emit(this.lock);\n }\n\n onCopySign() {\n this.copySign.emit(true);\n }\n\n isSignature() {\n return this.menuType === MenuType.FOR_SIGNATURE;\n }\n\n isAnnotation() {\n return this.menuType === MenuType.FOR_ANNOTATION;\n }\n\n addComment() {\n this.comment.emit(true);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\nimport {SidePanelComponent} from './side-panel/side-panel.component';\nimport {ButtonComponent} from './button/button.component';\nimport {LogoComponent} from './logo/logo.component';\nimport {TooltipComponent} from './tooltip/tooltip.component';\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons';\nimport {far} from '@fortawesome/free-regular-svg-icons';\nimport {Api, ConfigService,} from \"./config.service\";\nimport {ModalService} from \"./modal.service\";\nimport {ModalComponent} from './modal/modal.component';\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\nimport {DocumentComponent} from './document/document.component';\nimport {PageComponent} from './page/page.component';\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\nimport {UploadFilesService} from \"./upload-files.service\";\nimport {DndDirective} from './dnd.directive';\nimport {ScrollableDirective} from './scrollable.directive';\nimport {MouseWheelDirective} from './mousewheel.directive';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomDirective} from './zoom.directive';\nimport {ZoomService} from \"./zoom.service\";\nimport {SelectComponent} from './select/select.component';\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\nimport {RotationDirective} from './rotation.directive';\nimport {InitStateComponent} from './init-state/init-state.component';\nimport {RenderPrintService} from \"./render-print.service\";\nimport {RenderPrintDirective} from './render-print.directive';\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {PasswordService} from \"./password.service\";\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\nimport {SearchComponent} from './search/search.component';\nimport {SearchableDirective} from './searchable.directive';\nimport {SearchService} from \"./search.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\nimport {TabComponent} from \"./tab/tab.component\";\nimport {TabsComponent} from \"./tabs/tabs.component\";\nimport {FormattingService} from \"./formatting.service\";\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\nimport {FormattingDirective} from './formatting.directive';\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport {OnCloseService} from \"./on-close.service\";\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\nimport {EditorDirective} from './editor.directive';\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\nimport {LoadingMaskService} from './loading-mask.service';\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\nimport {TabActivatorService} from \"./tab-activator.service\";\nimport {\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent\n} from './drop-down/drop-down.component';\nimport {ClickOutsideModule} from 'ng-click-outside';\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\nimport {TooltipDirective} from './tooltip.directive';\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\nimport {HostDynamicDirective} from './host-dynamic.directive';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\nimport {ResizingComponent} from './resizing/resizing.component';\nimport {TopTabComponent} from './top-tab/top-tab.component';\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\nimport {TextMenuComponent} from './text-menu/text-menu.component';\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\n\nconst providers = [ConfigService,\n Api,\n ModalService,\n FileService,\n FileModel,\n FileUtil,\n Utils,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFilesService,\n RenderPrintService,\n NavigateService,\n PagePreloadService,\n ZoomService,\n ExceptionMessageService,\n PasswordService,\n ErrorInterceptorService,\n SearchService,\n WindowService,\n ViewportService,\n FormattingService,\n BackFormattingService,\n OnCloseService,\n LoadingMaskInterceptorService,\n LoadingMaskService,\n TabActivatorService,\n AddDynamicComponentService,\n HostingDynamicComponentService,\n TopTabActivatorService];\n\n@NgModule({\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\n declarations: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFileZoneComponent,\n DndDirective,\n ScrollableDirective,\n MouseWheelDirective,\n ZoomDirective,\n SelectComponent,\n DisabledCursorDirective,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n EditorDirective,\n LoadingMaskComponent,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n exports: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n SanitizeHtmlPipe,\n UploadFileZoneComponent,\n ScrollableDirective,\n MouseWheelDirective,\n SelectComponent,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n LoadingMaskComponent,\n DndDirective,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n ZoomDirective,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n providers: providers\n})\nexport class CommonComponentsModule {\n constructor() {\n library.add(fas, far);\n }\n}\n"],"names":["Component","EventEmitter","Input","Output","Subject","fromEvent","debounceTime","distinctUntilChanged","startWith","tap","HttpHeaders","Injectable","ElementRef","tslib_1.__extends","Observable","$","Pipe","DomSanitizer","Directive","HostBinding","HostListener","tslib_1.__values","BehaviorSubject","map","catchError","HttpErrorResponse","throwError","ViewChild","finalize","ViewEncapsulation","Inject","forwardRef","ComponentFactoryResolver","ApplicationRef","ViewContainerRef","Renderer2","library","fas","far","NgModule","CommonModule","FontAwesomeModule","ClickOutsideModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"groupdocs.examples.angular-common-components.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {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 {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges,\r\n Output,\r\n EventEmitter\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Output() onpan = new EventEmitter();\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService,) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = 1;\r\n }\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 ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n 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 this.onpan.emit($event);\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 isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n this.selectSheet(value);\r\n });\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n 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 if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n }\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, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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","$","ViewChildren","Pipe","DomSanitizer","Directive","HostBinding","HostListener","tslib_1.__values","BehaviorSubject","map","catchError","HttpErrorResponse","throwError","ViewChild","finalize","ViewEncapsulation","Inject","forwardRef","ComponentFactoryResolver","ApplicationRef","ViewContainerRef","Renderer2","library","fas","far","NgModule","CommonModule","FontAwesomeModule","ClickOutsideModule"],"mappings":"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"} \ No newline at end of file diff --git a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js index 33d5cf3fa..8b8b93f34 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,16 @@ !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"; /*! ***************************************************************************** - 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 + Copyright (c) Microsoft Corporation. - 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. + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. - See the Apache Version 2.0 License for specific language governing permissions - and limitations under the License. - ***************************************************************************** */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 b=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-top-toolbar",template:'
\n
\n \n
\n
\n',styles:[".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"]}]}],t.ctorParameters=function(){return[]},t}(),v=function(){function t(){this.closable=!0,this.saveable=!0,this.hideSidePanel=new e.EventEmitter,this.saveInSidePanel=new e.EventEmitter,this.onlyTitle=!1}return t.prototype.closeSidePanel=function(){this.hideSidePanel.emit(!0)},t.prototype.saveBySidePanel=function(){this.saveInSidePanel.emit(!0)},t.prototype.toggleTitleMode=function(){this.closable&&!this.saveable&&(this.onlyTitle=!this.onlyTitle)},t.decorators=[{type:e.Component,args:[{selector:"gd-side-panel",template:'
\n
\n \n
{{title}}
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={title:[{type:e.Input}],icon:[{type:e.Input}],closable:[{type:e.Input}],saveable:[{type:e.Input}],hideSidePanel:[{type:e.Output}],saveInSidePanel:[{type:e.Output}]},t}();var x=function(){function t(){var t=this;this.resizeSubject=new n.Subject,this.width=window.innerWidth,this.height=window.innerHeight,this._resize$=n.fromEvent(window,"resize").pipe(i.debounceTime(200),i.distinctUntilChanged(),i.startWith({target:{innerWidth:window.innerWidth,innerHeight:window.innerHeight}}),i.tap((function(e){t.resizeSubject.next(e.target),t.width=e.target.innerWidth,t.height=e.target.innerHeight}))),this._resize$.subscribe()}return Object.defineProperty(t.prototype,"onResize",{get:function(){return this.resizeSubject.asObservable()},enumerable:!0,configurable:!0}),t.prototype.isMobile=function(){return this.width<=425},t.prototype.isTablet=function(){return this.width<=1024},t.prototype.isDesktop=function(){return!this.isMobile()&&!this.isTablet()},t.prototype.getWidth=function(){return this.width},t.prototype.getHeight=function(){return this.height},t.prototype.isEdge=function(){return window.navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.isFirefox=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},t}();var w=function(){function t(t){var e=this;this.iconOnly=!0,this.intent="default",this.disabled=!1,this.toggle=!1,this.iconRegular=!1,this.elementPosition=0,this.showToolTip=!1,this.isDesktop=t.isDesktop(),t.onResize.subscribe((function(o){e.isDesktop=t.isDesktop()}))}return t.prototype.iconButtonClass=function(){return this.iconOnly?"icon-button":""},t.prototype.onHovering=function(){this.isDesktop&&!this.disabled&&(this.className+=" active")},t.prototype.onUnhovering=function(){this.isDesktop&&!this.disabled&&(this.className=this.cleanAll(this.className," active"))},t.prototype.cleanAll=function(t,e){for(;t&&-1!==t.indexOf(e);)t=t.replace(e,"");return t},t.decorators=[{type:e.Component,args:[{selector:"gd-button",template:'
\n \n \n
\n \n
\n
\n',styles:[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],t.ctorParameters=function(){return[{type:x}]},t.propDecorators={iconOnly:[{type:e.Input}],intent:[{type:e.Input}],disabled:[{type:e.Input}],icon:[{type:e.Input}],iconClass:[{type:e.Input}],tooltip:[{type:e.Input}],className:[{type:e.Input}],toggle:[{type:e.Input}],iconSize:[{type:e.Input}],iconRegular:[{type:e.Input}],elementPosition:[{type:e.Input}]},t}();var y=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-logo",template:'\n\n',styles:[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={logo:[{type:e.Input}],icon:[{type:e.Input}]},t}();var 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.SEARCH_APP="/search",t.EDITOR_APP="/editor",t.COMPARISON_APP="/comparison",t.CONVERSION_APP="/conversion",t.METADATA_APP="/metadata",t.DEFAULT_API_ENDPOINT=window.location.href,t.LOAD_FILE_TREE="/loadFileTree",t.LOAD_CONFIG="/loadConfig",t.LOAD_DOCUMENT_DESCRIPTION="/loadDocumentDescription",t.LOAD_DOCUMENT_PAGE="/loadDocumentPage",t.LOAD_DOCUMENT_PROPERTIES="/loadProperties",t.LOAD_DOCUMENT_PROPERTIES_NAMES="/loadPropertiesNames",t.SAVE_PROPERTY="/saveProperty",t.REMOVE_PROPERTY="/removeProperty",t.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",t.UPLOAD_DOCUMENTS="/uploadDocument",t.DOWNLOAD_DOCUMENTS="/downloadDocument",t.LOAD_PRINT="/loadPrint",t.LOAD_PRINT_PDF="/printPdf",t.LOAD_THUMBNAILS="/loadThumbnails",t.LOAD_FORMATS="/loadFormats",t.SAVE_FILE="/saveFile",t.CREATE_FILE="/createFile",t.COMPARE_FILES="/compare",t.CONVERT_FILE="/convert",t.DELETE_SIGNATURE_FILE="/deleteSignatureFile",t.REMOVE_FROM_INDEX="/removeFromIndex",t.GET_FILE_STATUS="/getFileStatus",t.SAVE_OPTICAL_CODE="/saveOpticalCode",t.SAVE_TEXT="/saveText",t.SAVE_IMAGE="/saveImage",t.SAVE_STAMP="/saveStamp",t.SIGN="/sign",t.DOWNLOAD_SIGNED="/downloadSigned",t.LOAD_SIGNATURE_IMAGE="/loadSignatureImage",t.ANNOTATE="/annotate",t.SEARCH="/search",t.ADD_FILES_TO_INDEX="/addFilesToIndex",t.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.getMetadataApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(S.METADATA_APP)?this._apiEndpoint:this._apiEndpoint+S.METADATA_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.prototype.getSearchApiEndpoint=function(){return this._apiEndpoint.endsWith(S.SEARCH_APP)?this._apiEndpoint:this._apiEndpoint+S.SEARCH_APP},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}();var _=function(){function t(){}return t.PasswordRequired="gd-password-required",t.ErrorMessage="gd-error-message",t.BrowseFiles="gd-browse-files",t.CreateDocument="gd-create-document",t.OperationSuccess="gd-success-modal",t.DrawHandSignature="gd-draw-hand-signature",t.DrawStampSignature="gd-draw-stamp-signature",t.InformationMessage="gd-information-message",t}();var P=function(){function t(){this.modals=[]}return t.prototype.add=function(t){this.modals.push(t)},t.prototype.remove=function(t){this.modals=this.modals.filter((function(e){return e.id!==t}))},t.prototype.open=function(t){var e=this.modals.filter((function(e){return e.id===t}))[0];e&&e.open()},t.prototype.close=function(t){var e=this.modals.filter((function(e){return e.id===t}))[0];e&&e.close()},t}();var E=function(){function t(t,o){this.modalService=t,this.visible=new e.EventEmitter,this.cancel=new e.EventEmitter,this.visibility=!1,this.element=o.nativeElement}return t.prototype.ngOnInit=function(){this.id?(document.body.appendChild(this.element),this.modalService.add(this)):console.error("modal must have an id")},t.prototype.ngOnDestroy=function(){this.modalService.remove(this.id),this.element.remove()},t.prototype.open=function(){this.visibility=!0,this.visible.emit(!0)},t.prototype.close=function(){event.preventDefault(),event.stopPropagation(),this.visibility=!1,this.visible.emit(!1)},t.prototype.onClose=function(t){t.stopPropagation(),t&&t.target&&"modalDialog"===t.target.id&&this.close()},t.prototype.cancelClose=function(){this.cancel.emit(!1),this.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-modal",template:'
\n
\n
\n
\n\n
\n
×
\n

{{title}}

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

Drag & Drop your files here

\n

OR

\n
\n \n
\n
\n',styles:[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"]}]}],t.ctorParameters=function(){return[{type:L}]},t.propDecorators={closeUpload:[{type:e.Output}]},t}();var Q=function(){function t(t){this._uploadFilesService=t,this.closing=new e.EventEmitter,this.opening=new e.EventEmitter,this.dropped=new e.EventEmitter,this.active=!1,this.dragCounter=0}return t.prototype.onDragEnter=function(t){t.preventDefault(),t.stopPropagation(),this.dragCounter++,this.active=!0,this.opening.emit(!0)},t.prototype.onDragOver=function(t){return t.preventDefault(),t.stopPropagation(),!1},t.prototype.onDragLeave=function(t){t.preventDefault(),t.stopPropagation(),this.dragCounter--,0===this.dragCounter&&(this.active=!1,this.closeArea())},t.prototype.onDrop=function(t){t.preventDefault(),t.stopPropagation();var e=t.dataTransfer.files;e.length>0&&(this.active=!1,this.dropped.emit(!0),this._uploadFilesService.changeFilesList(e),this.closeArea())},t.prototype.onClick=function(t){this.closeArea()},t.prototype.closeArea=function(){this.closing.emit(!0),this.opening.emit(!1)},t.decorators=[{type:e.Directive,args:[{selector:"[gdDnd]"}]}],t.ctorParameters=function(){return[{type:L}]},t.propDecorators={closing:[{type:e.Output}],opening:[{type:e.Output}],dropped:[{type:e.Output}],active:[{type:e.HostBinding,args:["class.active"]}],onDragEnter:[{type:e.HostListener,args:["dragenter",["$event"]]}],onDragOver:[{type:e.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:e.HostListener,args:["dragleave",["$event"]]}],onDrop:[{type:e.HostListener,args:["drop",["$event"]]}],onClick:[{type:e.HostListener,args:["click",["$event"]]}]},t}();var 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)),b=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*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.loadedPagesSet=new Set,this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(t){s.zoom=t||s.zoom,s.refresh()}))}return t.prototype.ngAfterViewInit=function(){var t=this;this.zoom=this._zoomService.zoom?this._zoomService.zoom:this.zoom,this._navigateService.navigate.subscribe((function(e){t.currentPage=e,t.scrollToPage(e)})),this.refresh()},t.prototype.scrolling=function(){this.refresh()},t.prototype.resizing=function(){this.refresh()},t.prototype.scrollToPage=function(t){var e=this._elementRef.nativeElement,o=this.getPage(t),n=t>0?this.getPage(t-1):null,i=n&&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;t0?this.mouseWheelUp.emit(t):e<0&&this.mouseWheelDown.emit(t)},t.decorators=[{type:e.Directive,args:[{selector:"[gdMouseWheel]"}]}],t.propDecorators={mouseWheelUp:[{type:e.Output}],mouseWheelDown:[{type:e.Output}],onMouseWheelChrome:[{type:e.HostListener,args:["mousewheel",["$event"]]}],onMouseWheelFirefox:[{type:e.HostListener,args:["DOMMouseScroll",["$event"]]}],onMouseWheelIE:[{type:e.HostListener,args:["onmousewheel",["$event"]]}]},t}();var rt=function(){function t(t,e,o){this._zoomService=t,this._windowService=e,this.zoomActive=!0,this.el=o}return t.prototype.ngOnDestroy=function(){},t.prototype.ngOnChanges=function(){this.setStyles(this._zoomService.zoom),this.resizePages(this._zoomService.zoom)},t.prototype.ngOnInit=function(){var t=this;this.zoomActive&&(this.setStyles(this._zoomService.zoom),this._zoomService.zoomChange.subscribe((function(e){t.setStyles(e),t.resizePages(e)})))},t.prototype.setStyles=function(t){if(this.zoomActive){var e=100===t?1:t/100;this._windowService.isEdge()?this.zoomInt=e:this.zoomInt=null,this._windowService.isEdge()?(this.transform="",this.transformOrigin=""):(this.transform="scale("+e+")",this.transformOrigin="top left");var o=0;this.file.pages.forEach((function(t){t.width>o&&(o=t.width)})),this.minWidth=o+R.find(this.file.guid,!1).unit}},t.prototype.getScrollWidth=function(t){return t.offsetWidth-t.clientWidth},t.prototype.getScrollHeight=function(t){return t.offsetHeight-t.clientHeight},t.prototype.resizePages=function(t){var e=100===t?1:t/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.el.nativeElement.parentElement.offsetHeight,i=this.getScrollWidth(this.el.nativeElement.parentElement),r=this.getScrollHeight(this.el.nativeElement.parentElement);this.width=o/e-i/e+"px",this.height=n/e-r/e+"px"},t.prototype.ngAfterViewInit=function(){this.setStyles(this._zoomService.zoom)},t.decorators=[{type:e.Directive,args:[{selector:"[gdZoom]"}]}],t.ctorParameters=function(){return[{type:B},{type:x},{type:e.ElementRef}]},t.propDecorators={zoomActive:[{type:e.Input}],file:[{type:e.Input}],zoomInt:[{type:e.HostBinding,args:["style.zoom"]}],transform:[{type:e.HostBinding,args:["style.transform"]}],transformOrigin:[{type:e.HostBinding,args:["style.transform-origin"]}],width:[{type:e.HostBinding,args:["style.width"]}],height:[{type:e.HostBinding,args:["style.height"]}],minWidth:[{type:e.HostBinding,args:["style.min-width"]}]},t}();var st=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 at=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:st}]},t.propDecorators={options:[{type:e.Input}],disabled:[{type:e.Input}],showSelected:[{type:e.Input}],selected:[{type:e.Output}],isOpen:[{type:e.Input}]},t}();var ct=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 pt=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 lt=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 dt=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 ut=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:dt}]},t.propDecorators={htmlMode:[{type:e.Input}]},t}();var ht=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:ht}]},t}();var ft=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 mt=l,bt=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=mt("#password");t&&t.focus()}),100):mt("#password").val("")},t.prototype.cancel=function(t){mt("#password").val(""),this.cancelEvent.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-password-required",template:'\n
\n
\n \n \n {{message}}\n \n Open\n \n
\n
\n
\n',styles:["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"]}]}],t.ctorParameters=function(){return[{type:ht},{type:ft}]},t.propDecorators={cancelEvent:[{type:e.Output}]},t}();var 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(_.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:ht}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(P),e.ɵɵinject(ht))},token:t,providedIn:"root"}),t}();var xt=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 wt=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:xt}]},t.propDecorators={hidePanel:[{type:e.Output}],textElement:[{type:e.ViewChild,args:["text",{static:!0}]}]},t}();var yt=l,kt=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){yt(t).removeClass("gd-highlight-select")}));var e=t.querySelectorAll(".gd-highlight")[this.current-1];if(yt(e).addClass("gd-highlight-select"),e){var o={left:0,top:yt(e).offset().top+t.parentElement.parentElement.scrollTop-150};t.parentElement.parentElement.scroll(o)}}}},t.prototype.highlightEl=function(t){var e=yt(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=yt(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 Ct=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 _t=function(){function t(t){var e=this;this._tabActivatorService=t,this.disabled=!1,this.active=!1,this.content=!0,this._tabActivatorService.activeTabChange.subscribe((function(t){e.activation(t)}))}return t.prototype.activation=function(t){this.id===t?this.active=!0:this.active=!1},t.prototype.ngOnInit=function(){},t.prototype.selectTab=function(){this.disabled||this._tabActivatorService.changeActiveTab(this.id)},t.decorators=[{type:e.Component,args:[{selector:"gd-tab",template:'
\n
{{tabTitle}}
\n \n
\n
\n \n
\n',styles:[".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],t.ctorParameters=function(){return[{type:Ct}]},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 Pt=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}(),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}();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"],zt=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 Ft=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),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}();var 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=!!/(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:It},{type:Ft},{type:Dt}]},t.propDecorators={mouseup:[{type:e.HostListener,args:["mouseup"]}]},t}();var Mt=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}(),Rt=function(){function t(){this._observer=new n.Subject,this._htmlContent=this._observer.asObservable()}return Object.defineProperty(t.prototype,"observer",{get:function(){return this._observer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"htmlContent",{get:function(){return this._htmlContent},enumerable:!0,configurable:!0}),t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}();var jt=function(){function t(t,e){this._selectionService=t,this._htmlService=e,this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return t.prototype.onInput=function(t){if(this.text=t.target,this.isIE&&this.text.innerHTML){var e=this.text.innerHTML.toString();this._htmlService.observer.next(e)}},t.prototype.onMouseleave=function(t){this._selectionService.captureSelection(),this.isIE&&this._htmlService.observer.next(t.target.innerHTML.toString())},t.prototype.onBlur=function(t){if(t.preventDefault(),this._selectionService.restoreSelection(),this.text.innerHTML){var e=this.text.innerHTML.toString();this._htmlService.observer.next(e)}else this._htmlService.observer.next(t.target.innerHTML.toString())},t.decorators=[{type:e.Directive,args:[{selector:"[gdEditor]"}]}],t.ctorParameters=function(){return[{type:Dt},{type:Rt}]},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),this.stopList.push(S.LOAD_DOCUMENT_PAGE),this.stopList.push(S.LOAD_THUMBNAILS),this.stopList.push(S.GET_FILE_STATUS)}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 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:'
\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 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:Lt}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(Lt))},token:t,providedIn:"root"}),t}();var Wt={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 Wt[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 Vt=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 Gt=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 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}();var 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}();var 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}();var 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}();var 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=M.getMousePosition(t)},t.prototype.resize=function(t,e){if(this.grab){var o=M.getMousePosition(t);if(0!==o.x||0!==o.y){var n=this.NE===e||this.NW===e,i=this.SW===e||this.NW===e;this.setOffsets(o,i,n),n&&this.offsetTop.emit(o.y-this.oldPosition.y),i&&this.offsetLeft.emit(o.x-this.oldPosition.x),this.oldPosition=o}}},t.prototype.setOffsets=function(t,e,o){var n=e?this.oldPosition.x-t.x:t.x-this.oldPosition.x,i=o?this.oldPosition.y-t.y:t.y-this.oldPosition.y;this.offsetX.emit(n),this.offsetY.emit(i)},t.prototype.end=function(t,e){this.resize(t,e),this.release.emit(!0),this.grab=!1},t.prototype.start=function(t){this.drop(t)},t.prototype.drop=function(t){t.stopPropagation(),t.preventDefault()},t.prototype.getElementId=function(t){return"#"+t+"-"+this.id},t.decorators=[{type:e.Component,args:[{selector:"gd-resizing",template:'
\n\n
\n\n
\n\n
\n',styles:[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={init:[{type:e.Input}],id:[{type:e.Input}],se:[{type:e.Input}],ne:[{type:e.Input}],sw:[{type:e.Input}],nw:[{type:e.Input}],pageWidth:[{type:e.Input}],pageHeight:[{type:e.Input}],offsetX:[{type:e.Output}],offsetY:[{type:e.Output}],offsetTop:[{type:e.Output}],offsetLeft:[{type:e.Output}],release:[{type:e.Output}]},t}();var te=function(t){function e(){return t.call(this)||this}return f(e,t),e}(Ct),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(_.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:te},{type:P},{type:ht}]},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 oe=l,ne=function(){function t(t,o,n,i,r){var s=this;this._onCloseService=t,this._zoomService=o,this._windowService=n,this._elementRef=i,this.renderer=r,this.decoration=!0,this.showTooltips=!0,this.outFontSize=new e.EventEmitter,this.outFont=new e.EventEmitter,this.outBold=new e.EventEmitter,this.outItalic=new e.EventEmitter,this.outUnderline=new e.EventEmitter,this.outColor=new e.EventEmitter,this.fontSizeOptions=It.getFontSizeOptions(),this.fontOptions=It.getFontOptions(),this.colorPickerShow=!1,t.onClose.subscribe((function(){s.colorPickerShow=!1})),this.isMobile=n.isMobile(),n.onResize.subscribe((function(t){s.isMobile=n.isMobile()})),o.zoomChange.subscribe((function(t){s.isMobile&&s.changePosition(t)}))}return t.prototype.ngOnInit=function(){},t.prototype.changePosition=function(t){var e=window.innerHeight-24-this._elementRef.nativeElement.parentElement.getBoundingClientRect().top-this._elementRef.nativeElement.parentElement.getBoundingClientRect().height,o=this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"width",window.innerWidth+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"top",e+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"left",-o+"px")},t.prototype.selectFontSize=function(t){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\n \n \n \n \n \n \n
\n
\n \n \n\n',styles:["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important}}"]}]}],t.ctorParameters=function(){return[{type:st},{type:B},{type:x},{type:e.ElementRef},{type:e.Renderer2}]},t.propDecorators={blur:[{type:e.Input}],fontSize:[{type:e.Input}],font:[{type:e.Input}],bold:[{type:e.Input}],italic:[{type:e.Input}],underline:[{type:e.Input}],color:[{type:e.Input}],decoration:[{type:e.Input}],showTooltips:[{type:e.Input}],outFontSize:[{type:e.Output}],outFont:[{type:e.Output}],outBold:[{type:e.Output}],outItalic:[{type:e.Output}],outUnderline:[{type:e.Output}],outColor:[{type:e.Output}]},t}();var ie=function(){function t(){}return t.FOR_SIGNATURE="signature",t.FOR_ANNOTATION="annotation",t}();var re=function(){function t(t,o,n,i){var r=this;this._windowService=t,this._zoomService=o,this._elementRef=n,this.renderer=i,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){r.isMobile=t.isMobile()})),o.zoomChange.subscribe((function(t){r.isMobile&&r.changeScale(t)}))}return t.prototype.ngOnInit=function(){},t.prototype.changeScale=function(t){this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-context-menu"),"transform","scale("+1/(t/100)+")")},t.prototype.saveChanges=function(){this.changeFormatting.emit(this.formatting)},t.prototype.selectFontSize=function(t){this.formatting.fontSize=t,this.saveChanges()},t.prototype.selectFont=function(t){this.formatting.font=t,this.saveChanges()},t.prototype.selectColor=function(t){this.formatting.color=t,this.saveChanges()},t.prototype.toggleBold=function(t){this.formatting.bold=t,this.saveChanges()},t.prototype.toggleItalic=function(t){this.formatting.italic=t,this.saveChanges()},t.prototype.toggleUnderline=function(t){this.formatting.underline=t,this.saveChanges()},t.prototype.deleteItem=function(){this.removeItem.emit(!0)},t.prototype.toggleLock=function(){this.lock=!this.lock,this.lockOut.emit(this.lock)},t.prototype.onCopySign=function(){this.copySign.emit(!0)},t.prototype.isSignature=function(){return this.menuType===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:'
\n \n \n \n \n \n \n
\n',styles:[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"]}]}],t.ctorParameters=function(){return[{type:x},{type:B},{type:e.ElementRef},{type:e.Renderer2}]},t.propDecorators={formatting:[{type:e.Input}],textMenu:[{type:e.Input}],topPosition:[{type:e.Input}],lock:[{type:e.Input}],translation:[{type:e.Input}],menuType:[{type:e.Input}],changeFormatting:[{type:e.Output}],removeItem:[{type:e.Output}],copySign:[{type:e.Output}],lockOut:[{type:e.Output}],comment:[{type:e.Output}]},t}();var se=[C,S,P,j,T,R,M,X,Z,Y,J,L,dt,$,N,B,ht,ft,vt,xt,x,et,It,Ft,st,Ht,Lt,Ct,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:[b,v,w,y,k,E,W,q,G,X,Z,Y,J,K,Q,nt,it,rt,at,ct,pt,lt,ut,gt,bt,wt,kt,St,_t,Pt,zt,At,Mt,jt,Ut,qt,Vt,$t,Nt,Gt,Xt,Jt,Qt,ee,ne,re],exports:[b,v,w,y,k,E,W,q,G,Z,Y,J,X,K,nt,it,at,pt,lt,ut,gt,bt,wt,kt,St,_t,Pt,zt,At,Mt,Ut,Q,qt,Vt,$t,Nt,rt,Nt,Gt,Xt,Jt,Qt,ee,ne,re],providers:se}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Zt,t.Api=S,t.BackFormattingService=Ft,t.BrowseFilesModalComponent=W,t.ButtonComponent=w,t.ColorPickerComponent=zt,t.CommonComponentsModule=ae,t.CommonModals=_,t.ConfigService=C,t.ContextMenuComponent=re,t.DisabledCursorDirective=ct,t.DndDirective=Q,t.DocumentComponent=q,t.DropDownComponent=qt,t.DropDownItemComponent=Vt,t.DropDownItemsComponent=$t,t.DropDownToggleComponent=Nt,t.EditHtmlService=Rt,t.EditorDirective=jt,t.ErrorInterceptorService=vt,t.ErrorModalComponent=gt,t.ExceptionMessageService=ht,t.FileCredentials=z,t.FileDescription=D,t.FileModel=T,t.FileService=j,t.FileUtil=R,t.Formatting=Et,t.FormattingDirective=At,t.FormattingService=It,t.HighlightSearchPipe=J,t.HostDynamicDirective=Jt,t.HostingDynamicComponentService=Yt,t.HttpError=A,t.InitStateComponent=lt,t.LeftSideBarComponent=Gt,t.LoadingMaskComponent=Ut,t.LoadingMaskInterceptorService=Ht,t.LoadingMaskService=Lt,t.LogoComponent=y,t.MenuType=ie,t.ModalComponent=E,t.ModalService=P,t.MouseWheelDirective=it,t.NavigateService=$,t.OnCloseService=st,t.PageComponent=G,t.PageModel=I,t.PagePreloadService=N,t.PasswordRequiredComponent=bt,t.PasswordService=ft,t.RenderPrintDirective=ut,t.RenderPrintService=dt,t.RotatedPage=O,t.RotationDirective=pt,t.SanitizeHtmlPipe=X,t.SanitizeResourceHtmlPipe=Z,t.SanitizeStylePipe=Y,t.SaveFile=F,t.ScrollableDirective=nt,t.SearchComponent=wt,t.SearchService=xt,t.SearchableDirective=kt,t.SelectComponent=at,t.SelectionService=Dt,t.SidePanelComponent=v,t.SuccessModalComponent=Mt,t.TabActivatorService=Ct,t.TabComponent=_t,t.TabbedToolbarsComponent=St,t.TextMenuComponent=ne,t.TooltipComponent=k,t.TopTabActivatorService=te,t.TopToolbarComponent=b,t.UploadFileZoneComponent=K,t.UploadFilesService=L,t.Utils=M,t.ViewportService=et,t.WindowService=x,t.ZoomDirective=rt,t.ZoomService=B,t.ɵa=Pt,t.ɵb=Xt,t.ɵc=Qt,t.ɵd=ee,Object.defineProperty(t,"__esModule",{value:!0})})); + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */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&&Symbol.iterator,o=e&&t[e],n=0;if(o)return o.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}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.closable=!0,this.saveable=!0,this.hideSidePanel=new e.EventEmitter,this.saveInSidePanel=new e.EventEmitter,this.onlyTitle=!1}return t.prototype.closeSidePanel=function(){this.hideSidePanel.emit(!0)},t.prototype.saveBySidePanel=function(){this.saveInSidePanel.emit(!0)},t.prototype.toggleTitleMode=function(){this.closable&&!this.saveable&&(this.onlyTitle=!this.onlyTitle)},t.decorators=[{type:e.Component,args:[{selector:"gd-side-panel",template:'
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;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,.gd-side-panel-wrapper .gd-side-panel-header .save{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display: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}],closable:[{type:e.Input}],saveable:[{type:e.Input}],hideSidePanel:[{type:e.Output}],saveInSidePanel:[{type:e.Output}]},t}();var 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}();var 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}();var 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}();var S=function(){function t(){this.position=0,this.visibility="hidden"}return t.prototype.getClass=function(){return 0===this.position?"tooltip":"tooltip "+(this.position>0?"last-element":"first-element")},Object.defineProperty(t.prototype,"show",{set:function(t){this.visibility=t?"shown":"hidden"},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-tooltip",template:'\r\n',styles:['.tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin: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 C=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",t.ANNOTATION_APP="/annotation",t.SEARCH_APP="/search",t.EDITOR_APP="/editor",t.COMPARISON_APP="/comparison",t.CONVERSION_APP="/conversion",t.METADATA_APP="/metadata",t.DEFAULT_API_ENDPOINT=window.location.href,t.LOAD_FILE_TREE="/loadFileTree",t.LOAD_CONFIG="/loadConfig",t.LOAD_DOCUMENT_DESCRIPTION="/loadDocumentDescription",t.LOAD_DOCUMENT_PAGE="/loadDocumentPage",t.LOAD_DOCUMENT_PROPERTIES="/loadProperties",t.LOAD_DOCUMENT_PROPERTIES_NAMES="/loadPropertiesNames",t.SAVE_PROPERTY="/saveProperty",t.REMOVE_PROPERTY="/removeProperty",t.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",t.UPLOAD_DOCUMENTS="/uploadDocument",t.DOWNLOAD_DOCUMENTS="/downloadDocument",t.LOAD_PRINT="/loadPrint",t.LOAD_PRINT_PDF="/printPdf",t.LOAD_THUMBNAILS="/loadThumbnails",t.LOAD_FORMATS="/loadFormats",t.SAVE_FILE="/saveFile",t.CREATE_FILE="/createFile",t.COMPARE_FILES="/compare",t.CONVERT_FILE="/convert",t.DELETE_SIGNATURE_FILE="/deleteSignatureFile",t.REMOVE_FROM_INDEX="/removeFromIndex",t.GET_FILE_STATUS="/getFileStatus",t.SAVE_OPTICAL_CODE="/saveOpticalCode",t.SAVE_TEXT="/saveText",t.SAVE_IMAGE="/saveImage",t.SAVE_STAMP="/saveStamp",t.SIGN="/sign",t.DOWNLOAD_SIGNED="/downloadSigned",t.LOAD_SIGNATURE_IMAGE="/loadSignatureImage",t.ANNOTATE="/annotate",t.SEARCH="/search",t.ADD_FILES_TO_INDEX="/addFilesToIndex",t.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},t.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},t}();var P=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.getMetadataApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(C.METADATA_APP)?this._apiEndpoint:this._apiEndpoint+C.METADATA_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.prototype.getSearchApiEndpoint=function(){return this._apiEndpoint.endsWith(C.SEARCH_APP)?this._apiEndpoint:this._apiEndpoint+C.SEARCH_APP},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}();var _=function(){function t(){}return t.PasswordRequired="gd-password-required",t.ErrorMessage="gd-error-message",t.BrowseFiles="gd-browse-files",t.CreateDocument="gd-create-document",t.OperationSuccess="gd-success-modal",t.DrawHandSignature="gd-draw-hand-signature",t.DrawStampSignature="gd-draw-stamp-signature",t.InformationMessage="gd-information-message",t}();var E=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:'
\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-dialog ::ng-deep .button{flex-direction:unset!important}.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:E},{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 k=function(){};var F=function(t,e){this.guid=t,this.password=e};var 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);var D=function(){this.printAllowed=!0};var T=function(){};var A=function(){function t(){}return t.BadRequest=400,t.Unauthorized=401,t.Forbidden=403,t.NotFound=404,t.TimeOut=408,t.Conflict=409,t.InternalServerError=500,t}();var M=function(){function t(){}return t.getMousePosition=function(t){var e={x:0,y:0},o=window.event,n=t||o;if(n.pageX||o.pageX||o.screenX||n.touches&&n.touches[0]&&n.touches[0].pageX){var i=void 0!==n.pageX&&0!==n.pageX?n.pageX:o.pageX,r=void 0!==n.pageY&&0!==n.pageY?n.pageY:o.pageY,s=void 0!==o.screenX&&0!==o.screenY,a=void 0!==o.screenY&&0!==o.screenY;e.x=i||(s?o.screenX:n.touches[0].pageX),e.y=r||(a?o.screenY:n.touches[0].pageY)}else n.clientX&&(e.x=n.clientX+document.body.scrollLeft,e.y=n.clientY+document.body.scrollTop);return e},t.toRgb=function(t){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(e){var o=parseInt(e[1],16),n=parseInt(e[2],16),i=parseInt(e[3],16);return e?"rgb("+o+","+n+","+i+")":""}return t},t.toHex=function(t){if(t.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i))return"#"===t.charAt(0)?t:"#"+t;if(!t.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/))return"";var e=[parseInt(RegExp.$1,10),parseInt(RegExp.$2,10),parseInt(RegExp.$3,10)],o=function(t){if(t.length<2)for(var e=0,o=2-t.length;e0?t.map.unknown:t.map.folder:t.map[i]}return t.map.folder},t.map={folder:{format:"",icon:"folder"},pdf:{format:"Portable Document Format",icon:"file-pdf",unit:"pt"},doc:{format:"Microsoft Word",icon:"file-word",unit:"pt"},docx:{format:"Microsoft Word",icon:"file-word",unit:"pt"},docm:{format:"Microsoft Word",icon:"file-word",unit:"pt"},dot:{format:"Microsoft Word",icon:"file-word",unit:"pt"},dotx:{format:"Microsoft Word",icon:"file-word",unit:"pt"},dotm:{format:"Microsoft Word",icon:"file-word",unit:"pt"},xls:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xlsx:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xlsm:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xlsb:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xls2003:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xltx:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},xltm:{format:"Microsoft Excel",icon:"file-excel",unit:"px"},ppt:{format:"Microsoft PowerPoint",icon:"file-powerpoint",unit:"pt"},pptx:{format:"Microsoft PowerPoint",icon:"file-powerpoint",unit:"pt"},pps:{format:"Microsoft PowerPoint",icon:"file-powerpoint",unit:"pt"},ppsx:{format:"Microsoft PowerPoint",icon:"file-powerpoint",unit:"pt"},vsd:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vdx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vss:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vsx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vst:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vtx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vsdx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vdw:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vstx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},vssx:{format:"Microsoft Visio",icon:"file-code",unit:"px"},mpp:{format:"Microsoft Project",icon:"file-alt",unit:"pt"},mpt:{format:"Microsoft Project",icon:"file-alt",unit:"pt"},msg:{format:"Microsoft Outlook",icon:"file-alt",unit:"pt"},eml:{format:"Microsoft Outlook",icon:"file-alt",unit:"pt"},emlx:{format:"Microsoft Outlook",icon:"file-alt",unit:"pt"},one:{format:"Microsoft OneNote",icon:"file-word",unit:"pt"},odt:{format:"Open Document Text",icon:"file-word",unit:"pt"},ott:{format:"Open Document Text Template",icon:"file-word",unit:"pt"},ods:{format:"Open Document Spreadsheet",icon:"file-excel",unit:"px"},odp:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},otp:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},ots:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},potx:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},potm:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},pptm:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},ppsm:{format:"Open Document Presentation",icon:"file-powerpoint",unit:"pt"},rtf:{format:"Rich Text Format",icon:"file-alt",unit:"pt"},txt:{format:"Plain Text File",icon:"file-alt",unit:"pt"},csv:{format:"Comma-Separated Values",icon:"file-excel",unit:"px"},html:{format:"HyperText Markup Language",icon:"file-word",unit:"pt"},mht:{format:"HyperText Markup Language",icon:"file-word",unit:"pt"},mhtml:{format:"HyperText Markup Language",icon:"file-word",unit:"pt"},xml:{format:"Extensible Markup Language",icon:"file-word",unit:"pt"},xps:{format:"XML Paper Specification",icon:"file-word",unit:"pt"},dxf:{format:"AutoCAD Drawing File Format",icon:"file-image",unit:"px"},dwg:{format:"AutoCAD Drawing File Format",icon:"file-image",unit:"px"},bmp:{format:"Bitmap Picture",icon:"file-image",unit:"px"},gif:{format:"Graphics Interchange Format",icon:"file-image",unit:"px"},jpg:{format:"Joint Photographic Experts Group",icon:"file-image",unit:"px"},jpe:{format:"Joint Photographic Experts Group",icon:"file-image",unit:"px"},jpeg:{format:"Joint Photographic Experts Group",icon:"file-image",unit:"px"},jfif:{format:"Joint Photographic Experts Group",icon:"file-image",unit:"px"},png:{format:"Portable Network Graphics",icon:"file-image",unit:"px"},tiff:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},tif:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},psd:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},svg:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},jp2:{format:"Tagged Image File Format",icon:"file-image",unit:"px"},epub:{format:"Electronic Publication",icon:"file-pdf",unit:"pt"},ico:{format:"Windows Icon",icon:"file-image",unit:"px"},webp:{format:"Compressed Image",icon:"file-image",unit:"px"},mobi:{format:"Mobipocket eBook",icon:"file-pdf",unit:"pt"},tex:{format:"LaTeX Source Document",icon:"file-pdf",unit:"pt"},djvu:{format:"Multi-Layer Raster Image",icon:"file-alt",unit:"pt"},unknown:{format:"This format is not supported",icon:"file"}},t}();var L=function(){},j=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 H=l,U=[{name:"Disc",icon:"hdd"},{name:"URL",icon:"link"}],N=function(){function t(t){this._uploadService=t,this.uploads=U,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 R.find(t.name,t.directory).format},t.prototype.getFormatIcon=function(t){return R.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,H("#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:j}]},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 W=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 B=function(){function t(){var t=this;this._checkPreload=new n.Observable((function(e){return t._observer=e}))}return Object.defineProperty(t.prototype,"checkPreload",{get:function(){return this._checkPreload},enumerable:!0,configurable:!0}),t.prototype.changeLastPageInView=function(t){this._observer&&this._observer.next(t)},t}();var $=function(){function t(t){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:B}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(B))},token:t,providedIn:"root"}),t}();var q=l,V=function(){function t(t,o,n,i){var r=this;this._elementRef=t,this._zoomService=o,this._windowService=n,this._navigateService=i,this.onpan=new e.EventEmitter,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,o.zoomChange.subscribe((function(t){r.zoom=t})),this.isDesktop=n.isDesktop()}return t.prototype.ngOnInit=function(){this.ifPresentation()&&(this.selectedPage=1)},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"===R.find(this.file.guid,!1).format},t.prototype.ifPresentation=function(){return"Microsoft PowerPoint"===R.find(this.file.guid,!1).format},t.prototype.getDimensionWithUnit=function(t,e){return this.ifPresentation()&&!this.isVisible(e)?0:t+(this.mode?R.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&&q(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){this.onpan.emit(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.prototype.isVisible=function(t){return!this.ifPresentation()||t===this.selectedPage},t.decorators=[{type:e.Component,args:[{selector:"gd-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n',styles:[":host{flex:1;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;transition:unset}.page.presentation.active{margin:20px}.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:W},{type:b},{type:$}]},t.propDecorators={mode:[{type:e.Input}],preloadPageCount:[{type:e.Input}],file:[{type:e.Input}],selectedPage:[{type:e.Input}],onpan:[{type:e.Output}]},t}();var G=function(){function t(){}return t.prototype.getUpdatedPage=function(t){var e=(new DOMParser).parseFromString(t,"text/html"),o=e.querySelector("table"),n=0;e.querySelectorAll("table > tbody > tr:first-child td").forEach((function(t){n+=t.attributes.colspan?parseInt(t.attributes.colspan.value,10):1}));var i=this.createHeader(n,o);return e.querySelector("table").replaceWith(i),(new XMLSerializer).serializeToString(e).replace(/a0:/g,"").replace(/:a0/g,"")},t.prototype.getPageWithoutHeader=function(t){var e=(new DOMParser).parseFromString(t,"text/html");e.querySelector("colgroup").remove();var o=e.querySelector("table");return o.deleteRow(0),o.querySelectorAll("tr").forEach((function(t){t.deleteCell(0)})),e.querySelector("table").replaceWith(o),(new XMLSerializer).serializeToString(e)},t.prototype.createHeader=function(t,e){var o=document.createElement("thead");o.append(document.createElement("tr"));for(var n=0;n=0;)n=String.fromCharCode(t%o+e)+n,t=Math.floor(t/o)-1;return n},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}(),X=function(){function t(t){this._excelPageService=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,"").replace(/href="\/viewer/g,'href="http://localhost:8080/viewer').replace(/src="\/viewer/g,'src="http://localhost:8080/viewer').replace(/data="\/viewer/g,'data="http://localhost:8080/viewer'):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=this.data),this.data=null!==this.data&&t.data?this._excelPageService.getUpdatedPage(this.data):this.data},t.decorators=[{type:e.Component,args:[{selector:"gd-excel-page",template:'
\r\n
\r\n \r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}::ng-deep th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}::ng-deep td{vertical-align:middle!important}::ng-deep .page-grid-lines td{border:1px solid #e7e7e7!important}::ng-deep .page td:nth-child(1){border:1px solid #e7e7e7!important}::ng-deep tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}::ng-deep tr td.excel:first-child div{width:80px}::ng-deep tr th.excel:first-child{background-color:#f4f4f4;width:1%}::ng-deep tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"]}]}],t.ctorParameters=function(){return[{type:G}]},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 Z=function(t){function o(e,o,n,i){var r=t.call(this,e,o,n,i)||this;return r.panzoom=null,r.navigateService=i,r}return f(o,t),o.prototype.ngOnInit=function(){this.currentPageNo=1},o.prototype.ngAfterViewInit=function(){var t=this;this.refreshExcelDocHeight(),this.pages.changes.subscribe((function(){t.refreshExcelDocHeight()})),this.navigateService.navigate.subscribe((function(e){t.selectSheet(e)}))},o.prototype.refreshExcelDocHeight=function(){this.doc=this._elementRef.nativeElement.children.item(0),this.panzoom=this._elementRef.nativeElement.children.item(0).children.item(0),this.doc.style.height=this.panzoom.scrollHeight+37+"px"},o.prototype.selectSheet=function(t){this.currentPageNo=t},o.decorators=[{type:e.Component,args:[{selector:"gd-excel-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n',styles:[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],o.ctorParameters=function(){return[{type:e.ElementRef},{type:W},{type:b},{type:$}]},o.propDecorators={pages:[{type:e.ViewChildren,args:[X]}]},o}(V);var Y=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,"").replace(/href="\/viewer/g,'href="http://localhost:8080/viewer').replace(/src="\/viewer/g,'src="http://localhost:8080/viewer').replace(/data="\/viewer/g,'data="http://localhost:8080/viewer'):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%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={angle:[{type:e.Input}],width:[{type:e.Input}],height:[{type:e.Input}],number:[{type:e.Input}],data:[{type:e.Input}],isHtml:[{type:e.Input}],editable:[{type:e.Input}]},t}();var J=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 K=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 Q=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 tt=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}(),et=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:j}]},t.propDecorators={closeUpload:[{type:e.Output}]},t}();var ot=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:j}]},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 nt=l,it=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=nt(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=nt(t).outerHeight()*l,u=nt(t).outerWidth()*l;if(!u||!d)return!1;var h=nt(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}(),rt=l,st=function(){function t(t,e,o,n,i,r){var s=this;this._elementRef=t,this._navigateService=e,this._pagePreloadService=o,this._zoomService=n,this._windowService=i,this._viewportService=r,this.zoom=100,this.loadedPagesSet=new Set,this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(t){s.zoom=t||s.zoom,s.refresh()}))}return t.prototype.ngAfterViewInit=function(){var t=this;this.zoom=this._zoomService.zoom?this._zoomService.zoom:this.zoom,this._navigateService.navigate.subscribe((function(e){t.currentPage=e,t.scrollToPage(e)})),this.refresh()},t.prototype.scrolling=function(){this.refresh()},t.prototype.resizing=function(){this.refresh()},t.prototype.scrollToPage=function(t){var e=this._elementRef.nativeElement,o=this.getPage(t),n=t>0?this.getPage(t-1):null,i=n&&rt(n).offset().top===rt(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;t0?this.mouseWheelUp.emit(t):e<0&&this.mouseWheelDown.emit(t)},t.decorators=[{type:e.Directive,args:[{selector:"[gdMouseWheel]"}]}],t.propDecorators={mouseWheelUp:[{type:e.Output}],mouseWheelDown:[{type:e.Output}],onMouseWheelChrome:[{type:e.HostListener,args:["mousewheel",["$event"]]}],onMouseWheelFirefox:[{type:e.HostListener,args:["DOMMouseScroll",["$event"]]}],onMouseWheelIE:[{type:e.HostListener,args:["onmousewheel",["$event"]]}]},t}();var ct=function(){function t(t,e,o){this._zoomService=t,this._windowService=e,this.zoomActive=!0,this.el=o}return t.prototype.ngOnDestroy=function(){},t.prototype.ngOnChanges=function(){this.setStyles(this._zoomService.zoom),this.resizePages(this._zoomService.zoom)},t.prototype.ngOnInit=function(){var t=this;this.zoomActive&&(this.setStyles(this._zoomService.zoom),this._zoomService.zoomChange.subscribe((function(e){t.setStyles(e),t.resizePages(e)})))},t.prototype.setStyles=function(t){if(this.zoomActive){var e=100===t?1:t/100;this._windowService.isEdge()?this.zoomInt=e:this.zoomInt=null,this._windowService.isEdge()?(this.transform="",this.transformOrigin=""):(this.transform="scale("+e+")",this.transformOrigin="top left");var o=0;this.file.pages.forEach((function(t){t.width>o&&(o=t.width)})),this.minWidth=o+R.find(this.file.guid,!1).unit}},t.prototype.getScrollWidth=function(t){return t.offsetWidth-t.clientWidth},t.prototype.getScrollHeight=function(t){return t.offsetHeight-t.clientHeight},t.prototype.resizePages=function(t){var e=100===t?1:t/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.el.nativeElement.parentElement.offsetHeight,i=this.getScrollWidth(this.el.nativeElement.parentElement),r=this.getScrollHeight(this.el.nativeElement.parentElement);this.width=o/e-i/e+"px",this.height=n/e-r/e+"px"},t.prototype.ngAfterViewInit=function(){this.setStyles(this._zoomService.zoom)},t.decorators=[{type:e.Directive,args:[{selector:"[gdZoom]"}]}],t.ctorParameters=function(){return[{type:W},{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"]}],height:[{type:e.HostBinding,args:["style.height"]}],minWidth:[{type:e.HostBinding,args:["style.min-width"]}]},t}();var pt=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 lt=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:pt}]},t.propDecorators={options:[{type:e.Input}],disabled:[{type:e.Input}],showSelected:[{type:e.Input}],selected:[{type:e.Output}],isOpen:[{type:e.Input}]},t}();var dt=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 ut=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 ht=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}();var gt=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 ft=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:gt}]},t.propDecorators={htmlMode:[{type:e.Input}]},t}();var mt=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 vt=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:mt}]},t}();var yt=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 bt=l,xt=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=bt("#password");t&&t.focus()}),100):bt("#password").val("")},t.prototype.cancel=function(t){bt("#password").val(""),this.cancelEvent.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-password-required",template:'\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n',styles:["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display: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:mt},{type:yt}]},t.propDecorators={cancelEvent:[{type:e.Output}]},t}();var wt=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:E},{type:mt}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(E),e.ɵɵinject(mt))},token:t,providedIn:"root"}),t}();var St=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 Ct=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:St}]},t.propDecorators={hidePanel:[{type:e.Output}],textElement:[{type:e.ViewChild,args:["text",{static:!0}]}]},t}();var Pt=l,_t=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){Pt(t).removeClass("gd-highlight-select")}));var e=t.querySelectorAll(".gd-highlight")[this.current-1];if(Pt(e).addClass("gd-highlight-select"),e){var o={left:0,top:Pt(e).offset().top+t.parentElement.parentElement.scrollTop-150};t.parentElement.parentElement.scroll(o)}}}},t.prototype.highlightEl=function(t){var e=Pt(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=Pt(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}();var It=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 Ot=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}.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;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],t.ctorParameters=function(){return[{type:It}]},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 kt=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}(),Ft=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 zt=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 Dt=["#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"],Tt=function(){function t(){this.isOpen=!1,this.selectedColor=new e.EventEmitter,this.closeOutside=new e.EventEmitter,this.colors=Dt,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}();var At=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}(zt),Mt=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 Rt=l,Lt=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=Rt(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"),Rt(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:zt},{type:At},{type:Mt}]},t.propDecorators={mouseup:[{type:e.HostListener,args:["mouseup"]}]},t}();var 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}(),Ht=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 Ut=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:Mt},{type:Ht}]},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 Nt=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),this.stopList.push(C.LOAD_DOCUMENT_PAGE),this.stopList.push(C.LOAD_THUMBNAILS),this.stopList.push(C.GET_FILE_STATUS)}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 Wt=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:Nt}]},t.propDecorators={loadingMask:[{type:e.Input}]},t}();var Bt=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:Nt}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(Nt))},token:t,providedIn:"root"}),t}();var $t={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},qt={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},Vt=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 Zt}))]}]}]},t.propDecorators={click:[{type:e.HostListener,args:["click",["$event"]]}]},t}();var Gt=function(){function t(t){this.dropdown=t}return Object.defineProperty(t.prototype,"horizontalAlign",{get:function(){return $t[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalAlign",{get:function(){return qt[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 Zt}))]}]}]},t}();var Xt=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 Zt}))]}]}]},t.propDecorators={class:[{type:e.HostBinding,args:["class"]}],selected:[{type:e.Output}],click:[{type:e.HostListener,args:["click"]}]},t}();var Zt=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}();var Yt=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}();var Jt=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 Kt=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 Qt=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 te=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:Qt}]},t.propDecorators={ident:[{type:e.Input}]},t}();var ee=l,oe=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=ee(this.getElementId(this.SE)),o=ee(this.getElementId(this.NW));if(this.init&&e&&o&&e.offset()&&o.offset()){for(var n=e.offset().left-o.offset().left,i=e.offset().top-o.offset().top;n>=this.pageWidth||i>=this.pageHeight;)n/=2,i/=2;setTimeout((function(){t.offsetX.emit(n),t.offsetY.emit(i)}),100)}},t.prototype.ngOnInit=function(){},t.prototype.catchUp=function(t){t.preventDefault(),t.dataTransfer&&t.dataTransfer.setData("text","foo"),this.grab=!0,this.oldPosition=M.getMousePosition(t)},t.prototype.resize=function(t,e){if(this.grab){var o=M.getMousePosition(t);if(0!==o.x||0!==o.y){var n=this.NE===e||this.NW===e,i=this.SW===e||this.NW===e;this.setOffsets(o,i,n),n&&this.offsetTop.emit(o.y-this.oldPosition.y),i&&this.offsetLeft.emit(o.x-this.oldPosition.x),this.oldPosition=o}}},t.prototype.setOffsets=function(t,e,o){var n=e?this.oldPosition.x-t.x:t.x-this.oldPosition.x,i=o?this.oldPosition.y-t.y:t.y-this.oldPosition.y;this.offsetX.emit(n),this.offsetY.emit(i)},t.prototype.end=function(t,e){this.resize(t,e),this.release.emit(!0),this.grab=!1},t.prototype.start=function(t){this.drop(t)},t.prototype.drop=function(t){t.stopPropagation(),t.preventDefault()},t.prototype.getElementId=function(t){return"#"+t+"-"+this.id},t.decorators=[{type:e.Component,args:[{selector:"gd-resizing",template:'
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n',styles:[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={init:[{type:e.Input}],id:[{type:e.Input}],se:[{type:e.Input}],ne:[{type:e.Input}],sw:[{type:e.Input}],nw:[{type:e.Input}],pageWidth:[{type:e.Input}],pageHeight:[{type:e.Input}],offsetX:[{type:e.Output}],offsetY:[{type:e.Output}],offsetTop:[{type:e.Output}],offsetLeft:[{type:e.Output}],release:[{type:e.Output}]},t}();var ne=function(t){function e(){return t.call(this)||this}return f(e,t),e}(It),ie=function(){function t(t,o,n){var i=this;this._tabActivatorService=t,this._modalService=o,this._excMessageService=n,this.disabled=!1,this.activeTab=new e.EventEmitter,this.elementPosition=0,this.active=!1,this.showToolTip=!1,this._tabActivatorService.activeTabChange.subscribe((function(t){i.activation(t),null===t&&i.activeTab.emit("")}))}return t.prototype.activation=function(t){this.id===t?(this.active=!this.active,this.active?this.activeTab.emit(this.id):this.activeTab.emit("")):this.active=!1},t.prototype.ngOnInit=function(){},t.prototype.toggleTab=function(){if(this.disabled)return this._modalService.open(_.ErrorMessage),void this._excMessageService.changeMessage("Please open document first");this._tabActivatorService.changeActiveTab(this.id)},t.decorators=[{type:e.Component,args:[{selector:"gd-top-tab",template:'
\r\n \r\n \r\n
\r\n',styles:[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display: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:ne},{type:E},{type:mt}]},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 re=l,se=function(){function t(t,o,n,i,r){var s=this;this._onCloseService=t,this._zoomService=o,this._windowService=n,this._elementRef=i,this.renderer=r,this.decoration=!0,this.showTooltips=!0,this.outFontSize=new e.EventEmitter,this.outFont=new e.EventEmitter,this.outBold=new e.EventEmitter,this.outItalic=new e.EventEmitter,this.outUnderline=new e.EventEmitter,this.outColor=new e.EventEmitter,this.fontSizeOptions=zt.getFontSizeOptions(),this.fontOptions=zt.getFontOptions(),this.colorPickerShow=!1,t.onClose.subscribe((function(){s.colorPickerShow=!1})),this.isMobile=n.isMobile(),n.onResize.subscribe((function(t){s.isMobile=n.isMobile()})),o.zoomChange.subscribe((function(t){s.isMobile&&s.changePosition(t)}))}return t.prototype.ngOnInit=function(){},t.prototype.changePosition=function(t){var e=window.innerHeight-24-this._elementRef.nativeElement.parentElement.getBoundingClientRect().top-this._elementRef.nativeElement.parentElement.getBoundingClientRect().height,o=this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"width",window.innerWidth+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"top",e+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"left",-o+"px")},t.prototype.selectFontSize=function(t){re(".gd-wrapper").off("keyup"),this.outFontSize.emit(t.value),re(".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;left:0;right:0;width:inherit;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important}}"]}]}],t.ctorParameters=function(){return[{type:pt},{type:W},{type:b},{type:e.ElementRef},{type:e.Renderer2}]},t.propDecorators={blur:[{type:e.Input}],fontSize:[{type:e.Input}],font:[{type:e.Input}],bold:[{type:e.Input}],italic:[{type:e.Input}],underline:[{type:e.Input}],color:[{type:e.Input}],decoration:[{type:e.Input}],showTooltips:[{type:e.Input}],outFontSize:[{type:e.Output}],outFont:[{type:e.Output}],outBold:[{type:e.Output}],outItalic:[{type:e.Output}],outUnderline:[{type:e.Output}],outColor:[{type:e.Output}]},t}();var ae=function(){function t(){}return t.FOR_SIGNATURE="signature",t.FOR_ANNOTATION="annotation",t}();var ce=function(){function t(t,o,n,i){var r=this;this._windowService=t,this._zoomService=o,this._elementRef=n,this.renderer=i,this.formatting=Ft.default(),this.lock=!1,this.translation=0,this.changeFormatting=new e.EventEmitter,this.removeItem=new e.EventEmitter,this.copySign=new e.EventEmitter,this.lockOut=new e.EventEmitter,this.comment=new e.EventEmitter,this.isMobile=t.isMobile(),t.onResize.subscribe((function(e){r.isMobile=t.isMobile()})),o.zoomChange.subscribe((function(t){r.isMobile&&r.changeScale(t)}))}return t.prototype.ngOnInit=function(){},t.prototype.changeScale=function(t){this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-context-menu"),"transform","scale("+1/(t/100)+")")},t.prototype.saveChanges=function(){this.changeFormatting.emit(this.formatting)},t.prototype.selectFontSize=function(t){this.formatting.fontSize=t,this.saveChanges()},t.prototype.selectFont=function(t){this.formatting.font=t,this.saveChanges()},t.prototype.selectColor=function(t){this.formatting.color=t,this.saveChanges()},t.prototype.toggleBold=function(t){this.formatting.bold=t,this.saveChanges()},t.prototype.toggleItalic=function(t){this.formatting.italic=t,this.saveChanges()},t.prototype.toggleUnderline=function(t){this.formatting.underline=t,this.saveChanges()},t.prototype.deleteItem=function(){this.removeItem.emit(!0)},t.prototype.toggleLock=function(){this.lock=!this.lock,this.lockOut.emit(this.lock)},t.prototype.onCopySign=function(){this.copySign.emit(!0)},t.prototype.isSignature=function(){return this.menuType===ae.FOR_SIGNATURE},t.prototype.isAnnotation=function(){return this.menuType===ae.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:-42px;transform-origin:bottom center}}"]}]}],t.ctorParameters=function(){return[{type:b},{type:W},{type:e.ElementRef},{type:e.Renderer2}]},t.propDecorators={formatting:[{type:e.Input}],textMenu:[{type:e.Input}],topPosition:[{type:e.Input}],lock:[{type:e.Input}],translation:[{type:e.Input}],menuType:[{type:e.Input}],changeFormatting:[{type:e.Output}],removeItem:[{type:e.Output}],copySign:[{type:e.Output}],lockOut:[{type:e.Output}],comment:[{type:e.Output}]},t}();var pe=[P,C,E,L,T,R,M,J,K,Q,tt,j,gt,$,B,W,mt,yt,wt,St,b,it,zt,At,pt,Bt,Nt,It,Kt,Qt,ne,G],le=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,I,N,V,Z,Y,X,J,K,Q,tt,et,ot,st,at,ct,lt,dt,ut,ht,ft,vt,xt,Ct,_t,Et,Ot,kt,Tt,Lt,jt,Ut,Wt,Zt,Xt,Gt,Vt,Yt,Jt,te,oe,ie,se,ce],exports:[v,y,x,w,S,I,N,V,Z,Y,X,K,Q,tt,J,et,st,at,lt,ut,ht,ft,vt,xt,Ct,_t,Et,Ot,kt,Tt,Lt,jt,Wt,ot,Zt,Xt,Gt,Vt,ct,Vt,Yt,Jt,te,oe,ie,se,ce,Ut,Lt],providers:pe}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Kt,t.Api=C,t.BackFormattingService=At,t.BrowseFilesModalComponent=N,t.ButtonComponent=x,t.ColorPickerComponent=Tt,t.CommonComponentsModule=le,t.CommonModals=_,t.ConfigService=P,t.ContextMenuComponent=ce,t.DisabledCursorDirective=dt,t.DndDirective=ot,t.DocumentComponent=V,t.DropDownComponent=Zt,t.DropDownItemComponent=Xt,t.DropDownItemsComponent=Gt,t.DropDownToggleComponent=Vt,t.EditHtmlService=Ht,t.EditorDirective=Ut,t.ErrorInterceptorService=wt,t.ErrorModalComponent=vt,t.ExcelDocumentComponent=Z,t.ExcelPageComponent=X,t.ExcelPageService=G,t.ExceptionMessageService=mt,t.FileCredentials=F,t.FileDescription=D,t.FileModel=T,t.FileService=L,t.FileUtil=R,t.Formatting=Ft,t.FormattingDirective=Lt,t.FormattingService=zt,t.HighlightSearchPipe=tt,t.HostDynamicDirective=te,t.HostingDynamicComponentService=Qt,t.HttpError=A,t.InitStateComponent=ht,t.LeftSideBarComponent=Yt,t.LoadingMaskComponent=Wt,t.LoadingMaskInterceptorService=Bt,t.LoadingMaskService=Nt,t.LogoComponent=w,t.MenuType=ae,t.ModalComponent=I,t.ModalService=E,t.MouseWheelDirective=at,t.NavigateService=$,t.OnCloseService=pt,t.PageComponent=Y,t.PageModel=O,t.PagePreloadService=B,t.PasswordRequiredComponent=xt,t.PasswordService=yt,t.RenderPrintDirective=ft,t.RenderPrintService=gt,t.RotatedPage=k,t.RotationDirective=ut,t.SanitizeHtmlPipe=J,t.SanitizeResourceHtmlPipe=K,t.SanitizeStylePipe=Q,t.SaveFile=z,t.ScrollableDirective=st,t.SearchComponent=Ct,t.SearchService=St,t.SearchableDirective=_t,t.SelectComponent=lt,t.SelectionService=Mt,t.SidePanelComponent=y,t.SuccessModalComponent=jt,t.TabActivatorService=It,t.TabComponent=Ot,t.TabbedToolbarsComponent=Et,t.TextMenuComponent=se,t.TooltipComponent=S,t.TopTabActivatorService=ne,t.TopToolbarComponent=v,t.UploadFileZoneComponent=et,t.UploadFilesService=j,t.Utils=M,t.ViewportService=it,t.WindowService=b,t.ZoomDirective=ct,t.ZoomService=W,t.ɵa=kt,t.ɵb=Jt,t.ɵc=oe,t.ɵd=ie,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 d990a0d54..1b65d9e75 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js.map +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__values","o","m","Symbol","iterator","i","call","next","length","value","done","TopToolbarComponent","Component","args","selector","template","SidePanelComponent","closable","saveable","hideSidePanel","EventEmitter","saveInSidePanel","onlyTitle","closeSidePanel","emit","saveBySidePanel","toggleTitleMode","Input","Output","WindowService","_this","resizeSubject","Subject","width","window","innerWidth","height","innerHeight","_resize$","fromEvent","pipe","debounceTime","distinctUntilChanged","startWith","target","tap","event","subscribe","defineProperty","asObservable","isMobile","isTablet","isDesktop","getWidth","getHeight","isEdge","navigator","userAgent","toLowerCase","indexOf","isFirefox","ButtonComponent","windowService","iconOnly","intent","disabled","toggle","iconRegular","elementPosition","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","position","visibility","getClass","Api","VIEWER_APP","SIGNATURE_APP","ANNOTATION_APP","SEARCH_APP","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","METADATA_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","LOAD_DOCUMENT_PROPERTIES","LOAD_DOCUMENT_PROPERTIES_NAMES","SAVE_PROPERTY","REMOVE_PROPERTY","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","CREATE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","REMOVE_FROM_INDEX","GET_FILE_STATUS","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","SEARCH","ADD_FILES_TO_INDEX","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getMetadataApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","getSearchApiEndpoint","Injectable","CommonModals","PasswordRequired","ErrorMessage","BrowseFiles","CreateDocument","OperationSuccess","DrawHandSignature","DrawStampSignature","InformationMessage","ModalService","modals","add","modal","push","remove","id","filter","x","open","close","ModalComponent","modalService","el","visible","cancel","element","nativeElement","document","body","appendChild","console","error","ngOnDestroy","preventDefault","stopPropagation","onClose","$event","cancelClose","ElementRef","RotatedPage","FileCredentials","guid","password","SaveFile","_super","content","tslib_1.__extends","FileDescription","printAllowed","FileModel","HttpError","BadRequest","Unauthorized","Forbidden","NotFound","TimeOut","Conflict","InternalServerError","Utils","getMousePosition","mouse","y","wEvent","ev","pageX","screenX","touches","pageY","screenX_1","screenY","screenY_1","clientX","scrollLeft","clientY","scrollTop","toRgb","color","result","exec","r","parseInt","g","toHex","match","charAt","c","RegExp","$1","$2","$3","pad","len","toString","FileUtil","find","filename","isDirectory","strings","split","name_1","pop","map","folder","format","icon","pdf","unit","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown","FileService","UploadFilesService","_uploadsChange","Observable","observer","_observer","changeFilesList","filesList","$","jquery","uploads_choices","name","BrowseFilesModalComponent","_uploadService","uploads","selectedFileGuid","selectedDirectory","urlForUpload","closing","showUploadUrl","showUploadFile","getSize","size","mb","Math","round","kb","getFormatName","file","directory","getFormatIcon","choose","selectedFile","goUp","selectUpload","trigger","refresh","files","showSpinner","uploadUrl","cleanUpload","handleFileInput","ZoomService","_zoomChange","_zoom","changeZoom","zoom","createZoomOption","sep","separator","zoomOptions","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","DocumentComponent","_elementRef","_zoomService","_windowService","_navigateService","onpan","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","ifPresentation","selectedPage","ngOnChanges","children","item","style","transform","ngAfterViewInit","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","pageNumber","isVisible","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","ViewportService","checkInViewport","leftOffset","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","toFixed","ScrollableDirective","_viewportService","loadedPagesSet","Set","navigate","scrollToPage","scrolling","resizing","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","floor","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","has","MouseWheelDirective","mouseWheelUp","mouseWheelDown","onMouseWheelChrome","mouseWheelFunc","onMouseWheelFirefox","onMouseWheelIE","delta","max","wheelDelta","detail","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","pages","forEach","minWidth","getScrollWidth","elm","getScrollHeight","viewPortWidth","parentElement","viewPortHeight","scrollWidth","scrollHeight","OnCloseService","_onClose","SelectComponent","_onCloseService","selected","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","renderer","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","changePosition","setStyle","querySelector","selectFontSize","off","on","fontElements","getElementsByTagName","getAttribute","removeAttribute","selectFont","toggleColorPicker","selectColor","closePicker","Renderer2","MenuType","FOR_SIGNATURE","FOR_ANNOTATION","ContextMenuComponent","formatting","lock","translation","changeFormatting","removeItem","copySign","lockOut","comment","changeScale","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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,UAsFH67B,EAtGA,OCkEMkB,GAAY,CAACn2B,EACjBlD,EACA6E,EACA0K,EACAlI,EACA4C,EACAnC,EACAqR,EACAK,EACAE,EACAE,EACApK,EACAyR,GACAnO,EACAJ,EACAT,EACA2Q,GACAQ,GACAS,GACAY,GACAloB,EACA2e,GACA2N,GACAiD,GACAlM,GACAyR,GACAd,GACA/I,GACAoL,GACAe,GACAqC,IAEFsD,GAAA,WAoGE,SAAAA,IACEC,EAAAA,QAAQx0B,IAAIy0B,EAAAA,IAAKC,EAAAA,KAErB,2BAvGCC,EAAAA,SAAQn+B,KAAA,CAAC,CACRo+B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZ1+B,EACAK,EACA6C,EACAmB,EACAE,EACA4F,EACA2K,EACAuD,EACAiF,EACAQ,EACAK,EACAE,EACAE,EACAE,EACAG,EACAmC,GACA2B,GACAW,GACAoB,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,GACA8B,IAEF6B,QAAS,CACP3+B,EACAK,EACA6C,EACAmB,EACAE,EACA4F,EACA2K,EACAuD,EACAiF,EACAa,EACAE,EACAE,EACAT,EACAW,EACAsC,GACA2B,GACA+B,GACAU,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACA0B,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAmB,GACAhX,EACAgY,GACAK,GACAJ,GACAT,GACA/S,GACA+S,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACA8B,IAEFkB,UAAWA,6CAMbC,EAvGA","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gd-top-toolbar',\n templateUrl: './top-toolbar.component.html',\n styleUrls: ['./top-toolbar.component.less']\n})\nexport class TopToolbarComponent {\n\n constructor() {\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gd-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.less']\n})\n\nexport class SidePanelComponent {\n @Input() title: string;\n @Input() icon: string;\n @Input() closable = true;\n @Input() saveable = true;\n @Output() hideSidePanel = new EventEmitter();\n @Output() saveInSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n closeSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n saveBySidePanel() {\n this.saveInSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n if (this.closable && !this.saveable) {\n this.onlyTitle = !this.onlyTitle;\n }\n }\n}\n","import {fromEvent, Observable, Subject} from \"rxjs\";\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\n\nconst MOBILE_MAX_WIDTH = 425;\nconst TABLET_MAX_WIDTH = 1024;\n\nexport class WindowService {\n\n private resizeSubject: Subject = new Subject();\n private _resize$;\n private width: number;\n private height: number;\n\n constructor() {\n this.width = window.innerWidth;\n this.height = window.innerHeight;\n\n this._resize$ = fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n distinctUntilChanged(),\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\n tap(event => {\n this.resizeSubject.next(event.target);\n this.width = (event.target as Window).innerWidth;\n this.height = (event.target as Window).innerHeight;\n }),\n );\n this._resize$.subscribe();\n }\n\n get onResize(): Observable {\n return this.resizeSubject.asObservable();\n }\n\n isMobile() {\n return this.width <= MOBILE_MAX_WIDTH;\n }\n\n isTablet() {\n return this.width <= TABLET_MAX_WIDTH;\n }\n\n isDesktop() {\n return !this.isMobile() && !this.isTablet();\n }\n\n getWidth() {\n return this.width;\n }\n\n getHeight() {\n return this.height;\n }\n\n isEdge() {\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {WindowService} from \"../window.service\";\n\n@Component({\n selector: 'gd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.less']\n})\nexport class ButtonComponent {\n @Input() iconOnly = true;\n @Input() intent = 'default';\n @Input() disabled = false;\n @Input() icon: string;\n @Input() iconClass: string;\n @Input() tooltip: string;\n @Input() className: string;\n @Input() toggle = false;\n @Input() iconSize: string;\n @Input() iconRegular = false;\n @Input() elementPosition = 0;\n\n showToolTip = false;\n private isDesktop: boolean;\n\n constructor(windowService: WindowService) {\n this.isDesktop = windowService.isDesktop();\n windowService.onResize.subscribe((w) => {\n this.isDesktop = windowService.isDesktop();\n });\n }\n\n iconButtonClass() {\n return this.iconOnly ? 'icon-button' : '';\n }\n\n onHovering() {\n if (this.isDesktop && !this.disabled) {\n this.className += ' active';\n }\n }\n\n onUnhovering() {\n if (this.isDesktop && !this.disabled) {\n this.className = this.cleanAll(this.className, ' active');\n }\n }\n\n private cleanAll(str: string, val: string) {\n while (str && str.indexOf(val) !== -1) {\n str = str.replace(val, '');\n }\n return str;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-logo',\n templateUrl: './logo.component.html',\n styleUrls: ['./logo.component.less']\n})\nexport class LogoComponent implements OnInit {\n\n @Input() logo;\n @Input() icon;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.less']\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() text: string;\n @Input() position = 0;\n visibility = 'hidden';\n\n constructor() {\n }\n\n getClass() {\n if (this.position === 0) {\n return 'tooltip';\n }\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\n }\n\n @Input()\n set show(value: boolean) {\n this.visibility = value ? 'shown' : 'hidden';\n }\n\n ngOnInit() {\n }\n\n}\n","import {HttpHeaders} from \"@angular/common/http\";\nimport {Injectable} from \"@angular/core\";\n\nexport class Api {\n public static VIEWER_APP = '/viewer';\n public static SIGNATURE_APP = '/signature';\n public static ANNOTATION_APP = '/annotation';\n public static SEARCH_APP = '/search';\n public static EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\n public static METADATA_APP = '/metadata';\n public static DEFAULT_API_ENDPOINT = window.location.href;\n public static LOAD_FILE_TREE = '/loadFileTree';\n public static LOAD_CONFIG = '/loadConfig';\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\n public static SAVE_PROPERTY = '/saveProperty';\n public static REMOVE_PROPERTY = '/removeProperty';\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\n public static LOAD_PRINT = '/loadPrint';\n public static LOAD_PRINT_PDF = '/printPdf';\n public static LOAD_THUMBNAILS = '/loadThumbnails';\n public static LOAD_FORMATS = '/loadFormats';\n public static SAVE_FILE = '/saveFile';\n public static CREATE_FILE = '/createFile';\n public static COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\n public static GET_FILE_STATUS = '/getFileStatus';\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\n public static SAVE_TEXT = '/saveText';\n public static SAVE_IMAGE = '/saveImage';\n public static SAVE_STAMP = '/saveStamp';\n public static SIGN = '/sign';\n public static DOWNLOAD_SIGNED = '/downloadSigned';\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\n public static ANNOTATE = '/annotate';\n public static SEARCH = '/search';\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\n\n public static httpOptionsJson = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n public static httpOptionsJsonResponseTypeBlob = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n responseType: 'blob' as 'blob'\n };\n}\n\n@Injectable()\nexport class ConfigService {\n\n private _apiEndpoint: string;\n\n constructor() {\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\n }\n\n set apiEndpoint(url: string) {\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\n }\n\n getConfigEndpoint(app) {\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\n }\n\n getViewerApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\n }\n\n getEditorApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\n }\n\n getComparisonApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\n }\n\n getConversionApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\n }\n\n getMetadataApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\n }\n\n get apiEndpoint() {\n return this._apiEndpoint;\n }\n\n getSignatureApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\n }\n\n getAnnotationApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\n }\n\n getSearchApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\n }\n}\n","export class CommonModals {\n static PasswordRequired = \"gd-password-required\";\n static ErrorMessage = \"gd-error-message\";\n static BrowseFiles = \"gd-browse-files\";\n static CreateDocument = \"gd-create-document\";\n static OperationSuccess = \"gd-success-modal\";\n static DrawHandSignature = \"gd-draw-hand-signature\";\n static DrawStampSignature = \"gd-draw-stamp-signature\";\n static InformationMessage = \"gd-information-message\";\n}\n\nexport class ModalService {\n private modals: any[] = [];\n\n add(modal: any) {\n this.modals.push(modal);\n }\n\n remove(id: string) {\n this.modals = this.modals.filter(x => x.id !== id);\n }\n\n open(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.open();\n }\n }\n\n close(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.close();\n }\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ModalService} from \"../modal.service\";\n\n@Component({\n selector: 'gd-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.less']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() id: string;\n @Input() title: string;\n @Output() visible = new EventEmitter();\n @Output() cancel = new EventEmitter();\n visibility = false;\n private element: any;\n\n constructor(private modalService: ModalService, el: ElementRef) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n if (!this.id) {\n console.error('modal must have an id');\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.modalService.add(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.visibility = true;\n this.visible.emit(true);\n }\n\n close(): void {\n event.preventDefault();\n event.stopPropagation();\n this.visibility = false;\n this.visible.emit(false);\n }\n\n onClose($event: MouseEvent) {\n $event.stopPropagation();\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\n this.close();\n }\n }\n\n cancelClose() {\n this.cancel.emit(false);\n this.close();\n }\n}\n","export class PageModel {\n data: string;\n angle: number;\n width: number;\n height: number;\n number: number;\n editable: boolean;\n}\n\nexport class RotatedPage {\n pageNumber: number;\n angle: number;\n}\n\nexport class FileCredentials {\n guid: string;\n password: string;\n\n constructor(guid: string, password: string) {\n this.guid = guid;\n this.password = password;\n }\n}\n\nexport class SaveFile extends FileCredentials {\n content: string;\n\n constructor(guid: string, password: string, content: string) {\n super(guid, password);\n this.content = content;\n }\n}\n\nexport class FileDescription {\n guid: string;\n pages: PageModel[];\n printAllowed = true;\n showGridLines: boolean;\n thumbnails: PageModel[];\n}\n\nexport class FileModel {\n guid: string;\n name: string;\n directory: boolean;\n size: number;\n isDirectory: boolean;\n}\n\nexport class HttpError {\n static BadRequest = 400;\n static Unauthorized = 401;\n static Forbidden = 403;\n static NotFound = 404;\n static TimeOut = 408;\n static Conflict = 409;\n static InternalServerError = 500;\n}\n\nexport class Utils {\n public static getMousePosition(event) {\n const mouse = {\n x: 0,\n y: 0\n };\n const wEvent: DragEvent = window.event;\n const ev = event || wEvent; //Moz || IE\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\n } else if (ev.clientX) { //IE\n mouse.x = ev.clientX + document.body.scrollLeft;\n mouse.y = ev.clientY + document.body.scrollTop;\n }\n return mouse;\n }\n\n public static toRgb(color: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\n if (result) {\n const r = parseInt(result[1], 16);\n const g = parseInt(result[2], 16);\n const b = parseInt(result[3], 16);\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\n }\n return color;\n }\n\n public static toHex(color: string) {\n // check if color is standard hex value\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\n // check if color is RGB value -> convert to hex\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\n pad = function (str) {\n if (str.length < 2) {\n for (let i = 0, len = 2 - str.length; i < len; i++) {\n str = '0' + str;\n }\n }\n return str;\n };\n if (c.length === 3) {\n const r = pad(c[0].toString(16)),\n g = pad(c[1].toString(16)),\n b = pad(c[2].toString(16));\n return '#' + r + g + b;\n }\n // else do nothing\n } else {\n return '';\n }\n }\n}\n\nexport class FileUtil {\n public static map = {\n 'folder': {'format': '', 'icon': 'folder'},\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\n };\n\n public static find(filename: string, isDirectory: boolean) {\n if (filename && !isDirectory) {\n const strings = filename.split('.');\n const name = strings.pop().toLowerCase();\n if (typeof FileUtil.map[name] === \"undefined\") {\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\n } else {\n return FileUtil.map[name];\n }\n } else {\n return FileUtil.map['folder'];\n }\n }\n}\n\nexport class FileService {\n\n constructor() {\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class UploadFilesService {\n private _uploadsChange: Observable;\n private _observer: Observer;\n\n constructor() {\n this._uploadsChange = new Observable(observer =>\n this._observer = observer);\n }\n\n get uploadsChange(): Observable {\n return this._uploadsChange;\n }\n\n changeFilesList(filesList: FileList) {\n this._observer.next(filesList);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FileModel, FileUtil} from \"../file.service\";\nimport {UploadFilesService} from \"../upload-files.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\nconst upload_disc = 'Disc';\n\nconst upload_url = 'URL';\n\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\n\n@Component({\n selector: 'gd-browse-files-modal',\n templateUrl: './browse-files-modal.component.html',\n styleUrls: ['./browse-files-modal.component.less']\n})\nexport class BrowseFilesModalComponent implements OnInit {\n uploads = uploads_choices;\n\n @Input() files;\n @Input() uploadConfig;\n @Output() selectedFileGuid = new EventEmitter();\n @Output() selectedDirectory = new EventEmitter();\n @Output() urlForUpload = new EventEmitter();\n @Output() closing = new EventEmitter();\n private selectedFile: FileModel;\n showUploadUrl = false;\n showUploadFile = false;\n\n constructor(private _uploadService: UploadFilesService) {\n }\n\n ngOnInit() {\n }\n\n getSize(size: number) {\n const mb = size / 1024 / 1024;\n if (mb > 1) {\n return (Math.round(mb * 100) / 100) + ' MB';\n } else {\n const kb = size / 1024;\n if (kb > 1) {\n return (Math.round(kb * 100) / 100) + ' KB';\n }\n }\n return size + ' Bytes';\n }\n\n getFormatName(file: FileModel) {\n return FileUtil.find(file.name, file.directory).format;\n }\n\n getFormatIcon(file: FileModel) {\n return FileUtil.find(file.name, file.directory).icon;\n }\n\n choose(file: FileModel) {\n this.selectedFile = file;\n if (file.directory || file.isDirectory) {\n this.selectedDirectory.emit(file.name);\n } else {\n this.selectedFileGuid.emit(file.guid);\n }\n }\n\n goUp() {\n if (this.selectedFile) {\n let guid = this.selectedFile.guid;\n if (guid.length > 0 && guid.indexOf('/') === -1) {\n guid = '';\n } else {\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\n }\n this.selectedDirectory.emit(guid);\n }\n }\n\n selectUpload($event: string) {\n if (upload_url === $event) {\n this.showUploadUrl = true;\n } else {\n this.showUploadUrl = false;\n $(\"#gd-upload-input\").trigger('click');\n }\n }\n\n refresh($event) {\n\n if ($event) {\n this.files = null;\n this.selectedDirectory.emit('');\n this.showUploadUrl = false;\n this.selectedFile = null;\n } else {\n this.closing.emit(true);\n }\n }\n\n showSpinner() {\n return !this.files;\n }\n\n uploadUrl(url: string) {\n if (url) {\n this.urlForUpload.emit(url);\n this.cleanUpload();\n }\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n }\n\n cleanUpload() {\n this.showUploadFile = false;\n this.showUploadUrl = false;\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class ZoomService {\n private _observer: Subject = new Subject();\n private readonly _zoomChange: Observable = this._observer.asObservable();\n private _zoom: number;\n\n constructor() {\n }\n\n get zoom(): number {\n return this._zoom;\n }\n\n get zoomChange(): Observable {\n return this._zoomChange;\n }\n\n changeZoom(zoom: number) {\n this._zoom = zoom;\n this._observer.next(zoom);\n }\n\n private createZoomOption(val: any, name: string, sep: boolean = false) {\n return {value: val, name: name, separator: sep}\n }\n\n zoomOptions(width, height) {\n return [this.createZoomOption(25, '25%'),\n this.createZoomOption(50, '50%'),\n this.createZoomOption(100,'100%'),\n this.createZoomOption(150, '150%'),\n this.createZoomOption(200, '200%'),\n this.createZoomOption(300, '300%'),\n this.createZoomOption(0, '', true),\n this.createZoomOption(width, 'Fit Width'),\n this.createZoomOption(height, 'Fit Height')];\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class PagePreloadService {\n private readonly _checkPreload: Observable;\n private _observer: Observer;\n\n constructor() {\n this._checkPreload = new Observable(observer =>\n this._observer = observer);\n }\n\n get checkPreload(): Observable {\n return this._checkPreload;\n }\n\n changeLastPageInView(page: number) {\n if(this._observer) {\n this._observer.next(page);\n }\n }\n}\n","import {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 {\n AfterViewChecked,\n Component,\n ElementRef,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges,\n Output,\n EventEmitter\n} from '@angular/core';\nimport {FileDescription, FileUtil} from \"../file.service\";\nimport {ZoomService} from \"../zoom.service\";\nimport * as Hammer from 'hammerjs';\nimport {WindowService} from '../window.service';\nimport * as jquery from 'jquery';\nimport { NavigateService } from '../navigate.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-document',\n templateUrl: './document.component.html',\n styleUrls: ['./document.component.less']\n})\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\n\n @Input() mode: boolean;\n @Input() preloadPageCount: number;\n @Input() file: FileDescription;\n @Input() selectedPage: number;\n @Output() onpan = new EventEmitter();\n wait = false;\n zoom: number;\n\n docWidth = null;\n docHeight = null;\n viewportWidth = null;\n viewportHeight = null;\n scale = null;\n lastScale = null;\n container = null;\n doc = null;\n x = 0;\n lastX = 0;\n y = 0;\n lastY = 0;\n pinchCenter = null;\n pinchCenterOffset = null;\n curWidth = 0;\n curHeight = 0;\n isDesktop: boolean;\n\n constructor(protected _elementRef: ElementRef,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _navigateService: NavigateService,) {\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n }\n\n ngOnInit() {\n if (this.ifPresentation())\n {\n this.selectedPage = 1;\n }\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 ifPresentation() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\n }\n\n getDimensionWithUnit(value: number, pageNumber: number) {\n return this.ifPresentation() && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\n }\n\n ifEdge() {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n ngAfterViewChecked(): void {\n 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 this.onpan.emit($event);\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 isVisible(pageNumber) {\n if (this.ifPresentation()) {\n return pageNumber === this.selectedPage ? true : false;\n }\n else {\n return true;\n }\n }\n}\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gd-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.less']\n})\nexport class PageComponent implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() width: number;\n @Input() height: number;\n @Input() number: number;\n @Input() data: string;\n @Input() isHtml: boolean;\n @Input() editable: boolean;\n imgData: string;\n\n constructor() {\n }\n\n ngOnInit() {\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n if(isIE && this.number === 0){\n this.editable = false;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // 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+<')\n .replace(/\\uFEFF/g,\"\")\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\n : 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 {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 private loadedPagesSet = new Set();\n\n constructor(private _elementRef: ElementRef,\n private _navigateService: NavigateService,\n private _pagePreloadService: PagePreloadService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _viewportService: ViewportService) {\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n this.refresh();\n });\n }\n\n ngAfterViewInit() {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n this._navigateService.navigate.subscribe((value => {\n this.currentPage = value;\n this.scrollToPage(value);\n }));\n this.refresh();\n }\n\n @HostListener('scroll') scrolling() {\n this.refresh();\n }\n\n @HostListener('window:resize') resizing() {\n this.refresh();\n }\n\n scrollToPage(pageNumber: number) {\n const el = this._elementRef.nativeElement;\n const page = this.getPage(pageNumber);\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\n return;\n }\n const pagesHeight = this.calculateOffset(pageNumber);\n const options = {\n left: 0,\n top: pagesHeight\n };\n if(el){\n // using polyfill\n el.scroll(options);\n }\n }\n\n private getChildren() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n // here and in the similar line below we getting the document pages\n return el.children.item(0).children.item(0).children;\n }\n }\n\n private getPage(pageNumber: number) {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\n }\n }\n\n private calculateOffset(pageNumber: number) {\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\n const margin = this._windowService.isDesktop() ? 40 : 10;\n let pagesHeight = 0;\n for (let i = 1; i < pageNumber / count; i++) {\n const item = this.getPage(i);\n const clientHeight = item ? item.clientHeight : 0;\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\n }\n return pagesHeight;\n }\n\n private countPagesOnWidth() {\n const pageEl = this.getPage(1);\n const offset = 150;\n 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 if (!this.loadedPagesSet.has(page)) {\n this._pagePreloadService.changeLastPageInView(page);\n this.loadedPagesSet.add(page);\n }\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.refresh();\n }\n\n ngOnInit(): void {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n }\n\n\n private getWidth() {\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdMouseWheel]'\n})\nexport class MouseWheelDirective {\n @Output() mouseWheelUp = new EventEmitter();\n @Output() mouseWheelDown = new EventEmitter();\n\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\n this.mouseWheelFunc(event);\n }\n\n mouseWheelFunc(event: any) {\n event = window.event ;\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\n if(delta > 0) {\n this.mouseWheelUp.emit(event);\n } else if(delta < 0) {\n this.mouseWheelDown.emit(event);\n }\n }\n}\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\nimport {ZoomService} from \"./zoom.service\";\nimport {FileUtil} from \"./file.service\";\nimport { WindowService } from './window.service';\n\n@Directive({\n selector: '[gdZoom]'\n})\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n\n @Input() zoomActive = true;\n @Input() file;\n\n @HostBinding('style.zoom') zoomInt: number;\n @HostBinding('style.transform') transform: string;\n @HostBinding('style.transform-origin') transformOrigin: string;\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n @HostBinding('style.min-width') minWidth: string;\n el: ElementRef;\n\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\n this.el = el;\n }\n\n ngOnDestroy(): void {\n }\n\n ngOnChanges(): void {\n this.setStyles(this._zoomService.zoom);\n this.resizePages(this._zoomService.zoom);\n }\n\n ngOnInit(): void {\n if (! this.zoomActive) {\n return;\n }\n\n this.setStyles(this._zoomService.zoom);\n this._zoomService.zoomChange.subscribe((zoom) => {\n this.setStyles(zoom);\n this.resizePages(zoom);\n });\n }\n\n private setStyles(zoom) {\n if (! this.zoomActive) {\n return;\n }\n\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n \n if (this._windowService.isEdge()) {\n this.zoomInt = zoomInt;\n }\n else {\n this.zoomInt = null;\n }\n \n if (!this._windowService.isEdge()) {\n this.transform = 'scale(' + zoomInt + ')';\n this.transformOrigin = 'top left';\n }\n else {\n this.transform = \"\";\n this.transformOrigin = \"\";\n }\n\n let maxWidth = 0;\n this.file.pages.forEach(page => {\n {\n if (page.width > maxWidth){\n maxWidth = page.width;\n }\n }\n });\n\n // Images and Excel-related files receiving dimensions in px from server\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\n }\n\n private getScrollWidth(elm){\n return elm.offsetWidth - elm.clientWidth;\n }\n\n private getScrollHeight(elm){\n return elm.offsetHeight - elm.clientHeight;\n }\n\n private resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\n }\n\n ngAfterViewInit(): void {\n this.setStyles(this._zoomService.zoom);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnCloseService {\n private _observer: Subject = new Subject();\n private readonly _onClose: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get onClose() {\n return this._onClose;\n }\n\n close(close: boolean) {\n this._observer.next(close)\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {OnCloseService} from \"../on-close.service\";\n\nexport interface Option {\n name: string;\n value: any;\n separator: boolean;\n}\n\n@Component({\n selector: 'gd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.less']\n})\nexport class SelectComponent {\n\n @Input() options: Option[];\n @Input() disabled = false;\n @Input() showSelected: Option;\n @Output() selected: EventEmitter = new EventEmitter();\n @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 this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\n this.stopList.push(Api.LOAD_THUMBNAILS);\n this.stopList.push(Api.GET_FILE_STATUS);\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, ElementRef, Renderer2} from '@angular/core';\nimport * as jquery from 'jquery';\nimport {FormattingService} from \"../formatting.service\";\nimport {OnCloseService} from \"../on-close.service\";\nimport {Option} from \"../select/select.component\";\nimport { ZoomService } from '../zoom.service';\nimport { WindowService } from '../window.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-text-menu',\n templateUrl: './text-menu.component.html',\n styleUrls: ['./text-menu.component.less']\n})\nexport class TextMenuComponent implements OnInit {\n @Input() blur: boolean;\n @Input() fontSize: number;\n @Input() font: string;\n @Input() bold: boolean;\n @Input() italic: boolean;\n @Input() underline: boolean;\n @Input() color: string;\n @Input() decoration = true;\n @Input() showTooltips = true;\n\n @Output() outFontSize = new EventEmitter();\n @Output() outFont = new EventEmitter();\n @Output() outBold = new EventEmitter();\n @Output() outItalic = new EventEmitter();\n @Output() outUnderline = new EventEmitter();\n @Output() outColor = new EventEmitter();\n\n fontSizeOptions = FormattingService.getFontSizeOptions();\n fontOptions = FormattingService.getFontOptions();\n colorPickerShow = false;\n\n isMobile: boolean;\n\n constructor(private _onCloseService: OnCloseService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n \n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changePosition(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changePosition(val: number) {\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\n }\n\n selectFontSize($event: Option) {\n $(\".gd-wrapper\").off(\"keyup\");\n this.outFontSize.emit($event.value);\n $(\".gd-wrapper\").on(\"keyup\", () => {\n const fontElements = document.getElementsByTagName(\"font\");\n for (let i = 0, len = fontElements.length; i < len; ++i) {\n if (fontElements[i].getAttribute('size') === \"7\") {\n fontElements[i].removeAttribute(\"size\");\n fontElements[i].style.fontSize = $event + \"px\";\n }\n }\n });\n }\n\n selectFont($event: Option) {\n event.preventDefault();\n event.stopPropagation();\n this.outFont.emit($event.value);\n }\n\n toggleColorPicker($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.colorPickerShow = !this.colorPickerShow;\n }\n\n selectColor($event: string) {\n this.colorPickerShow = false;\n this.outColor.emit($event);\n }\n\n toggleBold(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outBold.emit(!this.bold);\n }\n\n toggleItalic(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outItalic.emit(!this.italic);\n }\n\n toggleUnderline(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outUnderline.emit(!this.underline);\n }\n\n closePicker($event) {\n this.colorPickerShow = !$event;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.service\";\nimport { ZoomService } from '../zoom.service';\n\nexport class MenuType {\n public static FOR_SIGNATURE = \"signature\";\n public static FOR_ANNOTATION = \"annotation\";\n}\n\n@Component({\n selector: 'gd-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.less']\n})\nexport class ContextMenuComponent implements OnInit {\n @Input() formatting: Formatting = Formatting.default();\n @Input() textMenu: boolean;\n @Input() topPosition: number;\n @Input() lock = false;\n @Input() translation = 0;\n @Input() menuType: string;\n @Output() changeFormatting = new EventEmitter();\n @Output() removeItem = new EventEmitter();\n @Output() copySign = new EventEmitter();\n @Output() lockOut = new EventEmitter();\n @Output() comment = new EventEmitter();\n\n isMobile: boolean;\n\n constructor(private _windowService: WindowService,\n private _zoomService: ZoomService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changeScale(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changeScale(val: number){\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\n }\n\n saveChanges() {\n this.changeFormatting.emit(this.formatting);\n }\n\n selectFontSize($event: number) {\n this.formatting.fontSize = $event;\n this.saveChanges();\n }\n\n selectFont($event: string) {\n this.formatting.font = $event;\n this.saveChanges();\n }\n\n selectColor($event: string) {\n this.formatting.color = $event;\n this.saveChanges();\n }\n\n toggleBold($event) {\n this.formatting.bold = $event;\n this.saveChanges();\n }\n\n toggleItalic($event) {\n this.formatting.italic = $event;\n this.saveChanges();\n }\n\n toggleUnderline($event) {\n this.formatting.underline = $event;\n this.saveChanges();\n }\n\n deleteItem() {\n this.removeItem.emit(true);\n }\n\n toggleLock() {\n this.lock = !this.lock;\n this.lockOut.emit(this.lock);\n }\n\n onCopySign() {\n this.copySign.emit(true);\n }\n\n isSignature() {\n return this.menuType === MenuType.FOR_SIGNATURE;\n }\n\n isAnnotation() {\n return this.menuType === MenuType.FOR_ANNOTATION;\n }\n\n addComment() {\n this.comment.emit(true);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\nimport {SidePanelComponent} from './side-panel/side-panel.component';\nimport {ButtonComponent} from './button/button.component';\nimport {LogoComponent} from './logo/logo.component';\nimport {TooltipComponent} from './tooltip/tooltip.component';\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons';\nimport {far} from '@fortawesome/free-regular-svg-icons';\nimport {Api, ConfigService,} from \"./config.service\";\nimport {ModalService} from \"./modal.service\";\nimport {ModalComponent} from './modal/modal.component';\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\nimport {DocumentComponent} from './document/document.component';\nimport {PageComponent} from './page/page.component';\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\nimport {UploadFilesService} from \"./upload-files.service\";\nimport {DndDirective} from './dnd.directive';\nimport {ScrollableDirective} from './scrollable.directive';\nimport {MouseWheelDirective} from './mousewheel.directive';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomDirective} from './zoom.directive';\nimport {ZoomService} from \"./zoom.service\";\nimport {SelectComponent} from './select/select.component';\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\nimport {RotationDirective} from './rotation.directive';\nimport {InitStateComponent} from './init-state/init-state.component';\nimport {RenderPrintService} from \"./render-print.service\";\nimport {RenderPrintDirective} from './render-print.directive';\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {PasswordService} from \"./password.service\";\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\nimport {SearchComponent} from './search/search.component';\nimport {SearchableDirective} from './searchable.directive';\nimport {SearchService} from \"./search.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\nimport {TabComponent} from \"./tab/tab.component\";\nimport {TabsComponent} from \"./tabs/tabs.component\";\nimport {FormattingService} from \"./formatting.service\";\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\nimport {FormattingDirective} from './formatting.directive';\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport {OnCloseService} from \"./on-close.service\";\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\nimport {EditorDirective} from './editor.directive';\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\nimport {LoadingMaskService} from './loading-mask.service';\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\nimport {TabActivatorService} from \"./tab-activator.service\";\nimport {\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent\n} from './drop-down/drop-down.component';\nimport {ClickOutsideModule} from 'ng-click-outside';\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\nimport {TooltipDirective} from './tooltip.directive';\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\nimport {HostDynamicDirective} from './host-dynamic.directive';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\nimport {ResizingComponent} from './resizing/resizing.component';\nimport {TopTabComponent} from './top-tab/top-tab.component';\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\nimport {TextMenuComponent} from './text-menu/text-menu.component';\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\n\nconst providers = [ConfigService,\n Api,\n ModalService,\n FileService,\n FileModel,\n FileUtil,\n Utils,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFilesService,\n RenderPrintService,\n NavigateService,\n PagePreloadService,\n ZoomService,\n ExceptionMessageService,\n PasswordService,\n ErrorInterceptorService,\n SearchService,\n WindowService,\n ViewportService,\n FormattingService,\n BackFormattingService,\n OnCloseService,\n LoadingMaskInterceptorService,\n LoadingMaskService,\n TabActivatorService,\n AddDynamicComponentService,\n HostingDynamicComponentService,\n TopTabActivatorService];\n\n@NgModule({\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\n declarations: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFileZoneComponent,\n DndDirective,\n ScrollableDirective,\n MouseWheelDirective,\n ZoomDirective,\n SelectComponent,\n DisabledCursorDirective,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n EditorDirective,\n LoadingMaskComponent,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n exports: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n SanitizeHtmlPipe,\n UploadFileZoneComponent,\n ScrollableDirective,\n MouseWheelDirective,\n SelectComponent,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n LoadingMaskComponent,\n DndDirective,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n ZoomDirective,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n providers: providers\n})\nexport class CommonComponentsModule {\n constructor() {\n library.add(fas, far);\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","TopToolbarComponent","Component","args","selector","template","SidePanelComponent","closable","saveable","hideSidePanel","EventEmitter","saveInSidePanel","onlyTitle","closeSidePanel","emit","saveBySidePanel","toggleTitleMode","Input","Output","WindowService","_this","resizeSubject","Subject","width","window","innerWidth","height","innerHeight","_resize$","fromEvent","pipe","debounceTime","distinctUntilChanged","startWith","target","tap","event","subscribe","defineProperty","asObservable","isMobile","isTablet","isDesktop","getWidth","getHeight","isEdge","navigator","userAgent","toLowerCase","indexOf","isFirefox","ButtonComponent","windowService","iconOnly","intent","disabled","toggle","iconRegular","elementPosition","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","position","visibility","getClass","Api","VIEWER_APP","SIGNATURE_APP","ANNOTATION_APP","SEARCH_APP","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","METADATA_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","LOAD_DOCUMENT_PROPERTIES","LOAD_DOCUMENT_PROPERTIES_NAMES","SAVE_PROPERTY","REMOVE_PROPERTY","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","CREATE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","REMOVE_FROM_INDEX","GET_FILE_STATUS","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","SEARCH","ADD_FILES_TO_INDEX","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getMetadataApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","getSearchApiEndpoint","Injectable","CommonModals","PasswordRequired","ErrorMessage","BrowseFiles","CreateDocument","OperationSuccess","DrawHandSignature","DrawStampSignature","InformationMessage","ModalService","modals","add","modal","push","remove","id","filter","x","open","close","ModalComponent","modalService","el","visible","cancel","element","nativeElement","document","body","appendChild","console","error","ngOnDestroy","preventDefault","stopPropagation","onClose","$event","cancelClose","ElementRef","RotatedPage","FileCredentials","guid","password","SaveFile","_super","content","tslib_1.__extends","FileDescription","printAllowed","FileModel","HttpError","BadRequest","Unauthorized","Forbidden","NotFound","TimeOut","Conflict","InternalServerError","Utils","getMousePosition","mouse","y","wEvent","ev","pageX","screenX","touches","pageY","screenX_1","screenY","screenY_1","clientX","scrollLeft","clientY","scrollTop","toRgb","color","result","exec","r","parseInt","g","toHex","match","charAt","c","RegExp","$1","$2","$3","pad","len","toString","FileUtil","find","filename","isDirectory","strings","split","name_1","pop","map","folder","format","icon","pdf","unit","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown","FileService","UploadFilesService","_uploadsChange","Observable","observer","_observer","changeFilesList","filesList","$","jquery","uploads_choices","name","BrowseFilesModalComponent","_uploadService","uploads","selectedFileGuid","selectedDirectory","urlForUpload","closing","showUploadUrl","showUploadFile","getSize","size","mb","Math","round","kb","getFormatName","file","directory","getFormatIcon","choose","selectedFile","goUp","selectUpload","trigger","refresh","files","showSpinner","uploadUrl","cleanUpload","handleFileInput","ZoomService","_zoomChange","_zoom","changeZoom","zoom","createZoomOption","sep","separator","zoomOptions","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","DocumentComponent","_elementRef","_zoomService","_windowService","_navigateService","onpan","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","ifPresentation","selectedPage","ngOnChanges","children","item","style","transform","ngAfterViewInit","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","pageNumber","isVisible","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","ExcelPageService","getUpdatedPage","data","DOMParser","parseFromString","table","querySelector","numCellsInFirstRow","forEach","elm","attributes","newTable","createHeader","replaceWith","XMLSerializer","serializeToString","getPageWithoutHeader","deleteRow","row","deleteCell","numCols","header","createElement","append","th","innerText","colName","setAttribute","colgroup","col","prepend","cnt","div","td","n","ordA","charCodeAt","String","fromCharCode","floor","ExcelPageComponent","_excelPageService","test","number","editable","changes","imgData","isHtml","ExcelDocumentComponent","zoomService","navigateService","panzoom","currentPageNo","refreshExcelDocHeight","pages","navigate","selectSheet","scrollHeight","ViewChildren","PageComponent","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","ViewportService","checkInViewport","leftOffset","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","toFixed","ScrollableDirective","_viewportService","loadedPagesSet","Set","scrollToPage","scrolling","resizing","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","has","MouseWheelDirective","mouseWheelUp","mouseWheelDown","onMouseWheelChrome","mouseWheelFunc","onMouseWheelFirefox","onMouseWheelIE","delta","max","wheelDelta","detail","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","minWidth","getScrollWidth","getScrollHeight","viewPortWidth","parentElement","viewPortHeight","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","normalize","nodeListOf","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","renderer","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","changePosition","setStyle","selectFontSize","off","on","fontElements","getElementsByTagName","getAttribute","removeAttribute","selectFont","toggleColorPicker","selectColor","closePicker","Renderer2","MenuType","FOR_SIGNATURE","FOR_ANNOTATION","ContextMenuComponent","formatting","lock","translation","changeFormatting","removeItem","copySign","lockOut","comment","changeScale","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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AjR,EACAJ,EACAT,EACAyT,GACAQ,GACAS,GACAY,GACAhrB,EACA+hB,GACAmN,GACAiD,GACAhM,GACAuR,GACAd,GACA/I,GACAoL,GACAe,GACAqC,GACAjgB,GAEFsjB,GAAA,WAyGE,SAAAA,IACEC,EAAAA,QAAQn3B,IAAIo3B,EAAAA,IAAKC,EAAAA,KAErB,2BA5GCC,EAAAA,SAAQ9gC,KAAA,CAAC,CACR+gC,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZrhC,EACAK,EACA6C,EACAmB,EACAE,EACA4F,EACA2K,EACAuD,EACAiI,EACAW,EACAnB,EACAoB,EACAK,EACAE,EACAE,GACAE,GACAG,GACAmC,GACAyB,GACAW,GACAgB,GACAM,GACAI,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACAwB,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAgB,GACAgB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACA6B,IAEF6B,QAAS,CACPthC,EACAK,EACA6C,EACAmB,EACAE,EACA4F,EACA2K,EACAuD,EACAiI,EACAW,EACAnB,EACAyB,EACAE,EACAE,GACAT,EACAW,GACAsC,GACAyB,GACA2B,GACAU,GACAO,GACAQ,GACA0B,GACAO,GACA6B,GACAQ,GACAwB,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAmB,GACAxW,GACAwX,GACAK,GACAJ,GACAT,GACAzS,GACAyS,GACAiB,GACAC,GACAoB,GACAI,GACA8B,GACAI,GACA6B,GACAjI,GACAnD,IACFsM,UAAWA,6CAMbC,EA5GA","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {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 {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges,\r\n Output,\r\n EventEmitter\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Output() onpan = new EventEmitter();\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService,) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = 1;\r\n }\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 ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n 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 this.onpan.emit($event);\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 isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n this.selectSheet(value);\r\n });\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n 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 if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n }\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, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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 b3dfd4e46..ec4de1ede 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 @@ -5,9 +5,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, MouseWheelDirective, 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 { 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, ExcelDocumentComponent, ErrorModalComponent, InitStateComponent, LogoComponent, ModalComponent, PageComponent, ExcelPageComponent, PasswordRequiredComponent, RenderPrintDirective, RotationDirective, ScrollableDirective, MouseWheelDirective, 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, ExcelPageService } 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXItY29tbW9uLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJncm91cGRvY3MuZXhhbXBsZXMuYW5ndWxhci1jb21tb24tY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsbWdEQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7UmVzaXppbmdDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9yZXNpemluZy9yZXNpemluZy5jb21wb25lbnQnO1xuZXhwb3J0IHtUYWJzQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvdGFicy90YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge1Rvb2x0aXBEaXJlY3RpdmUgYXMgybVifSBmcm9tICcuL2xpYi90b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQge1RvcFRhYkNvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL3RvcC10YWIvdG9wLXRhYi5jb21wb25lbnQnOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXItY29tbW9uLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJncm91cGRvY3MuZXhhbXBsZXMuYW5ndWxhci1jb21tb24tY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaWtEQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7UmVzaXppbmdDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9yZXNpemluZy9yZXNpemluZy5jb21wb25lbnQnO1xuZXhwb3J0IHtUYWJzQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvdGFicy90YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge1Rvb2x0aXBEaXJlY3RpdmUgYXMgybVifSBmcm9tICcuL2xpYi90b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQge1RvcFRhYkNvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL3RvcC10YWIvdG9wLXRhYi5jb21wb25lbnQnOyJdfQ== \ No newline at end of file diff --git a/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js b/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js index f54202892..ff74cd943 100644 --- a/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js +++ b/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js @@ -13,12 +13,12 @@ export class ExcelDocumentComponent extends DocumentComponent { * @param {?} _elementRef * @param {?} zoomService * @param {?} windowService - * @param {?} _navigateService + * @param {?} navigateService */ - constructor(_elementRef, zoomService, windowService, _navigateService) { - super(_elementRef, zoomService, windowService); - this._navigateService = _navigateService; + constructor(_elementRef, zoomService, windowService, navigateService) { + super(_elementRef, zoomService, windowService, navigateService); this.panzoom = null; + this.navigateService = navigateService; } /** * @return {?} @@ -37,7 +37,7 @@ export class ExcelDocumentComponent extends DocumentComponent { () => { this.refreshExcelDocHeight(); })); - this._navigateService.navigate.subscribe((/** + this.navigateService.navigate.subscribe((/** * @param {?} value * @return {?} */ @@ -67,7 +67,7 @@ ExcelDocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-document', template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", - styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; /** @nocollapse */ @@ -87,10 +87,7 @@ if (false) { ExcelDocumentComponent.prototype.currentPageNo; /** @type {?} */ ExcelDocumentComponent.prototype.panzoom; - /** - * @type {?} - * @private - */ - ExcelDocumentComponent.prototype._navigateService; + /** @type {?} */ + ExcelDocumentComponent.prototype.navigateService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsWUFBWSxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU8saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFPeEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjs7Ozs7OztJQU0zRCxZQUFZLFdBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLGFBQTRCLEVBQ3BCLGdCQUFpQztRQUNuRCxLQUFLLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUQ3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBTHJELFlBQU8sR0FBRyxJQUFJLENBQUM7SUFPZixDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUzs7O1FBQUMsR0FBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTOzs7O1FBQ3ZDLEtBQUssQ0FBQyxFQUFFO1lBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLEVBQUMsQ0FBQztJQUNOLENBQUM7Ozs7SUFFRCxxQkFBcUI7UUFDbkIsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDaEUsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsTUFBTTtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztJQUM5QixDQUFDOzs7WUE1Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLHFoQ0FBOEM7O2FBRS9DOzs7O1lBWG1CLFVBQVU7WUFJckIsV0FBVztZQUZYLGFBQWE7WUFDYixlQUFlOzs7b0JBVXJCLFlBQVksU0FBQyxrQkFBa0I7Ozs7SUFBaEMsdUNBQXVFOztJQUV2RSwrQ0FBc0I7O0lBQ3RCLHlDQUFlOzs7OztJQUtILGtEQUF5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb2N1bWVudENvbXBvbmVudCB9IGZyb20gJy4uL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi93aW5kb3cuc2VydmljZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRlU2VydmljZSB9IGZyb20gJy4uL25hdmlnYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBab29tU2VydmljZSB9IGZyb20gICcuLi96b29tLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFeGNlbFBhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9leGNlbC1wYWdlL2V4Y2VsLXBhZ2UuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ2QtZXhjZWwtZG9jdW1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leGNlbC1kb2N1bWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4Y2VsRG9jdW1lbnRDb21wb25lbnQgZXh0ZW5kcyBEb2N1bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCAge1xyXG4gIEBWaWV3Q2hpbGRyZW4oRXhjZWxQYWdlQ29tcG9uZW50KSBwYWdlczogUXVlcnlMaXN0PEV4Y2VsUGFnZUNvbXBvbmVudD47IFxyXG4gIFxyXG4gIGN1cnJlbnRQYWdlTm86IG51bWJlcjtcclxuICBwYW56b29tID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgICAgICAgIHpvb21TZXJ2aWNlOiBab29tU2VydmljZSxcclxuICAgICAgICAgICAgICB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgX25hdmlnYXRlU2VydmljZTogTmF2aWdhdGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgem9vbVNlcnZpY2UsIHdpbmRvd1NlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IDE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgdGhpcy5wYWdlcy5jaGFuZ2VzLnN1YnNjcmliZSgoKT0+e1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9uYXZpZ2F0ZVNlcnZpY2UubmF2aWdhdGUuc3Vic2NyaWJlKFxyXG4gICAgIHZhbHVlID0+IHtcclxuICAgICAgICAgdGhpcy5zZWxlY3RTaGVldCh2YWx1ZSk7XHJcbiAgICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoRXhjZWxEb2NIZWlnaHQoKSB7XHJcbiAgICAvLyBGb3IgY3VycmVudCBpdGVyYXRpb24gd2UnbGwgY2hhbmdlIGFjdHVhbCBoZWlnaHQgb2YgLmRvY3VtZW50XHJcbiAgICB0aGlzLmRvYyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApO1xyXG4gICAgdGhpcy5wYW56b29tID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCkuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIC8vIG1hZ2ljIG51bWJlciAzNyBpcyB0aGUgaGVpZ2h0IG9mIHRoZSBib3R0b20tYmFyIHdpdGggbmF2aWdhdGlvbiBiZXR3ZWVuIHBhZ2VzXHJcbiAgICB0aGlzLmRvYy5zdHlsZS5oZWlnaHQgPSB0aGlzLnBhbnpvb20uc2Nyb2xsSGVpZ2h0ICsgMzcgKyBcInB4XCI7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RTaGVldChudW1iZXIpe1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZU5vID0gbnVtYmVyO1xyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsWUFBWSxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU8saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFPeEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjs7Ozs7OztJQU8zRCxZQUFZLFdBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLGFBQTRCLEVBQzVCLGVBQWdDO1FBQzFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQVBsRSxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBUWIsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7SUFDekMsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7O0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVM7OztRQUFDLEdBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNqQyxDQUFDLEVBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVM7Ozs7UUFDdEMsS0FBSyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsRUFBQyxDQUFDO0lBQ04sQ0FBQzs7OztJQUVELHFCQUFxQjtRQUNuQixnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNoRSxDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQzlCLENBQUM7OztZQTlDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IscWhDQUE4Qzs7YUFFL0M7Ozs7WUFYbUIsVUFBVTtZQUlyQixXQUFXO1lBRlgsYUFBYTtZQUNiLGVBQWU7OztvQkFVckIsWUFBWSxTQUFDLGtCQUFrQjs7OztJQUFoQyx1Q0FBdUU7O0lBRXZFLCtDQUFzQjs7SUFDdEIseUNBQWU7O0lBQ2YsaURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vZG9jdW1lbnQvZG9jdW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uL3dpbmRvdy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbmF2aWdhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFpvb21TZXJ2aWNlIH0gZnJvbSAgJy4uL3pvb20uc2VydmljZSc7XHJcbmltcG9ydCB7IEV4Y2VsUGFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2V4Y2VsLXBhZ2UvZXhjZWwtcGFnZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnZC1leGNlbC1kb2N1bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leGNlbC1kb2N1bWVudC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhjZWxEb2N1bWVudENvbXBvbmVudCBleHRlbmRzIERvY3VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0ICB7XHJcbiAgQFZpZXdDaGlsZHJlbihFeGNlbFBhZ2VDb21wb25lbnQpIHBhZ2VzOiBRdWVyeUxpc3Q8RXhjZWxQYWdlQ29tcG9uZW50PjsgXHJcbiAgXHJcbiAgY3VycmVudFBhZ2VObzogbnVtYmVyO1xyXG4gIHBhbnpvb20gPSBudWxsO1xyXG4gIG5hdmlnYXRlU2VydmljZTogTmF2aWdhdGVTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICAgICAgICAgICAgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgbmF2aWdhdGVTZXJ2aWNlOiBOYXZpZ2F0ZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCB6b29tU2VydmljZSwgd2luZG93U2VydmljZSwgbmF2aWdhdGVTZXJ2aWNlKTtcclxuICAgIHRoaXMubmF2aWdhdGVTZXJ2aWNlID0gbmF2aWdhdGVTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IDE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgdGhpcy5wYWdlcy5jaGFuZ2VzLnN1YnNjcmliZSgoKT0+e1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm5hdmlnYXRlU2VydmljZS5uYXZpZ2F0ZS5zdWJzY3JpYmUoXHJcbiAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgICB0aGlzLnNlbGVjdFNoZWV0KHZhbHVlKTtcclxuICAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hFeGNlbERvY0hlaWdodCgpIHtcclxuICAgIC8vIEZvciBjdXJyZW50IGl0ZXJhdGlvbiB3ZSdsbCBjaGFuZ2UgYWN0dWFsIGhlaWdodCBvZiAuZG9jdW1lbnRcclxuICAgIHRoaXMuZG9jID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICB0aGlzLnBhbnpvb20gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKS5jaGlsZHJlbi5pdGVtKDApO1xyXG4gICAgLy8gbWFnaWMgbnVtYmVyIDM3IGlzIHRoZSBoZWlnaHQgb2YgdGhlIGJvdHRvbS1iYXIgd2l0aCBuYXZpZ2F0aW9uIGJldHdlZW4gcGFnZXNcclxuICAgIHRoaXMuZG9jLnN0eWxlLmhlaWdodCA9IHRoaXMucGFuem9vbS5zY3JvbGxIZWlnaHQgKyAzNyArIFwicHhcIjtcclxuICB9XHJcblxyXG4gIHNlbGVjdFNoZWV0KG51bWJlcil7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSBudW1iZXI7XHJcbiAgfVxyXG59XHJcbiJdfQ== \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js b/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js index 82c6a941d..5a52c0ff3 100644 --- a/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js +++ b/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js @@ -11,10 +11,10 @@ import { ZoomService } from '../zoom.service'; import { ExcelPageComponent } from '../excel-page/excel-page.component'; var ExcelDocumentComponent = /** @class */ (function (_super) { tslib_1.__extends(ExcelDocumentComponent, _super); - function ExcelDocumentComponent(_elementRef, zoomService, windowService, _navigateService) { - var _this = _super.call(this, _elementRef, zoomService, windowService) || this; - _this._navigateService = _navigateService; + function ExcelDocumentComponent(_elementRef, zoomService, windowService, navigateService) { + var _this = _super.call(this, _elementRef, zoomService, windowService, navigateService) || this; _this.panzoom = null; + _this.navigateService = navigateService; return _this; } /** @@ -41,7 +41,7 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { function () { _this.refreshExcelDocHeight(); })); - this._navigateService.navigate.subscribe((/** + this.navigateService.navigate.subscribe((/** * @param {?} value * @return {?} */ @@ -77,7 +77,7 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { { type: Component, args: [{ selector: 'gd-excel-document', template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", - styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets /deep/ gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets /deep/ gd-button .text{padding:1px 12px;color:#000}.sheets /deep/ gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; /** @nocollapse */ @@ -100,10 +100,7 @@ if (false) { ExcelDocumentComponent.prototype.currentPageNo; /** @type {?} */ ExcelDocumentComponent.prototype.panzoom; - /** - * @type {?} - * @private - */ - ExcelDocumentComponent.prototype._navigateService; + /** @type {?} */ + ExcelDocumentComponent.prototype.navigateService; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFlBQVksRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFPLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXhFO0lBSzRDLGtEQUFpQjtJQU0zRCxnQ0FBWSxXQUFvQyxFQUNwQyxXQUF3QixFQUN4QixhQUE0QixFQUNwQixnQkFBaUM7UUFIckQsWUFJRSxrQkFBTSxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxTQUMvQztRQUZtQixzQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBTHJELGFBQU8sR0FBRyxJQUFJLENBQUM7O0lBT2YsQ0FBQzs7OztJQUVELHlDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxnREFBZTs7O0lBQWY7UUFBQSxpQkFVQztRQVRDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVM7OztRQUFDO1lBQ3pCLEtBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTOzs7O1FBQ3ZDLFVBQUEsS0FBSztZQUNELEtBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFDLENBQUM7SUFDTixDQUFDOzs7O0lBRUQsc0RBQXFCOzs7SUFBckI7UUFDRSxnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNoRSxDQUFDOzs7OztJQUVELDRDQUFXOzs7O0lBQVgsVUFBWSxNQUFNO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQzlCLENBQUM7O2dCQTVDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IscWhDQUE4Qzs7aUJBRS9DOzs7O2dCQVhtQixVQUFVO2dCQUlyQixXQUFXO2dCQUZYLGFBQWE7Z0JBQ2IsZUFBZTs7O3dCQVVyQixZQUFZLFNBQUMsa0JBQWtCOztJQXVDbEMsNkJBQUM7Q0FBQSxBQTdDRCxDQUs0QyxpQkFBaUIsR0F3QzVEO1NBeENZLHNCQUFzQjs7O0lBQ2pDLHVDQUF1RTs7SUFFdkUsK0NBQXNCOztJQUN0Qix5Q0FBZTs7Ozs7SUFLSCxrREFBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9kb2N1bWVudC9kb2N1bWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vd2luZG93LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0ZVNlcnZpY2UgfSBmcm9tICcuLi9uYXZpZ2F0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWm9vbVNlcnZpY2UgfSBmcm9tICAnLi4vem9vbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXhjZWxQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dkLWV4Y2VsLWRvY3VtZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeGNlbERvY3VtZW50Q29tcG9uZW50IGV4dGVuZHMgRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQgIHtcclxuICBAVmlld0NoaWxkcmVuKEV4Y2VsUGFnZUNvbXBvbmVudCkgcGFnZXM6IFF1ZXJ5TGlzdDxFeGNlbFBhZ2VDb21wb25lbnQ+OyBcclxuICBcclxuICBjdXJyZW50UGFnZU5vOiBudW1iZXI7XHJcbiAgcGFuem9vbSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgICAgICAgICAgICB6b29tU2VydmljZTogWm9vbVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgd2luZG93U2VydmljZTogV2luZG93U2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9uYXZpZ2F0ZVNlcnZpY2U6IE5hdmlnYXRlU2VydmljZSkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIHpvb21TZXJ2aWNlLCB3aW5kb3dTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSAxO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5yZWZyZXNoRXhjZWxEb2NIZWlnaHQoKTtcclxuICAgIHRoaXMucGFnZXMuY2hhbmdlcy5zdWJzY3JpYmUoKCk9PntcclxuICAgICAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fbmF2aWdhdGVTZXJ2aWNlLm5hdmlnYXRlLnN1YnNjcmliZShcclxuICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICAgIHRoaXMuc2VsZWN0U2hlZXQodmFsdWUpO1xyXG4gICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCkge1xyXG4gICAgLy8gRm9yIGN1cnJlbnQgaXRlcmF0aW9uIHdlJ2xsIGNoYW5nZSBhY3R1YWwgaGVpZ2h0IG9mIC5kb2N1bWVudFxyXG4gICAgdGhpcy5kb2MgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIHRoaXMucGFuem9vbSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApLmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICAvLyBtYWdpYyBudW1iZXIgMzcgaXMgdGhlIGhlaWdodCBvZiB0aGUgYm90dG9tLWJhciB3aXRoIG5hdmlnYXRpb24gYmV0d2VlbiBwYWdlc1xyXG4gICAgdGhpcy5kb2Muc3R5bGUuaGVpZ2h0ID0gdGhpcy5wYW56b29tLnNjcm9sbEhlaWdodCArIDM3ICsgXCJweFwiO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0U2hlZXQobnVtYmVyKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IG51bWJlcjtcclxuICB9XHJcbn1cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFlBQVksRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFPLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXhFO0lBSzRDLGtEQUFpQjtJQU8zRCxnQ0FBWSxXQUFvQyxFQUNwQyxXQUF3QixFQUN4QixhQUE0QixFQUM1QixlQUFnQztRQUg1QyxZQUlFLGtCQUFNLFdBQVcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxTQUVoRTtRQVRELGFBQU8sR0FBRyxJQUFJLENBQUM7UUFRYixLQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQzs7SUFDekMsQ0FBQzs7OztJQUVELHlDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxnREFBZTs7O0lBQWY7UUFBQSxpQkFVQztRQVRDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVM7OztRQUFDO1lBQ3pCLEtBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUzs7OztRQUN0QyxVQUFBLEtBQUs7WUFDRCxLQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsRUFBQyxDQUFDO0lBQ04sQ0FBQzs7OztJQUVELHNEQUFxQjs7O0lBQXJCO1FBQ0UsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDaEUsQ0FBQzs7Ozs7SUFFRCw0Q0FBVzs7OztJQUFYLFVBQVksTUFBTTtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztJQUM5QixDQUFDOztnQkE5Q0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLHFoQ0FBOEM7O2lCQUUvQzs7OztnQkFYbUIsVUFBVTtnQkFJckIsV0FBVztnQkFGWCxhQUFhO2dCQUNiLGVBQWU7Ozt3QkFVckIsWUFBWSxTQUFDLGtCQUFrQjs7SUF5Q2xDLDZCQUFDO0NBQUEsQUEvQ0QsQ0FLNEMsaUJBQWlCLEdBMEM1RDtTQTFDWSxzQkFBc0I7OztJQUNqQyx1Q0FBdUU7O0lBRXZFLCtDQUFzQjs7SUFDdEIseUNBQWU7O0lBQ2YsaURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vZG9jdW1lbnQvZG9jdW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uL3dpbmRvdy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbmF2aWdhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFpvb21TZXJ2aWNlIH0gZnJvbSAgJy4uL3pvb20uc2VydmljZSc7XHJcbmltcG9ydCB7IEV4Y2VsUGFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2V4Y2VsLXBhZ2UvZXhjZWwtcGFnZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnZC1leGNlbC1kb2N1bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leGNlbC1kb2N1bWVudC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhjZWxEb2N1bWVudENvbXBvbmVudCBleHRlbmRzIERvY3VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0ICB7XHJcbiAgQFZpZXdDaGlsZHJlbihFeGNlbFBhZ2VDb21wb25lbnQpIHBhZ2VzOiBRdWVyeUxpc3Q8RXhjZWxQYWdlQ29tcG9uZW50PjsgXHJcbiAgXHJcbiAgY3VycmVudFBhZ2VObzogbnVtYmVyO1xyXG4gIHBhbnpvb20gPSBudWxsO1xyXG4gIG5hdmlnYXRlU2VydmljZTogTmF2aWdhdGVTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICAgICAgICAgICAgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgbmF2aWdhdGVTZXJ2aWNlOiBOYXZpZ2F0ZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCB6b29tU2VydmljZSwgd2luZG93U2VydmljZSwgbmF2aWdhdGVTZXJ2aWNlKTtcclxuICAgIHRoaXMubmF2aWdhdGVTZXJ2aWNlID0gbmF2aWdhdGVTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IDE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgdGhpcy5wYWdlcy5jaGFuZ2VzLnN1YnNjcmliZSgoKT0+e1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm5hdmlnYXRlU2VydmljZS5uYXZpZ2F0ZS5zdWJzY3JpYmUoXHJcbiAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgICB0aGlzLnNlbGVjdFNoZWV0KHZhbHVlKTtcclxuICAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hFeGNlbERvY0hlaWdodCgpIHtcclxuICAgIC8vIEZvciBjdXJyZW50IGl0ZXJhdGlvbiB3ZSdsbCBjaGFuZ2UgYWN0dWFsIGhlaWdodCBvZiAuZG9jdW1lbnRcclxuICAgIHRoaXMuZG9jID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICB0aGlzLnBhbnpvb20gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKS5jaGlsZHJlbi5pdGVtKDApO1xyXG4gICAgLy8gbWFnaWMgbnVtYmVyIDM3IGlzIHRoZSBoZWlnaHQgb2YgdGhlIGJvdHRvbS1iYXIgd2l0aCBuYXZpZ2F0aW9uIGJldHdlZW4gcGFnZXNcclxuICAgIHRoaXMuZG9jLnN0eWxlLmhlaWdodCA9IHRoaXMucGFuem9vbS5zY3JvbGxIZWlnaHQgKyAzNyArIFwicHhcIjtcclxuICB9XHJcblxyXG4gIHNlbGVjdFNoZWV0KG51bWJlcil7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSBudW1iZXI7XHJcbiAgfVxyXG59XHJcbiJdfQ== \ 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 21676efab..04ad36e96 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 @@ -1,4 +1,4 @@ -import { Component, EventEmitter, Input, Output, Injectable, ElementRef, ɵɵdefineInjectable, ɵɵinject, Pipe, Directive, HostBinding, HostListener, ViewChild, ViewEncapsulation, Inject, forwardRef, ComponentFactoryResolver, ApplicationRef, ViewContainerRef, Renderer2, NgModule } from '@angular/core'; +import { Component, EventEmitter, Input, Output, Injectable, ElementRef, ɵɵdefineInjectable, ɵɵinject, ViewChildren, Pipe, Directive, HostBinding, HostListener, ViewChild, ViewEncapsulation, Inject, forwardRef, ComponentFactoryResolver, ApplicationRef, ViewContainerRef, Renderer2, 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 @@ 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 */ @@ -66,8 +66,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 \n
\n
\n", - styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"] + template: "
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n", + styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;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,.gd-side-panel-wrapper .gd-side-panel-header .save{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display: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 */ @@ -257,8 +257,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 */ @@ -325,8 +325,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 */ @@ -376,7 +376,7 @@ class TooltipComponent { TooltipComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tooltip', - template: "\n", + template: "\r\n", styles: [".tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin: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}"] }] } ]; @@ -792,8 +792,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-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"] + 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-dialog ::ng-deep .button{flex-direction:unset!important}.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 */ @@ -1342,8 +1342,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 */ @@ -1966,8 +1966,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;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + 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;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;transition:unset}.page.presentation.active{margin:20px}.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 */ @@ -2063,6 +2063,321 @@ if (false) { /* Skipping unhandled member: ;*/ } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class ExcelPageService { + constructor() { + } + /** + * @param {?} data + * @return {?} + */ + getUpdatedPage(data) { + /** @type {?} */ + const doc = new DOMParser().parseFromString(data, "text/html"); + /** @type {?} */ + const table = doc.querySelector('table'); + /** @type {?} */ + let numCellsInFirstRow = 0; + /** @type {?} */ + const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td'); + cellsFromFirstRow.forEach((/** + * @param {?} elm + * @return {?} + */ + elm => { + numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1; + })); + /** @type {?} */ + const newTable = this.createHeader(numCellsInFirstRow, table); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + const resultData = new XMLSerializer().serializeToString(doc) + // work-around for FF which is adds a0 namespace during serialization + ; + // work-around for FF which is adds a0 namespace during serialization + return resultData.replace(/a0:/g, "").replace(/:a0/g, ""); + } + /** + * @param {?} data + * @return {?} + */ + getPageWithoutHeader(data) { + /** @type {?} */ + const doc = new DOMParser().parseFromString(data, "text/html"); + doc.querySelector('colgroup').remove(); + /** @type {?} */ + const newTable = doc.querySelector('table'); + newTable.deleteRow(0); + newTable.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + row => { + row.deleteCell(0); + })); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + const resultData = new XMLSerializer().serializeToString(doc); + return resultData; + } + /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + createHeader(numCols, table) { + /** @type {?} */ + const header = document.createElement('thead'); + header.append(document.createElement('tr')); + for (let i = 0; i < numCols; ++i) { + /** @type {?} */ + const th = document.createElement('th'); + th.innerText = this.colName(i); + th.setAttribute("contenteditable", "false"); + header.querySelector("tr").append(th); + } + /** @type {?} */ + const colgroup = table.querySelector('colgroup'); + /** @type {?} */ + const col = document.createElement('col'); + col.width = '80px'; + colgroup.prepend(col); + table.prepend(header); + /** @type {?} */ + let cnt = 0; + table.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + row => { + /** @type {?} */ + const div = document.createElement('div'); + if (cnt !== 0) { + /** @type {?} */ + const td = document.createElement('td'); + td.className = "excel"; + td.append(div); + div.innerText = cnt.toString(); + div.setAttribute("contenteditable", "false"); + row.prepend(td); + } + else { + /** @type {?} */ + const th = document.createElement('th'); + th.append(div); + div.setAttribute("contenteditable", "false"); + row.prepend(th); + } + cnt++; + })); + return table; + } + /** + * @param {?} n + * @return {?} + */ + colName(n) { + /** @type {?} */ + const ordA = 'a'.charCodeAt(0); + /** @type {?} */ + const ordZ = 'z'.charCodeAt(0); + /** @type {?} */ + const len = ordZ - ordA + 1; + /** @type {?} */ + let s = ""; + while (n >= 0) { + s = String.fromCharCode(n % len + ordA) + s; + n = Math.floor(n / len) - 1; + } + return s; + } +} +ExcelPageService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root' + },] } +]; +/** @nocollapse */ +ExcelPageService.ctorParameters = () => []; +/** @nocollapse */ ExcelPageService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ExcelPageService_Factory() { return new ExcelPageService(); }, token: ExcelPageService, providedIn: "root" }); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class ExcelPageComponent { + /** + * @param {?} _excelPageService + */ + constructor(_excelPageService) { + this._excelPageService = _excelPageService; + } + /** + * @return {?} + */ + ngOnInit() { + /** @type {?} */ + const isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + if (isIE && this.number === 0) { + this.editable = false; + } + } + /** + * @param {?} changes + * @return {?} + */ + ngOnChanges(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, "") + .replace(/href="\/viewer/g, 'href="http://localhost:8080/viewer') + .replace(/src="\/viewer/g, 'src="http://localhost:8080/viewer') + .replace(/data="\/viewer/g, 'data="http://localhost:8080/viewer') + : null; + /** @type {?} */ + const dataImagePngBase64 = 'data:image/png;base64,'; + this.imgData = dataImagePngBase64; + if (!this.isHtml) { + this.imgData += this.data; + } + this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data; + } +} +ExcelPageComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-page', + template: "
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n", + styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}::ng-deep th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}::ng-deep td{vertical-align:middle!important}::ng-deep .page-grid-lines td{border:1px solid #e7e7e7!important}::ng-deep .page td:nth-child(1){border:1px solid #e7e7e7!important}::ng-deep tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}::ng-deep tr td.excel:first-child div{width:80px}::ng-deep tr th.excel:first-child{background-color:#f4f4f4;width:1%}::ng-deep tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + }] } +]; +/** @nocollapse */ +ExcelPageComponent.ctorParameters = () => [ + { type: ExcelPageService } +]; +ExcelPageComponent.propDecorators = { + angle: [{ type: Input }], + width: [{ type: Input }], + height: [{ type: Input }], + number: [{ type: Input }], + data: [{ type: Input }], + isHtml: [{ type: Input }], + editable: [{ type: Input }] +}; +if (false) { + /** @type {?} */ + ExcelPageComponent.prototype.angle; + /** @type {?} */ + ExcelPageComponent.prototype.width; + /** @type {?} */ + ExcelPageComponent.prototype.height; + /** @type {?} */ + ExcelPageComponent.prototype.number; + /** @type {?} */ + ExcelPageComponent.prototype.data; + /** @type {?} */ + ExcelPageComponent.prototype.isHtml; + /** @type {?} */ + ExcelPageComponent.prototype.editable; + /** @type {?} */ + ExcelPageComponent.prototype.imgData; + /** + * @type {?} + * @private + */ + ExcelPageComponent.prototype._excelPageService; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class ExcelDocumentComponent extends DocumentComponent { + /** + * @param {?} _elementRef + * @param {?} zoomService + * @param {?} windowService + * @param {?} navigateService + */ + constructor(_elementRef, zoomService, windowService, navigateService) { + super(_elementRef, zoomService, windowService, navigateService); + this.panzoom = null; + this.navigateService = navigateService; + } + /** + * @return {?} + */ + ngOnInit() { + this.currentPageNo = 1; + } + /** + * @return {?} + */ + ngAfterViewInit() { + this.refreshExcelDocHeight(); + this.pages.changes.subscribe((/** + * @return {?} + */ + () => { + this.refreshExcelDocHeight(); + })); + this.navigateService.navigate.subscribe((/** + * @param {?} value + * @return {?} + */ + value => { + this.selectSheet(value); + })); + } + /** + * @return {?} + */ + refreshExcelDocHeight() { + // For current iteration we'll change actual height of .document + this.doc = this._elementRef.nativeElement.children.item(0); + this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + // magic number 37 is the height of the bottom-bar with navigation between pages + this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; + } + /** + * @param {?} number + * @return {?} + */ + selectSheet(number) { + this.currentPageNo = number; + } +} +ExcelDocumentComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-document', + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + }] } +]; +/** @nocollapse */ +ExcelDocumentComponent.ctorParameters = () => [ + { type: ElementRef }, + { type: ZoomService }, + { type: WindowService }, + { type: NavigateService } +]; +ExcelDocumentComponent.propDecorators = { + pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }] +}; +if (false) { + /** @type {?} */ + ExcelDocumentComponent.prototype.pages; + /** @type {?} */ + ExcelDocumentComponent.prototype.currentPageNo; + /** @type {?} */ + ExcelDocumentComponent.prototype.panzoom; + /** @type {?} */ + ExcelDocumentComponent.prototype.navigateService; +} + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2104,7 +2419,7 @@ class PageComponent { PageComponent.decorators = [ { type: Component, args: [{ selector: 'gd-page', - template: "
\n
\n \"\"\n\n
\n \n  Loading... Please wait.\n
\n
\n", + template: "
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n", styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"] }] } ]; @@ -2292,8 +2607,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 */ @@ -3152,8 +3467,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 */ @@ -3371,8 +3686,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 */ @@ -3643,8 +3958,8 @@ 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 */ @@ -3757,8 +4072,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:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"] + template: "\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n", + styles: ["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display: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 */ @@ -4029,8 +4344,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 */ @@ -4287,8 +4602,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 */ @@ -4392,8 +4707,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}.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;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] + 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}.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;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] }] } ]; /** @nocollapse */ @@ -4439,8 +4754,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 */ @@ -4906,8 +5221,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 */ @@ -5480,8 +5795,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 */ @@ -5726,8 +6041,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 */ @@ -5841,7 +6156,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 */ @@ -5901,7 +6216,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 */ @@ -5943,7 +6258,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 */ @@ -6007,7 +6322,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 = { @@ -6041,8 +6356,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 */ @@ -6405,7 +6720,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}"] }] } ]; @@ -6552,8 +6867,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 */ @@ -6762,8 +7077,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;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important}}"] + 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;left:0;right:0;width:inherit;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important}}"] }] } ]; /** @nocollapse */ @@ -7016,8 +7331,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:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"] + 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:-42px;transform-origin:bottom center}}"] }] } ]; /** @nocollapse */ @@ -7122,7 +7437,8 @@ const providers = [ConfigService, TabActivatorService, AddDynamicComponentService, HostingDynamicComponentService, - TopTabActivatorService]; + TopTabActivatorService, + ExcelPageService]; class CommonComponentsModule { constructor() { library.add(fas, far); @@ -7140,7 +7456,9 @@ CommonComponentsModule.decorators = [ ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, @@ -7188,7 +7506,9 @@ CommonComponentsModule.decorators = [ ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeResourceHtmlPipe, SanitizeStylePipe, HighlightSearchPipe, @@ -7224,7 +7544,9 @@ CommonComponentsModule.decorators = [ ResizingComponent, TopTabComponent, TextMenuComponent, - ContextMenuComponent + ContextMenuComponent, + EditorDirective, + FormattingDirective ], providers: providers },] } @@ -7242,5 +7564,5 @@ CommonComponentsModule.ctorParameters = () => []; * @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, MouseWheelDirective, 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, ExcelDocumentComponent, ExcelPageComponent, ExcelPageService, ExceptionMessageService, FileCredentials, FileDescription, FileModel, FileService, FileUtil, Formatting, FormattingDirective, FormattingService, HighlightSearchPipe, HostDynamicDirective, HostingDynamicComponentService, HttpError, InitStateComponent, LeftSideBarComponent, LoadingMaskComponent, LoadingMaskInterceptorService, LoadingMaskService, LogoComponent, MenuType, ModalComponent, ModalService, MouseWheelDirective, 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 }; //# 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 68a8d6006..337068429 100644 --- a/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js.map +++ b/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gd-top-toolbar',\n templateUrl: './top-toolbar.component.html',\n styleUrls: ['./top-toolbar.component.less']\n})\nexport class TopToolbarComponent {\n\n constructor() {\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gd-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.less']\n})\n\nexport class SidePanelComponent {\n @Input() title: string;\n @Input() icon: string;\n @Input() closable = true;\n @Input() saveable = true;\n @Output() hideSidePanel = new EventEmitter();\n @Output() saveInSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n closeSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n saveBySidePanel() {\n this.saveInSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n if (this.closable && !this.saveable) {\n this.onlyTitle = !this.onlyTitle;\n }\n }\n}\n","import {fromEvent, Observable, Subject} from \"rxjs\";\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\n\nconst MOBILE_MAX_WIDTH = 425;\nconst TABLET_MAX_WIDTH = 1024;\n\nexport class WindowService {\n\n private resizeSubject: Subject = new Subject();\n private _resize$;\n private width: number;\n private height: number;\n\n constructor() {\n this.width = window.innerWidth;\n this.height = window.innerHeight;\n\n this._resize$ = fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n distinctUntilChanged(),\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\n tap(event => {\n this.resizeSubject.next(event.target);\n this.width = (event.target as Window).innerWidth;\n this.height = (event.target as Window).innerHeight;\n }),\n );\n this._resize$.subscribe();\n }\n\n get onResize(): Observable {\n return this.resizeSubject.asObservable();\n }\n\n isMobile() {\n return this.width <= MOBILE_MAX_WIDTH;\n }\n\n isTablet() {\n return this.width <= TABLET_MAX_WIDTH;\n }\n\n isDesktop() {\n return !this.isMobile() && !this.isTablet();\n }\n\n getWidth() {\n return this.width;\n }\n\n getHeight() {\n return this.height;\n }\n\n isEdge() {\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {WindowService} from \"../window.service\";\n\n@Component({\n selector: 'gd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.less']\n})\nexport class ButtonComponent {\n @Input() iconOnly = true;\n @Input() intent = 'default';\n @Input() disabled = false;\n @Input() icon: string;\n @Input() iconClass: string;\n @Input() tooltip: string;\n @Input() className: string;\n @Input() toggle = false;\n @Input() iconSize: string;\n @Input() iconRegular = false;\n @Input() elementPosition = 0;\n\n showToolTip = false;\n private isDesktop: boolean;\n\n constructor(windowService: WindowService) {\n this.isDesktop = windowService.isDesktop();\n windowService.onResize.subscribe((w) => {\n this.isDesktop = windowService.isDesktop();\n });\n }\n\n iconButtonClass() {\n return this.iconOnly ? 'icon-button' : '';\n }\n\n onHovering() {\n if (this.isDesktop && !this.disabled) {\n this.className += ' active';\n }\n }\n\n onUnhovering() {\n if (this.isDesktop && !this.disabled) {\n this.className = this.cleanAll(this.className, ' active');\n }\n }\n\n private cleanAll(str: string, val: string) {\n while (str && str.indexOf(val) !== -1) {\n str = str.replace(val, '');\n }\n return str;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-logo',\n templateUrl: './logo.component.html',\n styleUrls: ['./logo.component.less']\n})\nexport class LogoComponent implements OnInit {\n\n @Input() logo;\n @Input() icon;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.less']\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() text: string;\n @Input() position = 0;\n visibility = 'hidden';\n\n constructor() {\n }\n\n getClass() {\n if (this.position === 0) {\n return 'tooltip';\n }\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\n }\n\n @Input()\n set show(value: boolean) {\n this.visibility = value ? 'shown' : 'hidden';\n }\n\n ngOnInit() {\n }\n\n}\n","import {HttpHeaders} from \"@angular/common/http\";\nimport {Injectable} from \"@angular/core\";\n\nexport class Api {\n public static VIEWER_APP = '/viewer';\n public static SIGNATURE_APP = '/signature';\n public static ANNOTATION_APP = '/annotation';\n public static SEARCH_APP = '/search';\n public static EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\n public static METADATA_APP = '/metadata';\n public static DEFAULT_API_ENDPOINT = window.location.href;\n public static LOAD_FILE_TREE = '/loadFileTree';\n public static LOAD_CONFIG = '/loadConfig';\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\n public static SAVE_PROPERTY = '/saveProperty';\n public static REMOVE_PROPERTY = '/removeProperty';\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\n public static LOAD_PRINT = '/loadPrint';\n public static LOAD_PRINT_PDF = '/printPdf';\n public static LOAD_THUMBNAILS = '/loadThumbnails';\n public static LOAD_FORMATS = '/loadFormats';\n public static SAVE_FILE = '/saveFile';\n public static CREATE_FILE = '/createFile';\n public static COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\n public static GET_FILE_STATUS = '/getFileStatus';\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\n public static SAVE_TEXT = '/saveText';\n public static SAVE_IMAGE = '/saveImage';\n public static SAVE_STAMP = '/saveStamp';\n public static SIGN = '/sign';\n public static DOWNLOAD_SIGNED = '/downloadSigned';\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\n public static ANNOTATE = '/annotate';\n public static SEARCH = '/search';\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\n\n public static httpOptionsJson = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n public static httpOptionsJsonResponseTypeBlob = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n responseType: 'blob' as 'blob'\n };\n}\n\n@Injectable()\nexport class ConfigService {\n\n private _apiEndpoint: string;\n\n constructor() {\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\n }\n\n set apiEndpoint(url: string) {\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\n }\n\n getConfigEndpoint(app) {\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\n }\n\n getViewerApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\n }\n\n getEditorApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\n }\n\n getComparisonApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\n }\n\n getConversionApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\n }\n\n getMetadataApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\n }\n\n get apiEndpoint() {\n return this._apiEndpoint;\n }\n\n getSignatureApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\n }\n\n getAnnotationApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\n }\n\n getSearchApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\n }\n}\n","export class CommonModals {\n static PasswordRequired = \"gd-password-required\";\n static ErrorMessage = \"gd-error-message\";\n static BrowseFiles = \"gd-browse-files\";\n static CreateDocument = \"gd-create-document\";\n static OperationSuccess = \"gd-success-modal\";\n static DrawHandSignature = \"gd-draw-hand-signature\";\n static DrawStampSignature = \"gd-draw-stamp-signature\";\n static InformationMessage = \"gd-information-message\";\n}\n\nexport class ModalService {\n private modals: any[] = [];\n\n add(modal: any) {\n this.modals.push(modal);\n }\n\n remove(id: string) {\n this.modals = this.modals.filter(x => x.id !== id);\n }\n\n open(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.open();\n }\n }\n\n close(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.close();\n }\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ModalService} from \"../modal.service\";\n\n@Component({\n selector: 'gd-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.less']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() id: string;\n @Input() title: string;\n @Output() visible = new EventEmitter();\n @Output() cancel = new EventEmitter();\n visibility = false;\n private element: any;\n\n constructor(private modalService: ModalService, el: ElementRef) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n if (!this.id) {\n console.error('modal must have an id');\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.modalService.add(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.visibility = true;\n this.visible.emit(true);\n }\n\n close(): void {\n event.preventDefault();\n event.stopPropagation();\n this.visibility = false;\n this.visible.emit(false);\n }\n\n onClose($event: MouseEvent) {\n $event.stopPropagation();\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\n this.close();\n }\n }\n\n cancelClose() {\n this.cancel.emit(false);\n this.close();\n }\n}\n","export class PageModel {\n data: string;\n angle: number;\n width: number;\n height: number;\n number: number;\n editable: boolean;\n}\n\nexport class RotatedPage {\n pageNumber: number;\n angle: number;\n}\n\nexport class FileCredentials {\n guid: string;\n password: string;\n\n constructor(guid: string, password: string) {\n this.guid = guid;\n this.password = password;\n }\n}\n\nexport class SaveFile extends FileCredentials {\n content: string;\n\n constructor(guid: string, password: string, content: string) {\n super(guid, password);\n this.content = content;\n }\n}\n\nexport class FileDescription {\n guid: string;\n pages: PageModel[];\n printAllowed = true;\n showGridLines: boolean;\n thumbnails: PageModel[];\n}\n\nexport class FileModel {\n guid: string;\n name: string;\n directory: boolean;\n size: number;\n isDirectory: boolean;\n}\n\nexport class HttpError {\n static BadRequest = 400;\n static Unauthorized = 401;\n static Forbidden = 403;\n static NotFound = 404;\n static TimeOut = 408;\n static Conflict = 409;\n static InternalServerError = 500;\n}\n\nexport class Utils {\n public static getMousePosition(event) {\n const mouse = {\n x: 0,\n y: 0\n };\n const wEvent: DragEvent = window.event;\n const ev = event || wEvent; //Moz || IE\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\n } else if (ev.clientX) { //IE\n mouse.x = ev.clientX + document.body.scrollLeft;\n mouse.y = ev.clientY + document.body.scrollTop;\n }\n return mouse;\n }\n\n public static toRgb(color: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\n if (result) {\n const r = parseInt(result[1], 16);\n const g = parseInt(result[2], 16);\n const b = parseInt(result[3], 16);\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\n }\n return color;\n }\n\n public static toHex(color: string) {\n // check if color is standard hex value\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\n // check if color is RGB value -> convert to hex\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\n pad = function (str) {\n if (str.length < 2) {\n for (let i = 0, len = 2 - str.length; i < len; i++) {\n str = '0' + str;\n }\n }\n return str;\n };\n if (c.length === 3) {\n const r = pad(c[0].toString(16)),\n g = pad(c[1].toString(16)),\n b = pad(c[2].toString(16));\n return '#' + r + g + b;\n }\n // else do nothing\n } else {\n return '';\n }\n }\n}\n\nexport class FileUtil {\n public static map = {\n 'folder': {'format': '', 'icon': 'folder'},\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\n };\n\n public static find(filename: string, isDirectory: boolean) {\n if (filename && !isDirectory) {\n const strings = filename.split('.');\n const name = strings.pop().toLowerCase();\n if (typeof FileUtil.map[name] === \"undefined\") {\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\n } else {\n return FileUtil.map[name];\n }\n } else {\n return FileUtil.map['folder'];\n }\n }\n}\n\nexport class FileService {\n\n constructor() {\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class UploadFilesService {\n private _uploadsChange: Observable;\n private _observer: Observer;\n\n constructor() {\n this._uploadsChange = new Observable(observer =>\n this._observer = observer);\n }\n\n get uploadsChange(): Observable {\n return this._uploadsChange;\n }\n\n changeFilesList(filesList: FileList) {\n this._observer.next(filesList);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FileModel, FileUtil} from \"../file.service\";\nimport {UploadFilesService} from \"../upload-files.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\nconst upload_disc = 'Disc';\n\nconst upload_url = 'URL';\n\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\n\n@Component({\n selector: 'gd-browse-files-modal',\n templateUrl: './browse-files-modal.component.html',\n styleUrls: ['./browse-files-modal.component.less']\n})\nexport class BrowseFilesModalComponent implements OnInit {\n uploads = uploads_choices;\n\n @Input() files;\n @Input() uploadConfig;\n @Output() selectedFileGuid = new EventEmitter();\n @Output() selectedDirectory = new EventEmitter();\n @Output() urlForUpload = new EventEmitter();\n @Output() closing = new EventEmitter();\n private selectedFile: FileModel;\n showUploadUrl = false;\n showUploadFile = false;\n\n constructor(private _uploadService: UploadFilesService) {\n }\n\n ngOnInit() {\n }\n\n getSize(size: number) {\n const mb = size / 1024 / 1024;\n if (mb > 1) {\n return (Math.round(mb * 100) / 100) + ' MB';\n } else {\n const kb = size / 1024;\n if (kb > 1) {\n return (Math.round(kb * 100) / 100) + ' KB';\n }\n }\n return size + ' Bytes';\n }\n\n getFormatName(file: FileModel) {\n return FileUtil.find(file.name, file.directory).format;\n }\n\n getFormatIcon(file: FileModel) {\n return FileUtil.find(file.name, file.directory).icon;\n }\n\n choose(file: FileModel) {\n this.selectedFile = file;\n if (file.directory || file.isDirectory) {\n this.selectedDirectory.emit(file.name);\n } else {\n this.selectedFileGuid.emit(file.guid);\n }\n }\n\n goUp() {\n if (this.selectedFile) {\n let guid = this.selectedFile.guid;\n if (guid.length > 0 && guid.indexOf('/') === -1) {\n guid = '';\n } else {\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\n }\n this.selectedDirectory.emit(guid);\n }\n }\n\n selectUpload($event: string) {\n if (upload_url === $event) {\n this.showUploadUrl = true;\n } else {\n this.showUploadUrl = false;\n $(\"#gd-upload-input\").trigger('click');\n }\n }\n\n refresh($event) {\n\n if ($event) {\n this.files = null;\n this.selectedDirectory.emit('');\n this.showUploadUrl = false;\n this.selectedFile = null;\n } else {\n this.closing.emit(true);\n }\n }\n\n showSpinner() {\n return !this.files;\n }\n\n uploadUrl(url: string) {\n if (url) {\n this.urlForUpload.emit(url);\n this.cleanUpload();\n }\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n }\n\n cleanUpload() {\n this.showUploadFile = false;\n this.showUploadUrl = false;\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class ZoomService {\n private _observer: Subject = new Subject();\n private readonly _zoomChange: Observable = this._observer.asObservable();\n private _zoom: number;\n\n constructor() {\n }\n\n get zoom(): number {\n return this._zoom;\n }\n\n get zoomChange(): Observable {\n return this._zoomChange;\n }\n\n changeZoom(zoom: number) {\n this._zoom = zoom;\n this._observer.next(zoom);\n }\n\n private createZoomOption(val: any, name: string, sep: boolean = false) {\n return {value: val, name: name, separator: sep}\n }\n\n zoomOptions(width, height) {\n return [this.createZoomOption(25, '25%'),\n this.createZoomOption(50, '50%'),\n this.createZoomOption(100,'100%'),\n this.createZoomOption(150, '150%'),\n this.createZoomOption(200, '200%'),\n this.createZoomOption(300, '300%'),\n this.createZoomOption(0, '', true),\n this.createZoomOption(width, 'Fit Width'),\n this.createZoomOption(height, 'Fit Height')];\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class PagePreloadService {\n private readonly _checkPreload: Observable;\n private _observer: Observer;\n\n constructor() {\n this._checkPreload = new Observable(observer =>\n this._observer = observer);\n }\n\n get checkPreload(): Observable {\n return this._checkPreload;\n }\n\n changeLastPageInView(page: number) {\n if(this._observer) {\n this._observer.next(page);\n }\n }\n}\n","import {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 {\n AfterViewChecked,\n Component,\n ElementRef,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges,\n Output,\n EventEmitter\n} from '@angular/core';\nimport {FileDescription, FileUtil} from \"../file.service\";\nimport {ZoomService} from \"../zoom.service\";\nimport * as Hammer from 'hammerjs';\nimport {WindowService} from '../window.service';\nimport * as jquery from 'jquery';\nimport { NavigateService } from '../navigate.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-document',\n templateUrl: './document.component.html',\n styleUrls: ['./document.component.less']\n})\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\n\n @Input() mode: boolean;\n @Input() preloadPageCount: number;\n @Input() file: FileDescription;\n @Input() selectedPage: number;\n @Output() onpan = new EventEmitter();\n wait = false;\n zoom: number;\n\n docWidth = null;\n docHeight = null;\n viewportWidth = null;\n viewportHeight = null;\n scale = null;\n lastScale = null;\n container = null;\n doc = null;\n x = 0;\n lastX = 0;\n y = 0;\n lastY = 0;\n pinchCenter = null;\n pinchCenterOffset = null;\n curWidth = 0;\n curHeight = 0;\n isDesktop: boolean;\n\n constructor(protected _elementRef: ElementRef,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _navigateService: NavigateService,) {\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n }\n\n ngOnInit() {\n if (this.ifPresentation())\n {\n this.selectedPage = 1;\n }\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 ifPresentation() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\n }\n\n getDimensionWithUnit(value: number, pageNumber: number) {\n return this.ifPresentation() && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\n }\n\n ifEdge() {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n ngAfterViewChecked(): void {\n 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 this.onpan.emit($event);\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 isVisible(pageNumber) {\n if (this.ifPresentation()) {\n return pageNumber === this.selectedPage ? true : false;\n }\n else {\n return true;\n }\n }\n}\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gd-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.less']\n})\nexport class PageComponent implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() width: number;\n @Input() height: number;\n @Input() number: number;\n @Input() data: string;\n @Input() isHtml: boolean;\n @Input() editable: boolean;\n imgData: string;\n\n constructor() {\n }\n\n ngOnInit() {\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n if(isIE && this.number === 0){\n this.editable = false;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // 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+<')\n .replace(/\\uFEFF/g,\"\")\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\n : 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 {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 private loadedPagesSet = new Set();\n\n constructor(private _elementRef: ElementRef,\n private _navigateService: NavigateService,\n private _pagePreloadService: PagePreloadService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _viewportService: ViewportService) {\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n this.refresh();\n });\n }\n\n ngAfterViewInit() {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n this._navigateService.navigate.subscribe((value => {\n this.currentPage = value;\n this.scrollToPage(value);\n }));\n this.refresh();\n }\n\n @HostListener('scroll') scrolling() {\n this.refresh();\n }\n\n @HostListener('window:resize') resizing() {\n this.refresh();\n }\n\n scrollToPage(pageNumber: number) {\n const el = this._elementRef.nativeElement;\n const page = this.getPage(pageNumber);\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\n return;\n }\n const pagesHeight = this.calculateOffset(pageNumber);\n const options = {\n left: 0,\n top: pagesHeight\n };\n if(el){\n // using polyfill\n el.scroll(options);\n }\n }\n\n private getChildren() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n // here and in the similar line below we getting the document pages\n return el.children.item(0).children.item(0).children;\n }\n }\n\n private getPage(pageNumber: number) {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\n }\n }\n\n private calculateOffset(pageNumber: number) {\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\n const margin = this._windowService.isDesktop() ? 40 : 10;\n let pagesHeight = 0;\n for (let i = 1; i < pageNumber / count; i++) {\n const item = this.getPage(i);\n const clientHeight = item ? item.clientHeight : 0;\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\n }\n return pagesHeight;\n }\n\n private countPagesOnWidth() {\n const pageEl = this.getPage(1);\n const offset = 150;\n 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 if (!this.loadedPagesSet.has(page)) {\n this._pagePreloadService.changeLastPageInView(page);\n this.loadedPagesSet.add(page);\n }\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.refresh();\n }\n\n ngOnInit(): void {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n }\n\n\n private getWidth() {\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdMouseWheel]'\n})\nexport class MouseWheelDirective {\n @Output() mouseWheelUp = new EventEmitter();\n @Output() mouseWheelDown = new EventEmitter();\n\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\n this.mouseWheelFunc(event);\n }\n\n mouseWheelFunc(event: any) {\n event = window.event ;\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\n if(delta > 0) {\n this.mouseWheelUp.emit(event);\n } else if(delta < 0) {\n this.mouseWheelDown.emit(event);\n }\n }\n}\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\nimport {ZoomService} from \"./zoom.service\";\nimport {FileUtil} from \"./file.service\";\nimport { WindowService } from './window.service';\n\n@Directive({\n selector: '[gdZoom]'\n})\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n\n @Input() zoomActive = true;\n @Input() file;\n\n @HostBinding('style.zoom') zoomInt: number;\n @HostBinding('style.transform') transform: string;\n @HostBinding('style.transform-origin') transformOrigin: string;\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n @HostBinding('style.min-width') minWidth: string;\n el: ElementRef;\n\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\n this.el = el;\n }\n\n ngOnDestroy(): void {\n }\n\n ngOnChanges(): void {\n this.setStyles(this._zoomService.zoom);\n this.resizePages(this._zoomService.zoom);\n }\n\n ngOnInit(): void {\n if (! this.zoomActive) {\n return;\n }\n\n this.setStyles(this._zoomService.zoom);\n this._zoomService.zoomChange.subscribe((zoom) => {\n this.setStyles(zoom);\n this.resizePages(zoom);\n });\n }\n\n private setStyles(zoom) {\n if (! this.zoomActive) {\n return;\n }\n\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n \n if (this._windowService.isEdge()) {\n this.zoomInt = zoomInt;\n }\n else {\n this.zoomInt = null;\n }\n \n if (!this._windowService.isEdge()) {\n this.transform = 'scale(' + zoomInt + ')';\n this.transformOrigin = 'top left';\n }\n else {\n this.transform = \"\";\n this.transformOrigin = \"\";\n }\n\n let maxWidth = 0;\n this.file.pages.forEach(page => {\n {\n if (page.width > maxWidth){\n maxWidth = page.width;\n }\n }\n });\n\n // Images and Excel-related files receiving dimensions in px from server\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\n }\n\n private getScrollWidth(elm){\n return elm.offsetWidth - elm.clientWidth;\n }\n\n private getScrollHeight(elm){\n return elm.offsetHeight - elm.clientHeight;\n }\n\n private resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\n }\n\n ngAfterViewInit(): void {\n this.setStyles(this._zoomService.zoom);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnCloseService {\n private _observer: Subject = new Subject();\n private readonly _onClose: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get onClose() {\n return this._onClose;\n }\n\n close(close: boolean) {\n this._observer.next(close)\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {OnCloseService} from \"../on-close.service\";\n\nexport interface Option {\n name: string;\n value: any;\n separator: boolean;\n}\n\n@Component({\n selector: 'gd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.less']\n})\nexport class SelectComponent {\n\n @Input() options: Option[];\n @Input() disabled = false;\n @Input() showSelected: Option;\n @Output() selected: EventEmitter = new EventEmitter();\n @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 this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\n this.stopList.push(Api.LOAD_THUMBNAILS);\n this.stopList.push(Api.GET_FILE_STATUS);\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, ElementRef, Renderer2} from '@angular/core';\nimport * as jquery from 'jquery';\nimport {FormattingService} from \"../formatting.service\";\nimport {OnCloseService} from \"../on-close.service\";\nimport {Option} from \"../select/select.component\";\nimport { ZoomService } from '../zoom.service';\nimport { WindowService } from '../window.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-text-menu',\n templateUrl: './text-menu.component.html',\n styleUrls: ['./text-menu.component.less']\n})\nexport class TextMenuComponent implements OnInit {\n @Input() blur: boolean;\n @Input() fontSize: number;\n @Input() font: string;\n @Input() bold: boolean;\n @Input() italic: boolean;\n @Input() underline: boolean;\n @Input() color: string;\n @Input() decoration = true;\n @Input() showTooltips = true;\n\n @Output() outFontSize = new EventEmitter();\n @Output() outFont = new EventEmitter();\n @Output() outBold = new EventEmitter();\n @Output() outItalic = new EventEmitter();\n @Output() outUnderline = new EventEmitter();\n @Output() outColor = new EventEmitter();\n\n fontSizeOptions = FormattingService.getFontSizeOptions();\n fontOptions = FormattingService.getFontOptions();\n colorPickerShow = false;\n\n isMobile: boolean;\n\n constructor(private _onCloseService: OnCloseService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n \n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changePosition(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changePosition(val: number) {\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\n }\n\n selectFontSize($event: Option) {\n $(\".gd-wrapper\").off(\"keyup\");\n this.outFontSize.emit($event.value);\n $(\".gd-wrapper\").on(\"keyup\", () => {\n const fontElements = document.getElementsByTagName(\"font\");\n for (let i = 0, len = fontElements.length; i < len; ++i) {\n if (fontElements[i].getAttribute('size') === \"7\") {\n fontElements[i].removeAttribute(\"size\");\n fontElements[i].style.fontSize = $event + \"px\";\n }\n }\n });\n }\n\n selectFont($event: Option) {\n event.preventDefault();\n event.stopPropagation();\n this.outFont.emit($event.value);\n }\n\n toggleColorPicker($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.colorPickerShow = !this.colorPickerShow;\n }\n\n selectColor($event: string) {\n this.colorPickerShow = false;\n this.outColor.emit($event);\n }\n\n toggleBold(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outBold.emit(!this.bold);\n }\n\n toggleItalic(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outItalic.emit(!this.italic);\n }\n\n toggleUnderline(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outUnderline.emit(!this.underline);\n }\n\n closePicker($event) {\n this.colorPickerShow = !$event;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.service\";\nimport { ZoomService } from '../zoom.service';\n\nexport class MenuType {\n public static FOR_SIGNATURE = \"signature\";\n public static FOR_ANNOTATION = \"annotation\";\n}\n\n@Component({\n selector: 'gd-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.less']\n})\nexport class ContextMenuComponent implements OnInit {\n @Input() formatting: Formatting = Formatting.default();\n @Input() textMenu: boolean;\n @Input() topPosition: number;\n @Input() lock = false;\n @Input() translation = 0;\n @Input() menuType: string;\n @Output() changeFormatting = new EventEmitter();\n @Output() removeItem = new EventEmitter();\n @Output() copySign = new EventEmitter();\n @Output() lockOut = new EventEmitter();\n @Output() comment = new EventEmitter();\n\n isMobile: boolean;\n\n constructor(private _windowService: WindowService,\n private _zoomService: ZoomService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changeScale(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changeScale(val: number){\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\n }\n\n saveChanges() {\n this.changeFormatting.emit(this.formatting);\n }\n\n selectFontSize($event: number) {\n this.formatting.fontSize = $event;\n this.saveChanges();\n }\n\n selectFont($event: string) {\n this.formatting.font = $event;\n this.saveChanges();\n }\n\n selectColor($event: string) {\n this.formatting.color = $event;\n this.saveChanges();\n }\n\n toggleBold($event) {\n this.formatting.bold = $event;\n this.saveChanges();\n }\n\n toggleItalic($event) {\n this.formatting.italic = $event;\n this.saveChanges();\n }\n\n toggleUnderline($event) {\n this.formatting.underline = $event;\n this.saveChanges();\n }\n\n deleteItem() {\n this.removeItem.emit(true);\n }\n\n toggleLock() {\n this.lock = !this.lock;\n this.lockOut.emit(this.lock);\n }\n\n onCopySign() {\n this.copySign.emit(true);\n }\n\n isSignature() {\n return this.menuType === MenuType.FOR_SIGNATURE;\n }\n\n isAnnotation() {\n return this.menuType === MenuType.FOR_ANNOTATION;\n }\n\n addComment() {\n this.comment.emit(true);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\nimport {SidePanelComponent} from './side-panel/side-panel.component';\nimport {ButtonComponent} from './button/button.component';\nimport {LogoComponent} from './logo/logo.component';\nimport {TooltipComponent} from './tooltip/tooltip.component';\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons';\nimport {far} from '@fortawesome/free-regular-svg-icons';\nimport {Api, ConfigService,} from \"./config.service\";\nimport {ModalService} from \"./modal.service\";\nimport {ModalComponent} from './modal/modal.component';\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\nimport {DocumentComponent} from './document/document.component';\nimport {PageComponent} from './page/page.component';\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\nimport {UploadFilesService} from \"./upload-files.service\";\nimport {DndDirective} from './dnd.directive';\nimport {ScrollableDirective} from './scrollable.directive';\nimport {MouseWheelDirective} from './mousewheel.directive';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomDirective} from './zoom.directive';\nimport {ZoomService} from \"./zoom.service\";\nimport {SelectComponent} from './select/select.component';\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\nimport {RotationDirective} from './rotation.directive';\nimport {InitStateComponent} from './init-state/init-state.component';\nimport {RenderPrintService} from \"./render-print.service\";\nimport {RenderPrintDirective} from './render-print.directive';\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {PasswordService} from \"./password.service\";\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\nimport {SearchComponent} from './search/search.component';\nimport {SearchableDirective} from './searchable.directive';\nimport {SearchService} from \"./search.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\nimport {TabComponent} from \"./tab/tab.component\";\nimport {TabsComponent} from \"./tabs/tabs.component\";\nimport {FormattingService} from \"./formatting.service\";\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\nimport {FormattingDirective} from './formatting.directive';\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport {OnCloseService} from \"./on-close.service\";\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\nimport {EditorDirective} from './editor.directive';\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\nimport {LoadingMaskService} from './loading-mask.service';\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\nimport {TabActivatorService} from \"./tab-activator.service\";\nimport {\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent\n} from './drop-down/drop-down.component';\nimport {ClickOutsideModule} from 'ng-click-outside';\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\nimport {TooltipDirective} from './tooltip.directive';\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\nimport {HostDynamicDirective} from './host-dynamic.directive';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\nimport {ResizingComponent} from './resizing/resizing.component';\nimport {TopTabComponent} from './top-tab/top-tab.component';\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\nimport {TextMenuComponent} from './text-menu/text-menu.component';\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\n\nconst providers = [ConfigService,\n Api,\n ModalService,\n FileService,\n FileModel,\n FileUtil,\n Utils,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFilesService,\n RenderPrintService,\n NavigateService,\n PagePreloadService,\n ZoomService,\n ExceptionMessageService,\n PasswordService,\n ErrorInterceptorService,\n SearchService,\n WindowService,\n ViewportService,\n FormattingService,\n BackFormattingService,\n OnCloseService,\n LoadingMaskInterceptorService,\n LoadingMaskService,\n TabActivatorService,\n AddDynamicComponentService,\n HostingDynamicComponentService,\n TopTabActivatorService];\n\n@NgModule({\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\n declarations: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFileZoneComponent,\n DndDirective,\n ScrollableDirective,\n MouseWheelDirective,\n ZoomDirective,\n SelectComponent,\n DisabledCursorDirective,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n EditorDirective,\n LoadingMaskComponent,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n exports: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n SanitizeHtmlPipe,\n UploadFileZoneComponent,\n ScrollableDirective,\n MouseWheelDirective,\n SelectComponent,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n LoadingMaskComponent,\n DndDirective,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n ZoomDirective,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n providers: providers\n})\nexport class CommonComponentsModule {\n constructor() {\n library.add(fas, far);\n }\n}\n"],"names":["$"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {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 {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges,\r\n Output,\r\n EventEmitter\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Output() onpan = new EventEmitter();\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService,) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = 1;\r\n }\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 ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n 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 this.onpan.emit($event);\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 isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n this.selectSheet(value);\r\n });\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n 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 if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n }\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, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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 997be0938..a14e3d821 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, ɵɵdefineInjectable, ɵɵinject, Pipe, Directive, HostBinding, HostListener, ViewChild, ViewEncapsulation, Inject, forwardRef, ComponentFactoryResolver, ApplicationRef, ViewContainerRef, Renderer2, NgModule } from '@angular/core'; +import { Component, EventEmitter, Input, Output, Injectable, ElementRef, ɵɵdefineInjectable, ɵɵinject, ViewChildren, Pipe, Directive, HostBinding, HostListener, ViewChild, ViewEncapsulation, Inject, forwardRef, ComponentFactoryResolver, ApplicationRef, ViewContainerRef, Renderer2, 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 */ @@ -76,8 +76,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 \n
\n
\n", - styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"] + template: "
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n", + styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;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,.gd-side-panel-wrapper .gd-side-panel-header .save{display:flex;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display: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 */ @@ -308,8 +308,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 */ @@ -381,8 +381,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 */ @@ -443,7 +443,7 @@ var TooltipComponent = /** @class */ (function () { TooltipComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tooltip', - template: "\n", + template: "\r\n", styles: [".tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin: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}"] }] } ]; @@ -931,8 +931,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-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"] + 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-dialog ::ng-deep .button{flex-direction:unset!important}.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 */ @@ -1567,8 +1567,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 */ @@ -2343,8 +2343,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;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + 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;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;transition:unset}.page.presentation.active{margin:20px}.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 */ @@ -2442,6 +2442,355 @@ if (false) { /* Skipping unhandled member: ;*/ } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ExcelPageService = /** @class */ (function () { + function ExcelPageService() { + } + /** + * @param {?} data + * @return {?} + */ + ExcelPageService.prototype.getUpdatedPage = /** + * @param {?} data + * @return {?} + */ + function (data) { + /** @type {?} */ + var doc = new DOMParser().parseFromString(data, "text/html"); + /** @type {?} */ + var table = doc.querySelector('table'); + /** @type {?} */ + var numCellsInFirstRow = 0; + /** @type {?} */ + var cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td'); + cellsFromFirstRow.forEach((/** + * @param {?} elm + * @return {?} + */ + function (elm) { + numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1; + })); + /** @type {?} */ + var newTable = this.createHeader(numCellsInFirstRow, table); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + var resultData = new XMLSerializer().serializeToString(doc) + // work-around for FF which is adds a0 namespace during serialization + ; + // work-around for FF which is adds a0 namespace during serialization + return resultData.replace(/a0:/g, "").replace(/:a0/g, ""); + }; + /** + * @param {?} data + * @return {?} + */ + ExcelPageService.prototype.getPageWithoutHeader = /** + * @param {?} data + * @return {?} + */ + function (data) { + /** @type {?} */ + var doc = new DOMParser().parseFromString(data, "text/html"); + doc.querySelector('colgroup').remove(); + /** @type {?} */ + var newTable = doc.querySelector('table'); + newTable.deleteRow(0); + newTable.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + function (row) { + row.deleteCell(0); + })); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + var resultData = new XMLSerializer().serializeToString(doc); + return resultData; + }; + /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + ExcelPageService.prototype.createHeader = /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + function (numCols, table) { + /** @type {?} */ + var header = document.createElement('thead'); + header.append(document.createElement('tr')); + for (var i = 0; i < numCols; ++i) { + /** @type {?} */ + var th = document.createElement('th'); + th.innerText = this.colName(i); + th.setAttribute("contenteditable", "false"); + header.querySelector("tr").append(th); + } + /** @type {?} */ + var colgroup = table.querySelector('colgroup'); + /** @type {?} */ + var col = document.createElement('col'); + col.width = '80px'; + colgroup.prepend(col); + table.prepend(header); + /** @type {?} */ + var cnt = 0; + table.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + function (row) { + /** @type {?} */ + var div = document.createElement('div'); + if (cnt !== 0) { + /** @type {?} */ + var td = document.createElement('td'); + td.className = "excel"; + td.append(div); + div.innerText = cnt.toString(); + div.setAttribute("contenteditable", "false"); + row.prepend(td); + } + else { + /** @type {?} */ + var th = document.createElement('th'); + th.append(div); + div.setAttribute("contenteditable", "false"); + row.prepend(th); + } + cnt++; + })); + return table; + }; + /** + * @param {?} n + * @return {?} + */ + ExcelPageService.prototype.colName = /** + * @param {?} n + * @return {?} + */ + function (n) { + /** @type {?} */ + var ordA = 'a'.charCodeAt(0); + /** @type {?} */ + var ordZ = 'z'.charCodeAt(0); + /** @type {?} */ + var len = ordZ - ordA + 1; + /** @type {?} */ + var s = ""; + while (n >= 0) { + s = String.fromCharCode(n % len + ordA) + s; + n = Math.floor(n / len) - 1; + } + return s; + }; + ExcelPageService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + ExcelPageService.ctorParameters = function () { return []; }; + /** @nocollapse */ ExcelPageService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ExcelPageService_Factory() { return new ExcelPageService(); }, token: ExcelPageService, providedIn: "root" }); + return ExcelPageService; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ExcelPageComponent = /** @class */ (function () { + function ExcelPageComponent(_excelPageService) { + this._excelPageService = _excelPageService; + } + /** + * @return {?} + */ + ExcelPageComponent.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 {?} + */ + ExcelPageComponent.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, "") + .replace(/href="\/viewer/g, 'href="http://localhost:8080/viewer') + .replace(/src="\/viewer/g, 'src="http://localhost:8080/viewer') + .replace(/data="\/viewer/g, 'data="http://localhost:8080/viewer') + : null; + /** @type {?} */ + var dataImagePngBase64 = 'data:image/png;base64,'; + this.imgData = dataImagePngBase64; + if (!this.isHtml) { + this.imgData += this.data; + } + this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data; + }; + ExcelPageComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-page', + template: "
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n", + styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}::ng-deep th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}::ng-deep td{vertical-align:middle!important}::ng-deep .page-grid-lines td{border:1px solid #e7e7e7!important}::ng-deep .page td:nth-child(1){border:1px solid #e7e7e7!important}::ng-deep tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}::ng-deep tr td.excel:first-child div{width:80px}::ng-deep tr th.excel:first-child{background-color:#f4f4f4;width:1%}::ng-deep tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + }] } + ]; + /** @nocollapse */ + ExcelPageComponent.ctorParameters = function () { return [ + { type: ExcelPageService } + ]; }; + ExcelPageComponent.propDecorators = { + angle: [{ type: Input }], + width: [{ type: Input }], + height: [{ type: Input }], + number: [{ type: Input }], + data: [{ type: Input }], + isHtml: [{ type: Input }], + editable: [{ type: Input }] + }; + return ExcelPageComponent; +}()); +if (false) { + /** @type {?} */ + ExcelPageComponent.prototype.angle; + /** @type {?} */ + ExcelPageComponent.prototype.width; + /** @type {?} */ + ExcelPageComponent.prototype.height; + /** @type {?} */ + ExcelPageComponent.prototype.number; + /** @type {?} */ + ExcelPageComponent.prototype.data; + /** @type {?} */ + ExcelPageComponent.prototype.isHtml; + /** @type {?} */ + ExcelPageComponent.prototype.editable; + /** @type {?} */ + ExcelPageComponent.prototype.imgData; + /** + * @type {?} + * @private + */ + ExcelPageComponent.prototype._excelPageService; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ExcelDocumentComponent = /** @class */ (function (_super) { + __extends(ExcelDocumentComponent, _super); + function ExcelDocumentComponent(_elementRef, zoomService, windowService, navigateService) { + var _this = _super.call(this, _elementRef, zoomService, windowService, navigateService) || this; + _this.panzoom = null; + _this.navigateService = navigateService; + return _this; + } + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.currentPageNo = 1; + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this.refreshExcelDocHeight(); + this.pages.changes.subscribe((/** + * @return {?} + */ + function () { + _this.refreshExcelDocHeight(); + })); + this.navigateService.navigate.subscribe((/** + * @param {?} value + * @return {?} + */ + function (value) { + _this.selectSheet(value); + })); + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.refreshExcelDocHeight = /** + * @return {?} + */ + function () { + // For current iteration we'll change actual height of .document + this.doc = this._elementRef.nativeElement.children.item(0); + this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + // magic number 37 is the height of the bottom-bar with navigation between pages + this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; + }; + /** + * @param {?} number + * @return {?} + */ + ExcelDocumentComponent.prototype.selectSheet = /** + * @param {?} number + * @return {?} + */ + function (number) { + this.currentPageNo = number; + }; + ExcelDocumentComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-document', + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + }] } + ]; + /** @nocollapse */ + ExcelDocumentComponent.ctorParameters = function () { return [ + { type: ElementRef }, + { type: ZoomService }, + { type: WindowService }, + { type: NavigateService } + ]; }; + ExcelDocumentComponent.propDecorators = { + pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }] + }; + return ExcelDocumentComponent; +}(DocumentComponent)); +if (false) { + /** @type {?} */ + ExcelDocumentComponent.prototype.pages; + /** @type {?} */ + ExcelDocumentComponent.prototype.currentPageNo; + /** @type {?} */ + ExcelDocumentComponent.prototype.panzoom; + /** @type {?} */ + ExcelDocumentComponent.prototype.navigateService; +} + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2489,7 +2838,7 @@ var PageComponent = /** @class */ (function () { PageComponent.decorators = [ { type: Component, args: [{ selector: 'gd-page', - template: "
\n
\n \"\"\n\n
\n \n  Loading... Please wait.\n
\n
\n", + template: "
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n", styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"] }] } ]; @@ -2703,8 +3052,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 */ @@ -3713,8 +4062,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 */ @@ -3967,8 +4316,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 */ @@ -4309,8 +4658,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 */ @@ -4445,8 +4794,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:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"] + template: "\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n", + styles: ["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display: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 */ @@ -4763,8 +5112,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 */ @@ -5043,8 +5392,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 */ @@ -5167,8 +5516,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}.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;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] + 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}.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;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] }] } ]; /** @nocollapse */ @@ -5215,8 +5564,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 */ @@ -5796,8 +6145,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 */ @@ -6471,8 +6820,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 */ @@ -6753,8 +7102,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 */ @@ -6871,7 +7220,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 */ @@ -6945,7 +7294,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 */ @@ -6989,7 +7338,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 */ @@ -7064,7 +7413,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 = { @@ -7102,8 +7451,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 */ @@ -7534,7 +7883,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}"] }] } ]; @@ -7691,8 +8040,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 */ @@ -7935,8 +8284,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;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important}}"] + 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;left:0;right:0;width:inherit;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important}}"] }] } ]; /** @nocollapse */ @@ -8240,8 +8589,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:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"] + 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:-42px;transform-origin:bottom center}}"] }] } ]; /** @nocollapse */ @@ -8348,7 +8697,8 @@ var providers = [ConfigService, TabActivatorService, AddDynamicComponentService, HostingDynamicComponentService, - TopTabActivatorService]; + TopTabActivatorService, + ExcelPageService]; var CommonComponentsModule = /** @class */ (function () { function CommonComponentsModule() { library.add(fas, far); @@ -8365,7 +8715,9 @@ var CommonComponentsModule = /** @class */ (function () { ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, @@ -8413,7 +8765,9 @@ var CommonComponentsModule = /** @class */ (function () { ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeResourceHtmlPipe, SanitizeStylePipe, HighlightSearchPipe, @@ -8449,7 +8803,9 @@ var CommonComponentsModule = /** @class */ (function () { ResizingComponent, TopTabComponent, TextMenuComponent, - ContextMenuComponent + ContextMenuComponent, + EditorDirective, + FormattingDirective ], providers: providers },] } @@ -8469,5 +8825,5 @@ var CommonComponentsModule = /** @class */ (function () { * @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, MouseWheelDirective, 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, ExcelDocumentComponent, ExcelPageComponent, ExcelPageService, ExceptionMessageService, FileCredentials, FileDescription, FileModel, FileService, FileUtil, Formatting, FormattingDirective, FormattingService, HighlightSearchPipe, HostDynamicDirective, HostingDynamicComponentService, HttpError, InitStateComponent, LeftSideBarComponent, LoadingMaskComponent, LoadingMaskInterceptorService, LoadingMaskService, LogoComponent, MenuType, ModalComponent, ModalService, MouseWheelDirective, 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 }; //# 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 abc972ea1..47e935860 100644 --- a/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js.map +++ b/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gd-top-toolbar',\n templateUrl: './top-toolbar.component.html',\n styleUrls: ['./top-toolbar.component.less']\n})\nexport class TopToolbarComponent {\n\n constructor() {\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gd-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.less']\n})\n\nexport class SidePanelComponent {\n @Input() title: string;\n @Input() icon: string;\n @Input() closable = true;\n @Input() saveable = true;\n @Output() hideSidePanel = new EventEmitter();\n @Output() saveInSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n closeSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n saveBySidePanel() {\n this.saveInSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n if (this.closable && !this.saveable) {\n this.onlyTitle = !this.onlyTitle;\n }\n }\n}\n","import {fromEvent, Observable, Subject} from \"rxjs\";\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\n\nconst MOBILE_MAX_WIDTH = 425;\nconst TABLET_MAX_WIDTH = 1024;\n\nexport class WindowService {\n\n private resizeSubject: Subject = new Subject();\n private _resize$;\n private width: number;\n private height: number;\n\n constructor() {\n this.width = window.innerWidth;\n this.height = window.innerHeight;\n\n this._resize$ = fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n distinctUntilChanged(),\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\n tap(event => {\n this.resizeSubject.next(event.target);\n this.width = (event.target as Window).innerWidth;\n this.height = (event.target as Window).innerHeight;\n }),\n );\n this._resize$.subscribe();\n }\n\n get onResize(): Observable {\n return this.resizeSubject.asObservable();\n }\n\n isMobile() {\n return this.width <= MOBILE_MAX_WIDTH;\n }\n\n isTablet() {\n return this.width <= TABLET_MAX_WIDTH;\n }\n\n isDesktop() {\n return !this.isMobile() && !this.isTablet();\n }\n\n getWidth() {\n return this.width;\n }\n\n getHeight() {\n return this.height;\n }\n\n isEdge() {\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {WindowService} from \"../window.service\";\n\n@Component({\n selector: 'gd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.less']\n})\nexport class ButtonComponent {\n @Input() iconOnly = true;\n @Input() intent = 'default';\n @Input() disabled = false;\n @Input() icon: string;\n @Input() iconClass: string;\n @Input() tooltip: string;\n @Input() className: string;\n @Input() toggle = false;\n @Input() iconSize: string;\n @Input() iconRegular = false;\n @Input() elementPosition = 0;\n\n showToolTip = false;\n private isDesktop: boolean;\n\n constructor(windowService: WindowService) {\n this.isDesktop = windowService.isDesktop();\n windowService.onResize.subscribe((w) => {\n this.isDesktop = windowService.isDesktop();\n });\n }\n\n iconButtonClass() {\n return this.iconOnly ? 'icon-button' : '';\n }\n\n onHovering() {\n if (this.isDesktop && !this.disabled) {\n this.className += ' active';\n }\n }\n\n onUnhovering() {\n if (this.isDesktop && !this.disabled) {\n this.className = this.cleanAll(this.className, ' active');\n }\n }\n\n private cleanAll(str: string, val: string) {\n while (str && str.indexOf(val) !== -1) {\n str = str.replace(val, '');\n }\n return str;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-logo',\n templateUrl: './logo.component.html',\n styleUrls: ['./logo.component.less']\n})\nexport class LogoComponent implements OnInit {\n\n @Input() logo;\n @Input() icon;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.less']\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() text: string;\n @Input() position = 0;\n visibility = 'hidden';\n\n constructor() {\n }\n\n getClass() {\n if (this.position === 0) {\n return 'tooltip';\n }\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\n }\n\n @Input()\n set show(value: boolean) {\n this.visibility = value ? 'shown' : 'hidden';\n }\n\n ngOnInit() {\n }\n\n}\n","import {HttpHeaders} from \"@angular/common/http\";\nimport {Injectable} from \"@angular/core\";\n\nexport class Api {\n public static VIEWER_APP = '/viewer';\n public static SIGNATURE_APP = '/signature';\n public static ANNOTATION_APP = '/annotation';\n public static SEARCH_APP = '/search';\n public static EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\n public static METADATA_APP = '/metadata';\n public static DEFAULT_API_ENDPOINT = window.location.href;\n public static LOAD_FILE_TREE = '/loadFileTree';\n public static LOAD_CONFIG = '/loadConfig';\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\n public static SAVE_PROPERTY = '/saveProperty';\n public static REMOVE_PROPERTY = '/removeProperty';\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\n public static LOAD_PRINT = '/loadPrint';\n public static LOAD_PRINT_PDF = '/printPdf';\n public static LOAD_THUMBNAILS = '/loadThumbnails';\n public static LOAD_FORMATS = '/loadFormats';\n public static SAVE_FILE = '/saveFile';\n public static CREATE_FILE = '/createFile';\n public static COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\n public static GET_FILE_STATUS = '/getFileStatus';\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\n public static SAVE_TEXT = '/saveText';\n public static SAVE_IMAGE = '/saveImage';\n public static SAVE_STAMP = '/saveStamp';\n public static SIGN = '/sign';\n public static DOWNLOAD_SIGNED = '/downloadSigned';\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\n public static ANNOTATE = '/annotate';\n public static SEARCH = '/search';\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\n\n public static httpOptionsJson = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n public static httpOptionsJsonResponseTypeBlob = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n responseType: 'blob' as 'blob'\n };\n}\n\n@Injectable()\nexport class ConfigService {\n\n private _apiEndpoint: string;\n\n constructor() {\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\n }\n\n set apiEndpoint(url: string) {\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\n }\n\n getConfigEndpoint(app) {\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\n }\n\n getViewerApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\n }\n\n getEditorApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\n }\n\n getComparisonApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\n }\n\n getConversionApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\n }\n\n getMetadataApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\n }\n\n get apiEndpoint() {\n return this._apiEndpoint;\n }\n\n getSignatureApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\n }\n\n getAnnotationApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\n }\n\n getSearchApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\n }\n}\n","export class CommonModals {\n static PasswordRequired = \"gd-password-required\";\n static ErrorMessage = \"gd-error-message\";\n static BrowseFiles = \"gd-browse-files\";\n static CreateDocument = \"gd-create-document\";\n static OperationSuccess = \"gd-success-modal\";\n static DrawHandSignature = \"gd-draw-hand-signature\";\n static DrawStampSignature = \"gd-draw-stamp-signature\";\n static InformationMessage = \"gd-information-message\";\n}\n\nexport class ModalService {\n private modals: any[] = [];\n\n add(modal: any) {\n this.modals.push(modal);\n }\n\n remove(id: string) {\n this.modals = this.modals.filter(x => x.id !== id);\n }\n\n open(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.open();\n }\n }\n\n close(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.close();\n }\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ModalService} from \"../modal.service\";\n\n@Component({\n selector: 'gd-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.less']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() id: string;\n @Input() title: string;\n @Output() visible = new EventEmitter();\n @Output() cancel = new EventEmitter();\n visibility = false;\n private element: any;\n\n constructor(private modalService: ModalService, el: ElementRef) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n if (!this.id) {\n console.error('modal must have an id');\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.modalService.add(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.visibility = true;\n this.visible.emit(true);\n }\n\n close(): void {\n event.preventDefault();\n event.stopPropagation();\n this.visibility = false;\n this.visible.emit(false);\n }\n\n onClose($event: MouseEvent) {\n $event.stopPropagation();\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\n this.close();\n }\n }\n\n cancelClose() {\n this.cancel.emit(false);\n this.close();\n }\n}\n","export class PageModel {\n data: string;\n angle: number;\n width: number;\n height: number;\n number: number;\n editable: boolean;\n}\n\nexport class RotatedPage {\n pageNumber: number;\n angle: number;\n}\n\nexport class FileCredentials {\n guid: string;\n password: string;\n\n constructor(guid: string, password: string) {\n this.guid = guid;\n this.password = password;\n }\n}\n\nexport class SaveFile extends FileCredentials {\n content: string;\n\n constructor(guid: string, password: string, content: string) {\n super(guid, password);\n this.content = content;\n }\n}\n\nexport class FileDescription {\n guid: string;\n pages: PageModel[];\n printAllowed = true;\n showGridLines: boolean;\n thumbnails: PageModel[];\n}\n\nexport class FileModel {\n guid: string;\n name: string;\n directory: boolean;\n size: number;\n isDirectory: boolean;\n}\n\nexport class HttpError {\n static BadRequest = 400;\n static Unauthorized = 401;\n static Forbidden = 403;\n static NotFound = 404;\n static TimeOut = 408;\n static Conflict = 409;\n static InternalServerError = 500;\n}\n\nexport class Utils {\n public static getMousePosition(event) {\n const mouse = {\n x: 0,\n y: 0\n };\n const wEvent: DragEvent = window.event;\n const ev = event || wEvent; //Moz || IE\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\n } else if (ev.clientX) { //IE\n mouse.x = ev.clientX + document.body.scrollLeft;\n mouse.y = ev.clientY + document.body.scrollTop;\n }\n return mouse;\n }\n\n public static toRgb(color: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\n if (result) {\n const r = parseInt(result[1], 16);\n const g = parseInt(result[2], 16);\n const b = parseInt(result[3], 16);\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\n }\n return color;\n }\n\n public static toHex(color: string) {\n // check if color is standard hex value\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\n // check if color is RGB value -> convert to hex\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\n pad = function (str) {\n if (str.length < 2) {\n for (let i = 0, len = 2 - str.length; i < len; i++) {\n str = '0' + str;\n }\n }\n return str;\n };\n if (c.length === 3) {\n const r = pad(c[0].toString(16)),\n g = pad(c[1].toString(16)),\n b = pad(c[2].toString(16));\n return '#' + r + g + b;\n }\n // else do nothing\n } else {\n return '';\n }\n }\n}\n\nexport class FileUtil {\n public static map = {\n 'folder': {'format': '', 'icon': 'folder'},\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\n };\n\n public static find(filename: string, isDirectory: boolean) {\n if (filename && !isDirectory) {\n const strings = filename.split('.');\n const name = strings.pop().toLowerCase();\n if (typeof FileUtil.map[name] === \"undefined\") {\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\n } else {\n return FileUtil.map[name];\n }\n } else {\n return FileUtil.map['folder'];\n }\n }\n}\n\nexport class FileService {\n\n constructor() {\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class UploadFilesService {\n private _uploadsChange: Observable;\n private _observer: Observer;\n\n constructor() {\n this._uploadsChange = new Observable(observer =>\n this._observer = observer);\n }\n\n get uploadsChange(): Observable {\n return this._uploadsChange;\n }\n\n changeFilesList(filesList: FileList) {\n this._observer.next(filesList);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FileModel, FileUtil} from \"../file.service\";\nimport {UploadFilesService} from \"../upload-files.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\nconst upload_disc = 'Disc';\n\nconst upload_url = 'URL';\n\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\n\n@Component({\n selector: 'gd-browse-files-modal',\n templateUrl: './browse-files-modal.component.html',\n styleUrls: ['./browse-files-modal.component.less']\n})\nexport class BrowseFilesModalComponent implements OnInit {\n uploads = uploads_choices;\n\n @Input() files;\n @Input() uploadConfig;\n @Output() selectedFileGuid = new EventEmitter();\n @Output() selectedDirectory = new EventEmitter();\n @Output() urlForUpload = new EventEmitter();\n @Output() closing = new EventEmitter();\n private selectedFile: FileModel;\n showUploadUrl = false;\n showUploadFile = false;\n\n constructor(private _uploadService: UploadFilesService) {\n }\n\n ngOnInit() {\n }\n\n getSize(size: number) {\n const mb = size / 1024 / 1024;\n if (mb > 1) {\n return (Math.round(mb * 100) / 100) + ' MB';\n } else {\n const kb = size / 1024;\n if (kb > 1) {\n return (Math.round(kb * 100) / 100) + ' KB';\n }\n }\n return size + ' Bytes';\n }\n\n getFormatName(file: FileModel) {\n return FileUtil.find(file.name, file.directory).format;\n }\n\n getFormatIcon(file: FileModel) {\n return FileUtil.find(file.name, file.directory).icon;\n }\n\n choose(file: FileModel) {\n this.selectedFile = file;\n if (file.directory || file.isDirectory) {\n this.selectedDirectory.emit(file.name);\n } else {\n this.selectedFileGuid.emit(file.guid);\n }\n }\n\n goUp() {\n if (this.selectedFile) {\n let guid = this.selectedFile.guid;\n if (guid.length > 0 && guid.indexOf('/') === -1) {\n guid = '';\n } else {\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\n }\n this.selectedDirectory.emit(guid);\n }\n }\n\n selectUpload($event: string) {\n if (upload_url === $event) {\n this.showUploadUrl = true;\n } else {\n this.showUploadUrl = false;\n $(\"#gd-upload-input\").trigger('click');\n }\n }\n\n refresh($event) {\n\n if ($event) {\n this.files = null;\n this.selectedDirectory.emit('');\n this.showUploadUrl = false;\n this.selectedFile = null;\n } else {\n this.closing.emit(true);\n }\n }\n\n showSpinner() {\n return !this.files;\n }\n\n uploadUrl(url: string) {\n if (url) {\n this.urlForUpload.emit(url);\n this.cleanUpload();\n }\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n }\n\n cleanUpload() {\n this.showUploadFile = false;\n this.showUploadUrl = false;\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class ZoomService {\n private _observer: Subject = new Subject();\n private readonly _zoomChange: Observable = this._observer.asObservable();\n private _zoom: number;\n\n constructor() {\n }\n\n get zoom(): number {\n return this._zoom;\n }\n\n get zoomChange(): Observable {\n return this._zoomChange;\n }\n\n changeZoom(zoom: number) {\n this._zoom = zoom;\n this._observer.next(zoom);\n }\n\n private createZoomOption(val: any, name: string, sep: boolean = false) {\n return {value: val, name: name, separator: sep}\n }\n\n zoomOptions(width, height) {\n return [this.createZoomOption(25, '25%'),\n this.createZoomOption(50, '50%'),\n this.createZoomOption(100,'100%'),\n this.createZoomOption(150, '150%'),\n this.createZoomOption(200, '200%'),\n this.createZoomOption(300, '300%'),\n this.createZoomOption(0, '', true),\n this.createZoomOption(width, 'Fit Width'),\n this.createZoomOption(height, 'Fit Height')];\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class PagePreloadService {\n private readonly _checkPreload: Observable;\n private _observer: Observer;\n\n constructor() {\n this._checkPreload = new Observable(observer =>\n this._observer = observer);\n }\n\n get checkPreload(): Observable {\n return this._checkPreload;\n }\n\n changeLastPageInView(page: number) {\n if(this._observer) {\n this._observer.next(page);\n }\n }\n}\n","import {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 {\n AfterViewChecked,\n Component,\n ElementRef,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges,\n Output,\n EventEmitter\n} from '@angular/core';\nimport {FileDescription, FileUtil} from \"../file.service\";\nimport {ZoomService} from \"../zoom.service\";\nimport * as Hammer from 'hammerjs';\nimport {WindowService} from '../window.service';\nimport * as jquery from 'jquery';\nimport { NavigateService } from '../navigate.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-document',\n templateUrl: './document.component.html',\n styleUrls: ['./document.component.less']\n})\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\n\n @Input() mode: boolean;\n @Input() preloadPageCount: number;\n @Input() file: FileDescription;\n @Input() selectedPage: number;\n @Output() onpan = new EventEmitter();\n wait = false;\n zoom: number;\n\n docWidth = null;\n docHeight = null;\n viewportWidth = null;\n viewportHeight = null;\n scale = null;\n lastScale = null;\n container = null;\n doc = null;\n x = 0;\n lastX = 0;\n y = 0;\n lastY = 0;\n pinchCenter = null;\n pinchCenterOffset = null;\n curWidth = 0;\n curHeight = 0;\n isDesktop: boolean;\n\n constructor(protected _elementRef: ElementRef,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _navigateService: NavigateService,) {\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n }\n\n ngOnInit() {\n if (this.ifPresentation())\n {\n this.selectedPage = 1;\n }\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 ifPresentation() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\n }\n\n getDimensionWithUnit(value: number, pageNumber: number) {\n return this.ifPresentation() && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\n }\n\n ifEdge() {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n ngAfterViewChecked(): void {\n 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 this.onpan.emit($event);\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 isVisible(pageNumber) {\n if (this.ifPresentation()) {\n return pageNumber === this.selectedPage ? true : false;\n }\n else {\n return true;\n }\n }\n}\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gd-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.less']\n})\nexport class PageComponent implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() width: number;\n @Input() height: number;\n @Input() number: number;\n @Input() data: string;\n @Input() isHtml: boolean;\n @Input() editable: boolean;\n imgData: string;\n\n constructor() {\n }\n\n ngOnInit() {\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n if(isIE && this.number === 0){\n this.editable = false;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // 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+<')\n .replace(/\\uFEFF/g,\"\")\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\n : 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 {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 private loadedPagesSet = new Set();\n\n constructor(private _elementRef: ElementRef,\n private _navigateService: NavigateService,\n private _pagePreloadService: PagePreloadService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _viewportService: ViewportService) {\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n this.refresh();\n });\n }\n\n ngAfterViewInit() {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n this._navigateService.navigate.subscribe((value => {\n this.currentPage = value;\n this.scrollToPage(value);\n }));\n this.refresh();\n }\n\n @HostListener('scroll') scrolling() {\n this.refresh();\n }\n\n @HostListener('window:resize') resizing() {\n this.refresh();\n }\n\n scrollToPage(pageNumber: number) {\n const el = this._elementRef.nativeElement;\n const page = this.getPage(pageNumber);\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\n return;\n }\n const pagesHeight = this.calculateOffset(pageNumber);\n const options = {\n left: 0,\n top: pagesHeight\n };\n if(el){\n // using polyfill\n el.scroll(options);\n }\n }\n\n private getChildren() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n // here and in the similar line below we getting the document pages\n return el.children.item(0).children.item(0).children;\n }\n }\n\n private getPage(pageNumber: number) {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\n }\n }\n\n private calculateOffset(pageNumber: number) {\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\n const margin = this._windowService.isDesktop() ? 40 : 10;\n let pagesHeight = 0;\n for (let i = 1; i < pageNumber / count; i++) {\n const item = this.getPage(i);\n const clientHeight = item ? item.clientHeight : 0;\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\n }\n return pagesHeight;\n }\n\n private countPagesOnWidth() {\n const pageEl = this.getPage(1);\n const offset = 150;\n 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 if (!this.loadedPagesSet.has(page)) {\n this._pagePreloadService.changeLastPageInView(page);\n this.loadedPagesSet.add(page);\n }\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.refresh();\n }\n\n ngOnInit(): void {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n }\n\n\n private getWidth() {\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdMouseWheel]'\n})\nexport class MouseWheelDirective {\n @Output() mouseWheelUp = new EventEmitter();\n @Output() mouseWheelDown = new EventEmitter();\n\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\n this.mouseWheelFunc(event);\n }\n\n mouseWheelFunc(event: any) {\n event = window.event ;\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\n if(delta > 0) {\n this.mouseWheelUp.emit(event);\n } else if(delta < 0) {\n this.mouseWheelDown.emit(event);\n }\n }\n}\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\nimport {ZoomService} from \"./zoom.service\";\nimport {FileUtil} from \"./file.service\";\nimport { WindowService } from './window.service';\n\n@Directive({\n selector: '[gdZoom]'\n})\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n\n @Input() zoomActive = true;\n @Input() file;\n\n @HostBinding('style.zoom') zoomInt: number;\n @HostBinding('style.transform') transform: string;\n @HostBinding('style.transform-origin') transformOrigin: string;\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n @HostBinding('style.min-width') minWidth: string;\n el: ElementRef;\n\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\n this.el = el;\n }\n\n ngOnDestroy(): void {\n }\n\n ngOnChanges(): void {\n this.setStyles(this._zoomService.zoom);\n this.resizePages(this._zoomService.zoom);\n }\n\n ngOnInit(): void {\n if (! this.zoomActive) {\n return;\n }\n\n this.setStyles(this._zoomService.zoom);\n this._zoomService.zoomChange.subscribe((zoom) => {\n this.setStyles(zoom);\n this.resizePages(zoom);\n });\n }\n\n private setStyles(zoom) {\n if (! this.zoomActive) {\n return;\n }\n\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n \n if (this._windowService.isEdge()) {\n this.zoomInt = zoomInt;\n }\n else {\n this.zoomInt = null;\n }\n \n if (!this._windowService.isEdge()) {\n this.transform = 'scale(' + zoomInt + ')';\n this.transformOrigin = 'top left';\n }\n else {\n this.transform = \"\";\n this.transformOrigin = \"\";\n }\n\n let maxWidth = 0;\n this.file.pages.forEach(page => {\n {\n if (page.width > maxWidth){\n maxWidth = page.width;\n }\n }\n });\n\n // Images and Excel-related files receiving dimensions in px from server\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\n }\n\n private getScrollWidth(elm){\n return elm.offsetWidth - elm.clientWidth;\n }\n\n private getScrollHeight(elm){\n return elm.offsetHeight - elm.clientHeight;\n }\n\n private resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\n }\n\n ngAfterViewInit(): void {\n this.setStyles(this._zoomService.zoom);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnCloseService {\n private _observer: Subject = new Subject();\n private readonly _onClose: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get onClose() {\n return this._onClose;\n }\n\n close(close: boolean) {\n this._observer.next(close)\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {OnCloseService} from \"../on-close.service\";\n\nexport interface Option {\n name: string;\n value: any;\n separator: boolean;\n}\n\n@Component({\n selector: 'gd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.less']\n})\nexport class SelectComponent {\n\n @Input() options: Option[];\n @Input() disabled = false;\n @Input() showSelected: Option;\n @Output() selected: EventEmitter = new EventEmitter();\n @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 this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\n this.stopList.push(Api.LOAD_THUMBNAILS);\n this.stopList.push(Api.GET_FILE_STATUS);\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, ElementRef, Renderer2} from '@angular/core';\nimport * as jquery from 'jquery';\nimport {FormattingService} from \"../formatting.service\";\nimport {OnCloseService} from \"../on-close.service\";\nimport {Option} from \"../select/select.component\";\nimport { ZoomService } from '../zoom.service';\nimport { WindowService } from '../window.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-text-menu',\n templateUrl: './text-menu.component.html',\n styleUrls: ['./text-menu.component.less']\n})\nexport class TextMenuComponent implements OnInit {\n @Input() blur: boolean;\n @Input() fontSize: number;\n @Input() font: string;\n @Input() bold: boolean;\n @Input() italic: boolean;\n @Input() underline: boolean;\n @Input() color: string;\n @Input() decoration = true;\n @Input() showTooltips = true;\n\n @Output() outFontSize = new EventEmitter();\n @Output() outFont = new EventEmitter();\n @Output() outBold = new EventEmitter();\n @Output() outItalic = new EventEmitter();\n @Output() outUnderline = new EventEmitter();\n @Output() outColor = new EventEmitter();\n\n fontSizeOptions = FormattingService.getFontSizeOptions();\n fontOptions = FormattingService.getFontOptions();\n colorPickerShow = false;\n\n isMobile: boolean;\n\n constructor(private _onCloseService: OnCloseService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n \n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changePosition(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changePosition(val: number) {\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\n }\n\n selectFontSize($event: Option) {\n $(\".gd-wrapper\").off(\"keyup\");\n this.outFontSize.emit($event.value);\n $(\".gd-wrapper\").on(\"keyup\", () => {\n const fontElements = document.getElementsByTagName(\"font\");\n for (let i = 0, len = fontElements.length; i < len; ++i) {\n if (fontElements[i].getAttribute('size') === \"7\") {\n fontElements[i].removeAttribute(\"size\");\n fontElements[i].style.fontSize = $event + \"px\";\n }\n }\n });\n }\n\n selectFont($event: Option) {\n event.preventDefault();\n event.stopPropagation();\n this.outFont.emit($event.value);\n }\n\n toggleColorPicker($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.colorPickerShow = !this.colorPickerShow;\n }\n\n selectColor($event: string) {\n this.colorPickerShow = false;\n this.outColor.emit($event);\n }\n\n toggleBold(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outBold.emit(!this.bold);\n }\n\n toggleItalic(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outItalic.emit(!this.italic);\n }\n\n toggleUnderline(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outUnderline.emit(!this.underline);\n }\n\n closePicker($event) {\n this.colorPickerShow = !$event;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.service\";\nimport { ZoomService } from '../zoom.service';\n\nexport class MenuType {\n public static FOR_SIGNATURE = \"signature\";\n public static FOR_ANNOTATION = \"annotation\";\n}\n\n@Component({\n selector: 'gd-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.less']\n})\nexport class ContextMenuComponent implements OnInit {\n @Input() formatting: Formatting = Formatting.default();\n @Input() textMenu: boolean;\n @Input() topPosition: number;\n @Input() lock = false;\n @Input() translation = 0;\n @Input() menuType: string;\n @Output() changeFormatting = new EventEmitter();\n @Output() removeItem = new EventEmitter();\n @Output() copySign = new EventEmitter();\n @Output() lockOut = new EventEmitter();\n @Output() comment = new EventEmitter();\n\n isMobile: boolean;\n\n constructor(private _windowService: WindowService,\n private _zoomService: ZoomService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changeScale(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changeScale(val: number){\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\n }\n\n saveChanges() {\n this.changeFormatting.emit(this.formatting);\n }\n\n selectFontSize($event: number) {\n this.formatting.fontSize = $event;\n this.saveChanges();\n }\n\n selectFont($event: string) {\n this.formatting.font = $event;\n this.saveChanges();\n }\n\n selectColor($event: string) {\n this.formatting.color = $event;\n this.saveChanges();\n }\n\n toggleBold($event) {\n this.formatting.bold = $event;\n this.saveChanges();\n }\n\n toggleItalic($event) {\n this.formatting.italic = $event;\n this.saveChanges();\n }\n\n toggleUnderline($event) {\n this.formatting.underline = $event;\n this.saveChanges();\n }\n\n deleteItem() {\n this.removeItem.emit(true);\n }\n\n toggleLock() {\n this.lock = !this.lock;\n this.lockOut.emit(this.lock);\n }\n\n onCopySign() {\n this.copySign.emit(true);\n }\n\n isSignature() {\n return this.menuType === MenuType.FOR_SIGNATURE;\n }\n\n isAnnotation() {\n return this.menuType === MenuType.FOR_ANNOTATION;\n }\n\n addComment() {\n this.comment.emit(true);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\nimport {SidePanelComponent} from './side-panel/side-panel.component';\nimport {ButtonComponent} from './button/button.component';\nimport {LogoComponent} from './logo/logo.component';\nimport {TooltipComponent} from './tooltip/tooltip.component';\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons';\nimport {far} from '@fortawesome/free-regular-svg-icons';\nimport {Api, ConfigService,} from \"./config.service\";\nimport {ModalService} from \"./modal.service\";\nimport {ModalComponent} from './modal/modal.component';\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\nimport {DocumentComponent} from './document/document.component';\nimport {PageComponent} from './page/page.component';\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\nimport {UploadFilesService} from \"./upload-files.service\";\nimport {DndDirective} from './dnd.directive';\nimport {ScrollableDirective} from './scrollable.directive';\nimport {MouseWheelDirective} from './mousewheel.directive';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomDirective} from './zoom.directive';\nimport {ZoomService} from \"./zoom.service\";\nimport {SelectComponent} from './select/select.component';\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\nimport {RotationDirective} from './rotation.directive';\nimport {InitStateComponent} from './init-state/init-state.component';\nimport {RenderPrintService} from \"./render-print.service\";\nimport {RenderPrintDirective} from './render-print.directive';\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {PasswordService} from \"./password.service\";\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\nimport {SearchComponent} from './search/search.component';\nimport {SearchableDirective} from './searchable.directive';\nimport {SearchService} from \"./search.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\nimport {TabComponent} from \"./tab/tab.component\";\nimport {TabsComponent} from \"./tabs/tabs.component\";\nimport {FormattingService} from \"./formatting.service\";\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\nimport {FormattingDirective} from './formatting.directive';\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport {OnCloseService} from \"./on-close.service\";\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\nimport {EditorDirective} from './editor.directive';\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\nimport {LoadingMaskService} from './loading-mask.service';\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\nimport {TabActivatorService} from \"./tab-activator.service\";\nimport {\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent\n} from './drop-down/drop-down.component';\nimport {ClickOutsideModule} from 'ng-click-outside';\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\nimport {TooltipDirective} from './tooltip.directive';\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\nimport {HostDynamicDirective} from './host-dynamic.directive';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\nimport {ResizingComponent} from './resizing/resizing.component';\nimport {TopTabComponent} from './top-tab/top-tab.component';\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\nimport {TextMenuComponent} from './text-menu/text-menu.component';\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\n\nconst providers = [ConfigService,\n Api,\n ModalService,\n FileService,\n FileModel,\n FileUtil,\n Utils,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFilesService,\n RenderPrintService,\n NavigateService,\n PagePreloadService,\n ZoomService,\n ExceptionMessageService,\n PasswordService,\n ErrorInterceptorService,\n SearchService,\n WindowService,\n ViewportService,\n FormattingService,\n BackFormattingService,\n OnCloseService,\n LoadingMaskInterceptorService,\n LoadingMaskService,\n TabActivatorService,\n AddDynamicComponentService,\n HostingDynamicComponentService,\n TopTabActivatorService];\n\n@NgModule({\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\n declarations: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFileZoneComponent,\n DndDirective,\n ScrollableDirective,\n MouseWheelDirective,\n ZoomDirective,\n SelectComponent,\n DisabledCursorDirective,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n EditorDirective,\n LoadingMaskComponent,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n exports: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n SanitizeHtmlPipe,\n UploadFileZoneComponent,\n ScrollableDirective,\n MouseWheelDirective,\n SelectComponent,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n LoadingMaskComponent,\n DndDirective,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n ZoomDirective,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n providers: providers\n})\nexport class CommonComponentsModule {\n constructor() {\n library.add(fas, far);\n }\n}\n"],"names":["tslib_1.__extends","$","tslib_1.__values"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {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 {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges,\r\n Output,\r\n EventEmitter\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Output() onpan = new EventEmitter();\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService,) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = 1;\r\n }\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 ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n 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 this.onpan.emit($event);\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 isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n this.selectSheet(value);\r\n });\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n 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 if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n }\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, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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":";;;;;;;;;;;;;;;;;;;AAAA;IASE;KACC;;gBARF,SAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,0IAA2C;;iBAE5C;;;;IAKD,0BAAC;CATD;;;;;;ACFA;IAkBE;QAPS,aAAQ,GAAG,IAAI,CAAC;QAChB,aAAQ,GAAG,IAAI,CAAC;QACf,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;QAC5C,oBAAe,GAAG,IAAI,YAAY,EAAW,CAAC;QAExD,cAAS,GAAG,KAAK,CAAC;KAGjB;;;;IAED,2CAAc;;;IAAd;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;;;;IAED,4CAAe;;;IAAf;QACE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjC;;;;IAED,4CAAe;;;IAAf;QACE,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;SAClC;KACF;;gBA/BF,SAAS,SAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,4xBAA0C;;iBAE3C;;;;;wBAGE,KAAK;uBACL,KAAK;2BACL,KAAK;2BACL,KAAK;gCACL,MAAM;kCACN,MAAM;;IAoBT,yBAAC;CAhCD,IAgCC;;;IAzBC,mCAAuB;;IACvB,kCAAsB;;IACtB,sCAAyB;;IACzB,sCAAyB;;IACzB,2CAAsD;;IACtD,6CAAwD;;IAExD,uCAAkB;;;;;;;AChBpB;IAGM,gBAAgB,GAAG,GAAG;;IACtB,gBAAgB,GAAG,IAAI;AAE7B;IAOE;QAAA,iBAgBC;QArBO,kBAAa,GAAoB,IAAI,OAAO,EAAE,CAAC;QAMrD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QAEjC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;aACxC,IAAI,CACH,YAAY,CAAC,GAAG,CAAC,EACjB,oBAAoB,EAAE,EACtB,SAAS,CAAC,EAAC,MAAM,EAAE,EAAC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAC,EAAC,CAAC,EACrF,GAAG;;;;QAAC,UAAA,KAAK;YACP,KAAI,CAAC,aAAa,CAAC,IAAI,oBAAS,KAAK,CAAC,MAAM,GAAC,CAAC;YAC9C,KAAI,CAAC,KAAK,GAAG,oBAAC,KAAK,CAAC,MAAM,IAAY,UAAU,CAAC;YACjD,KAAI,CAAC,MAAM,GAAG,oBAAC,KAAK,CAAC,MAAM,IAAY,WAAW,CAAC;SACpD,EAAC,CACH,CAAC;QACJ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;KAC3B;IAED,sBAAI,mCAAQ;;;;QAAZ;YACE,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;SAC1C;;;OAAA;;;;IAED,gCAAQ;;;IAAR;QACE,OAAO,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC;KACvC;;;;IAED,gCAAQ;;;IAAR;QACE,OAAO,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC;KACvC;;;;IAED,iCAAS;;;IAAT;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;KAC7C;;;;IAED,gCAAQ;;;IAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;;;;IAED,iCAAS;;;IAAT;QACE,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;;;;IAED,8BAAM;;;IAAN;QACE,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KACtE;;;;IAED,iCAAS;;;IAAT;QACE,OAAO,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KAClE;IACH,oBAAC;CAAA,IAAA;;;;;;IAtDC,sCAAuD;;;;;IACvD,iCAAiB;;;;;IACjB,8BAAsB;;;;;IACtB,+BAAuB;;;;;;;ACXzB;IAwBE,yBAAY,aAA4B;QAAxC,iBAKC;QApBQ,aAAQ,GAAG,IAAI,CAAC;QAChB,WAAM,GAAG,SAAS,CAAC;QACnB,aAAQ,GAAG,KAAK,CAAC;QAKjB,WAAM,GAAG,KAAK,CAAC;QAEf,gBAAW,GAAG,KAAK,CAAC;QACpB,oBAAe,GAAG,CAAC,CAAC;QAE7B,gBAAW,GAAG,KAAK,CAAC;QAIlB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;QAC3C,aAAa,CAAC,QAAQ,CAAC,SAAS;;;;QAAC,UAAC,CAAC;YACjC,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;SAC5C,EAAC,CAAC;KACJ;;;;IAED,yCAAe;;;IAAf;QACE,OAAO,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,EAAE,CAAC;KAC3C;;;;IAED,oCAAU;;;IAAV;QACE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;SAC7B;KACF;;;;IAED,sCAAY;;;IAAZ;QACE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SAC3D;KACF;;;;;;;IAEO,kCAAQ;;;;;;IAAhB,UAAiB,GAAW,EAAE,GAAW;QACvC,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YACrC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;SAC5B;QACD,OAAO,GAAG,CAAC;KACZ;;gBAjDF,SAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,ynBAAsC;;iBAEvC;;;;gBANO,aAAa;;;2BAQlB,KAAK;yBACL,KAAK;2BACL,KAAK;uBACL,KAAK;4BACL,KAAK;0BACL,KAAK;4BACL,KAAK;yBACL,KAAK;2BACL,KAAK;8BACL,KAAK;kCACL,KAAK;;IAkCR,sBAAC;CAlDD,IAkDC;;;IA5CC,mCAAyB;;IACzB,iCAA4B;;IAC5B,mCAA0B;;IAC1B,+BAAsB;;IACtB,oCAA2B;;IAC3B,kCAAyB;;IACzB,oCAA2B;;IAC3B,iCAAwB;;IACxB,mCAA0B;;IAC1B,sCAA6B;;IAC7B,0CAA6B;;IAE7B,sCAAoB;;;;;IACpB,oCAA2B;;;;;;;ACtB7B;IAYE;KAAiB;;;;IAEjB,gCAAQ;;;IAAR;KACC;;gBAbF,SAAS,SAAC;oBACT,QAAQ,EAAE,SAAS;oBACnB,8MAAoC;;iBAErC;;;;;uBAGE,KAAK;uBACL,KAAK;;IAOR,oBAAC;CAfD,IAeC;;;IARC,6BAAc;;IACd,6BAAc;;;;;;;ACVhB;IAaE;QAHS,aAAQ,GAAG,CAAC,CAAC;QACtB,eAAU,GAAG,QAAQ,CAAC;KAGrB;;;;IAED,mCAAQ;;;IAAR;QACE,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;YACvB,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,UAAU,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,cAAc,GAAG,eAAe,CAAC,CAAC;KAC5E;IAED,sBACI,kCAAI;;;;;QADR,UACS,KAAc;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;SAC9C;;;OAAA;;;;IAED,mCAAQ;;;IAAR;KACC;;gBA3BF,SAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,kGAAuC;;iBAExC;;;;;uBAGE,KAAK;2BACL,KAAK;uBAaL,KAAK;;IAQR,uBAAC;CA7BD,IA6BC;;;IAtBC,gCAAsB;;IACtB,oCAAsB;;IACtB,sCAAsB;;;;;;;ACXxB;IAGA;KAsDC;IArDe,cAAU,GAAG,SAAS,CAAC;IACvB,iBAAa,GAAG,YAAY,CAAC;IAC7B,kBAAc,GAAG,aAAa,CAAC;IAC/B,cAAU,GAAG,SAAS,CAAC;IACvB,cAAU,GAAG,SAAS,CAAC;IACvB,kBAAc,GAAG,aAAa,CAAC;IAC/B,kBAAc,GAAG,aAAa,CAAC;IAC/B,gBAAY,GAAG,WAAW,CAAC;IAC3B,wBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5C,kBAAc,GAAG,eAAe,CAAC;IACjC,eAAW,GAAG,aAAa,CAAC;IAC5B,6BAAyB,GAAG,0BAA0B,CAAC;IACvD,sBAAkB,GAAG,mBAAmB,CAAC;IACzC,4BAAwB,GAAG,iBAAiB,CAAC;IAC7C,kCAA8B,GAAG,sBAAsB,CAAC;IACxD,iBAAa,GAAG,eAAe,CAAC;IAChC,mBAAe,GAAG,iBAAiB,CAAC;IACpC,wBAAoB,GAAG,sBAAsB,CAAC;IAC9C,oBAAgB,GAAG,iBAAiB,CAAC;IACrC,sBAAkB,GAAG,mBAAmB,CAAC;IACzC,cAAU,GAAG,YAAY,CAAC;IAC1B,kBAAc,GAAG,WAAW,CAAC;IAC7B,mBAAe,GAAG,iBAAiB,CAAC;IACpC,gBAAY,GAAG,cAAc,CAAC;IAC9B,aAAS,GAAG,WAAW,CAAC;IACxB,eAAW,GAAG,aAAa,CAAC;IAC5B,iBAAa,GAAG,UAAU,CAAC;IAC3B,gBAAY,GAAG,UAAU,CAAC;IAC1B,yBAAqB,GAAG,sBAAsB,CAAC;IAC/C,qBAAiB,GAAG,kBAAkB,CAAC;IACvC,mBAAe,GAAG,gBAAgB,CAAC;IACnC,qBAAiB,GAAG,kBAAkB,CAAC;IACvC,aAAS,GAAG,WAAW,CAAC;IACxB,cAAU,GAAG,YAAY,CAAC;IAC1B,cAAU,GAAG,YAAY,CAAC;IAC1B,QAAI,GAAG,OAAO,CAAC;IACf,mBAAe,GAAG,iBAAiB,CAAC;IACpC,wBAAoB,GAAG,qBAAqB,CAAC;IAC7C,YAAQ,GAAG,WAAW,CAAC;IACvB,UAAM,GAAG,SAAS,CAAC;IACnB,sBAAkB,GAAG,kBAAkB,CAAC;IAExC,mBAAe,GAAG;QAC9B,OAAO,EAAE,IAAI,WAAW,CAAC;YACvB,cAAc,EAAE,kBAAkB;SACnC,CAAC;KACH,CAAC;IACY,mCAA+B,GAAG;QAC9C,OAAO,EAAE,IAAI,WAAW,CAAC;YACvB,cAAc,EAAE,kBAAkB;SACnC,CAAC;QACF,YAAY,qBAAE,MAAM,EAAU;KAC/B,CAAC;IACJ,UAAC;CAtDD,IAsDC;;;IArDC,eAAqC;;IACrC,kBAA2C;;IAC3C,mBAA6C;;IAC7C,eAAqC;;IACrC,eAAqC;;IACrC,mBAA6C;;IAC7C,mBAA6C;;IAC7C,iBAAyC;;IACzC,yBAA0D;;IAC1D,mBAA+C;;IAC/C,gBAA0C;;IAC1C,8BAAqE;;IACrE,uBAAuD;;IACvD,6BAA2D;;IAC3D,mCAAsE;;IACtE,kBAA8C;;IAC9C,oBAAkD;;IAClD,yBAA4D;;IAC5D,qBAAmD;;IACnD,uBAAuD;;IACvD,eAAwC;;IACxC,mBAA2C;;IAC3C,oBAAkD;;IAClD,iBAA4C;;IAC5C,cAAsC;;IACtC,gBAA0C;;IAC1C,kBAAyC;;IACzC,iBAAwC;;IACxC,0BAA6D;;IAC7D,sBAAqD;;IACrD,oBAAiD;;IACjD,sBAAqD;;IACrD,cAAsC;;IACtC,eAAwC;;IACxC,eAAwC;;IACxC,SAA6B;;IAC7B,oBAAkD;;IAClD,yBAA2D;;IAC3D,aAAqC;;IACrC,WAAiC;;IACjC,uBAAsD;;IAEtD,oBAIE;;IACF,oCAKE;;AAGJ;IAKE;QACE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,oBAAoB,CAAC;KAC7C;IAED,sBAAI,sCAAW;;;;QA4Bf;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;SAC1B;;;;;QA9BD,UAAgB,GAAW;YACzB,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;SAC9F;;;OAAA;;;;;IAED,yCAAiB;;;;IAAjB,UAAkB,GAAG;QACnB,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;KACvG;;;;IAED,4CAAoB;;;IAApB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;KAC5G;;;;IAED,4CAAoB;;;IAApB;QACE,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;KACnH;;;;IAED,gDAAwB;;;IAAxB;QACE,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;KAC3H;;;;IAED,gDAAwB;;;IAAxB;QACE,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;KAC3H;;;;IAED,8CAAsB;;;IAAtB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;KACvH;;;;IAMD,+CAAuB;;;IAAvB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,aAAa,CAAC;KAClH;;;;IAED,gDAAwB;;;IAAxB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,cAAc,CAAC;KACpH;;;;IAED,4CAAoB;;;IAApB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;KAC5G;;gBAnDF,UAAU;;;;IAoDX,oBAAC;CApDD,IAoDC;;;;;;IAjDC,qCAA6B;;;;;;;AC9D/B;IAAA;KASC;IARQ,6BAAgB,GAAG,sBAAsB,CAAC;IAC1C,yBAAY,GAAG,kBAAkB,CAAC;IAClC,wBAAW,GAAG,iBAAiB,CAAC;IAChC,2BAAc,GAAG,oBAAoB,CAAC;IACtC,6BAAgB,GAAG,kBAAkB,CAAC;IACtC,8BAAiB,GAAG,wBAAwB,CAAC;IAC7C,+BAAkB,GAAG,yBAAyB,CAAC;IAC/C,+BAAkB,GAAG,wBAAwB,CAAC;IACvD,mBAAC;CATD,IASC;;;IARC,8BAAiD;;IACjD,0BAAyC;;IACzC,yBAAuC;;IACvC,4BAA6C;;IAC7C,8BAA6C;;IAC7C,+BAAoD;;IACpD,gCAAsD;;IACtD,gCAAqD;;AAGvD;IAAA;QACU,WAAM,GAAU,EAAE,CAAC;KAuB5B;;;;;IArBC,0BAAG;;;;IAAH,UAAI,KAAU;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;;;;;IAED,6BAAM;;;;IAAN,UAAO,EAAU;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;;;;QAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,GAAA,EAAC,CAAC;KACpD;;;;;IAED,2BAAI;;;;IAAJ,UAAK,EAAU;;YACP,KAAK,GAAQ,IAAI,CAAC,MAAM,CAAC,MAAM;;;;QAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,GAAA,EAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,IAAI,EAAE,CAAC;SACd;KACF;;;;;IAED,4BAAK;;;;IAAL,UAAM,EAAU;;YACR,KAAK,GAAQ,IAAI,CAAC,MAAM,CAAC,MAAM;;;;QAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,GAAA,EAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,KAAK,EAAE,CAAC;SACf;KACF;IACH,mBAAC;CAAA,IAAA;;;;;;IAvBC,8BAA2B;;;;;;;ACZ7B;IAgBE,wBAAoB,YAA0B,EAAE,EAAc;QAA1C,iBAAY,GAAZ,YAAY,CAAc;QALpC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QACtC,WAAM,GAAG,IAAI,YAAY,EAAW,CAAC;QAC/C,eAAU,GAAG,KAAK,CAAC;QAIjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC;KACjC;;;;IAED,iCAAQ;;;IAAR;QACE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACvC,OAAO;SACR;QAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAC7B;;;;IAED,oCAAW;;;IAAX;QACE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;KACvB;;;;IAED,6BAAI;;;IAAJ;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;;;;IAED,8BAAK;;;IAAL;QACE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;;;;;IAED,gCAAO;;;;IAAP,UAAQ,MAAkB;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,oBAAU,MAAM,CAAC,MAAM,IAAE,EAAE,KAAK,aAAa,EAAE;YAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;KACF;;;;IAED,oCAAW;;;IAAX;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;;gBAvDF,SAAS,SAAC;oBACT,QAAQ,EAAE,UAAU;oBACpB,knBAAqC;;iBAEtC;;;;gBANO,YAAY;gBADD,UAAU;;;qBAS1B,KAAK;wBACL,KAAK;0BACL,MAAM;yBACN,MAAM;;IA+CT,qBAAC;CAxDD,IAwDC;;;IAlDC,4BAAoB;;IACpB,+BAAuB;;IACvB,iCAAgD;;IAChD,gCAA+C;;IAC/C,oCAAmB;;;;;IACnB,iCAAqB;;;;;IAET,sCAAkC;;;;;;;;IChBhD;KAOC;IAAD,gBAAC;CAAA,IAAA;;;IANC,yBAAa;;IACb,0BAAc;;IACd,0BAAc;;IACd,2BAAe;;IACf,2BAAe;;IACf,6BAAkB;;AAGpB;IAAA;KAGC;IAAD,kBAAC;CAAA,IAAA;;;IAFC,iCAAmB;;IACnB,4BAAc;;AAGhB;IAIE,yBAAY,IAAY,EAAE,QAAgB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;IACH,sBAAC;CAAA,IAAA;;;IAPC,+BAAa;;IACb,mCAAiB;;AAQnB;IAA8BA,4BAAe;IAG3C,kBAAY,IAAY,EAAE,QAAgB,EAAE,OAAe;QAA3D,YACE,kBAAM,IAAI,EAAE,QAAQ,CAAC,SAEtB;QADC,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;;KACxB;IACH,eAAC;CAPD,CAA8B,eAAe,GAO5C;;;IANC,2BAAgB;;AAQlB;IAAA;QAGE,iBAAY,GAAG,IAAI,CAAC;KAGrB;IAAD,sBAAC;CAAA,IAAA;;;IALC,+BAAa;;IACb,gCAAmB;;IACnB,uCAAoB;;IACpB,wCAAuB;;IACvB,qCAAwB;;AAG1B;IAAA;KAMC;IAAD,gBAAC;CAAA,IAAA;;;IALC,yBAAa;;IACb,yBAAa;;IACb,8BAAmB;;IACnB,yBAAa;;IACb,gCAAqB;;AAGvB;IAAA;KAQC;IAPQ,oBAAU,GAAG,GAAG,CAAC;IACjB,sBAAY,GAAG,GAAG,CAAC;IACnB,mBAAS,GAAG,GAAG,CAAC;IAChB,kBAAQ,GAAG,GAAG,CAAC;IACf,iBAAO,GAAG,GAAG,CAAC;IACd,kBAAQ,GAAG,GAAG,CAAC;IACf,6BAAmB,GAAG,GAAG,CAAC;IACnC,gBAAC;CARD,IAQC;;;IAPC,qBAAwB;;IACxB,uBAA0B;;IAC1B,oBAAuB;;IACvB,mBAAsB;;IACtB,kBAAqB;;IACrB,mBAAsB;;IACtB,8BAAiC;;AAGnC;IAAA;KA2DC;;;;;IA1De,sBAAgB;;;;IAA9B,UAA+B,KAAK;;YAC5B,KAAK,GAAG;YACZ,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL;;YACK,MAAM,sBAAyB,MAAM,CAAC,KAAK,EAAA;;YAC3C,EAAE,GAAG,KAAK,IAAI,MAAM;QAC1B,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;;;gBAChG,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,KAAK,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;;gBACnF,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,KAAK,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;;gBACnF,SAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;;gBACvE,SAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;YAC7E,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,SAAO,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC3E,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,SAAO,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC5E;aAAM,IAAI,EAAE,CAAC,OAAO,EAAE;YACrB,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YAChD,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;SAChD;QACD,OAAO,KAAK,CAAC;KACd;;;;;IAEa,WAAK;;;;IAAnB,UAAoB,KAAa;;YACzB,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,KAAK,CAAC;QACtE,IAAI,MAAM,EAAE;;gBACJ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;;gBAC3B,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;;gBAC3B,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACjC,OAAO,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;SAC3D;QACD,OAAO,KAAK,CAAC;KACd;;;;;IAEa,WAAK;;;;IAAnB,UAAoB,KAAa;;QAE/B,IAAI,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE;YAC5C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC;;SAE1D;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,0DAA0D,CAAC,EAAE;;gBAC5E,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;;gBACrF,GAAG;;;;YAAG,UAAU,GAAG;gBACjB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;wBAClD,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;qBACjB;iBACF;gBACD,OAAO,GAAG,CAAC;aACZ,CAAA;YACH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;;oBACZ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;;oBAC9B,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;;oBAC1B,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC5B,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACxB;;SAEF;aAAM;YACL,OAAO,EAAE,CAAC;SACX;KACF;IACH,YAAC;CAAA,IAAA;;IAED;KA2FC;;;;;;IAbe,aAAI;;;;;IAAlB,UAAmB,QAAgB,EAAE,WAAoB;QACvD,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE;;gBACtB,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;;gBAC7B,MAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACxC,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAI,CAAC,KAAK,WAAW,EAAE;gBAC7C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC9E;iBAAM;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAI,CAAC,CAAC;aAC3B;SACF;aAAM;YACL,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC/B;KACF;IAzFa,YAAG,GAAG;QAClB,QAAQ,EAAE,EAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAC;QAC1C,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;QAC/E,KAAK,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACtE,MAAM,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,MAAM,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACtE,MAAM,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,MAAM,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACxE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACzE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACzE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACzE,SAAS,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QAC5E,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACzE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACzE,KAAK,EAAE,EAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;QAClF,MAAM,EAAE,EAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;QACnF,KAAK,EAAE,EAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;QAClF,MAAM,EAAE,EAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;QACnF,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACxE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;QACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;QACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;QACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;QACxE,MAAM,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;QACzE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACzE,KAAK,EAAE,EAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QAC1E,KAAK,EAAE,EAAC,QAAQ,EAAE,6BAA6B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACnF,KAAK,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QAClF,KAAK,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;QACxF,KAAK,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;QACxF,KAAK,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;QACxF,MAAM,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;QACzF,MAAM,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;QACzF,MAAM,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;QACzF,MAAM,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;QACzF,KAAK,EAAE,EAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;QACtE,KAAK,EAAE,EAAC,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QAC/E,MAAM,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QAClF,KAAK,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACjF,OAAO,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QACnF,KAAK,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QAClF,KAAK,EAAE,EAAC,QAAQ,EAAE,yBAAyB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;QAC/E,KAAK,EAAE,EAAC,QAAQ,EAAE,6BAA6B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACpF,KAAK,EAAE,EAAC,QAAQ,EAAE,6BAA6B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACpF,KAAK,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,6BAA6B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACpF,KAAK,EAAE,EAAC,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACzF,KAAK,EAAE,EAAC,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACzF,MAAM,EAAE,EAAC,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QAC1F,MAAM,EAAE,EAAC,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QAC1F,KAAK,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QAClF,MAAM,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QAClF,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACjF,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACjF,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACjF,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACjF,MAAM,EAAE,EAAC,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;QAC9E,KAAK,EAAE,EAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QACrE,MAAM,EAAE,EAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;QAC1E,MAAM,EAAE,EAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;QACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;QAC5E,MAAM,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;QAChF,SAAS,EAAE,EAAC,QAAQ,EAAE,8BAA8B,EAAE,MAAM,EAAE,MAAM,EAAC;KACtE,CAAC;IAeJ,eAAC;CA3FD,IA2FC;;;IA1FC,aA2EE;;AAiBJ;IAEE;KACC;IACH,kBAAC;CAAA;;;;;;ACzND;IAME;QAAA,iBAGC;QAFC,IAAI,CAAC,cAAc,GAAG,IAAI,UAAU;;;;QAAC,UAAA,QAAQ;YAC3C,OAAA,KAAI,CAAC,SAAS,GAAG,QAAQ;SAAA,EAAC,CAAC;KAC9B;IAED,sBAAI,6CAAa;;;;QAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;SAC5B;;;OAAA;;;;;IAED,4CAAe;;;;IAAf,UAAgB,SAAmB;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAChC;IACH,yBAAC;CAAA,IAAA;;;;;;IAfC,4CAA6C;;;;;IAC7C,uCAAsC;;;;;;;ACJxC;IAIM,CAAC,GAAG,MAAM;;IAEV,WAAW,GAAG,MAAM;;IAEpB,UAAU,GAAG,KAAK;;IAElB,eAAe,GAAG,CAAC,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC;AAE5F;IAkBE,mCAAoB,cAAkC;QAAlC,mBAAc,GAAd,cAAc,CAAoB;QAZtD,YAAO,GAAG,eAAe,CAAC;QAIhB,qBAAgB,GAAG,IAAI,YAAY,EAAU,CAAC;QAC9C,sBAAiB,GAAG,IAAI,YAAY,EAAU,CAAC;QAC/C,iBAAY,GAAG,IAAI,YAAY,EAAU,CAAC;QAC1C,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QAEhD,kBAAa,GAAG,KAAK,CAAC;QACtB,mBAAc,GAAG,KAAK,CAAC;KAGtB;;;;IAED,4CAAQ;;;IAAR;KACC;;;;;IAED,2CAAO;;;;IAAP,UAAQ,IAAY;;YACZ,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;QAC7B,IAAI,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC;SAC7C;aAAM;;gBACC,EAAE,GAAG,IAAI,GAAG,IAAI;YACtB,IAAI,EAAE,GAAG,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC;aAC7C;SACF;QACD,OAAO,IAAI,GAAG,QAAQ,CAAC;KACxB;;;;;IAED,iDAAa;;;;IAAb,UAAc,IAAe;QAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;KACxD;;;;;IAED,iDAAa;;;;IAAb,UAAc,IAAe;QAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;KACtD;;;;;IAED,0CAAM;;;;IAAN,UAAO,IAAe;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE;YACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvC;KACF;;;;IAED,wCAAI;;;IAAJ;QACE,IAAI,IAAI,CAAC,YAAY,EAAE;;gBACjB,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI;YACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC/C,IAAI,GAAG,EAAE,CAAC;aACX;iBAAM;gBACL,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;KACF;;;;;IAED,gDAAY;;;;IAAZ,UAAa,MAAc;QACzB,IAAI,UAAU,KAAK,MAAM,EAAE;YACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACxC;KACF;;;;;IAED,2CAAO;;;;IAAP,UAAQ,MAAM;QAEZ,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;KACF;;;;IAED,+CAAW;;;IAAX;QACE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;KACpB;;;;;IAED,6CAAS;;;;IAAT,UAAU,GAAW;QACnB,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;KACF;;;;;IAED,mDAAe;;;;IAAf,UAAgB,KAAe;QAC7B,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;KAC5C;;;;IAED,+CAAW;;;IAAX;QACE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B;;gBAzGF,SAAS,SAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,otGAAkD;;iBAEnD;;;;gBAdO,kBAAkB;;;wBAkBvB,KAAK;+BACL,KAAK;mCACL,MAAM;oCACN,MAAM;+BACN,MAAM;0BACN,MAAM;;IA6FT,gCAAC;CA1GD,IA0GC;;;IApGC,4CAA0B;;IAE1B,0CAAe;;IACf,iDAAsB;;IACtB,qDAAwD;;IACxD,sDAAyD;;IACzD,iDAAoD;;IACpD,4CAAgD;;;;;IAChD,iDAAgC;;IAChC,kDAAsB;;IACtB,mDAAuB;;;;;IAEX,mDAA0C;;;;;;;AC9BxD;IAOE;QAJQ,cAAS,GAAoB,IAAI,OAAO,EAAE,CAAC;QAClC,gBAAW,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KAIhF;IAED,sBAAI,6BAAI;;;;QAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;;;OAAA;IAED,sBAAI,mCAAU;;;;QAAd;YACE,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;;;OAAA;;;;;IAED,gCAAU;;;;IAAV,UAAW,IAAY;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;;;;;;;;IAEO,sCAAgB;;;;;;;IAAxB,UAAyB,GAAQ,EAAE,IAAY,EAAE,GAAoB;QAApB,oBAAA,EAAA,WAAoB;QACnE,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAC,CAAA;KAChD;;;;;;IAED,iCAAW;;;;;IAAX,UAAY,KAAK,EAAE,MAAM;QACvB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC;YAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAC,MAAM,CAAC;YACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;KAChD;IACH,kBAAC;CAAA,IAAA;;;;;;IAnCC,gCAAmD;;;;;IACnD,kCAAiF;;;;;IACjF,4BAAsB;;;;;;;ACLxB;IAME;QAAA,iBAGC;QAFC,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU;;;;QAAC,UAAA,QAAQ;YAC1C,OAAA,KAAI,CAAC,SAAS,GAAG,QAAQ;SAAA,EAAC,CAAC;KAC9B;IAED,sBAAI,4CAAY;;;;QAAhB;YACE,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;;;OAAA;;;;;IAED,iDAAoB;;;;IAApB,UAAqB,IAAY;QAC/B,IAAG,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;KACF;IACH,yBAAC;CAAA,IAAA;;;;;;IAjBC,2CAAmD;;;;;IACnD,uCAAoC;;;;;;;ACJtC;IAaE,yBAAoB,mBAAuC;QAA3D,iBAGC;QAHmB,wBAAmB,GAAnB,mBAAmB,CAAoB;QALnD,iBAAY,GAAG,CAAC,CAAC;QACjB,gBAAW,GAAG,CAAC,CAAC;QAKtB,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU;;;;QAAC,UAAA,QAAQ;YACtC,OAAA,KAAI,CAAC,SAAS,GAAG,QAAQ;SAAA,EAAC,CAAC;KAC9B;IAED,sBAAI,qCAAQ;;;;QAAZ;YACE,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;;;OAAA;IAED,sBAAI,uCAAU;;;;QAAd;YACE,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;;;;;QAED,UAAe,KAAa;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;;;OAJA;IAMD,sBAAI,wCAAW;;;;QAAf;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;SAC1B;;;;;QAED,UAAgB,KAAa;YAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;;;OAJA;;;;IAMD,kCAAQ;;;IAAR;QACE,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE;YACxC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpC;KACF;;;;IAED,kCAAQ;;;IAAR;QACE,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;YACzB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpC;KACF;;;;IAED,oCAAU;;;IAAV;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACpC;;;;IAED,qCAAW;;;IAAX;QACE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACpC;;;;;IAED,oCAAU;;;;IAAV,UAAW,IAAY;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;;gBA9DF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBALO,kBAAkB;;;0BAD1B;CAIA,IA+DC;;;;;;IA3DC,uCAAyB;;;;;IACzB,sCAAwB;;;;;IACxB,oCAA+C;;;;;IAC/C,oCAAoC;;;;;IAExB,8CAA+C;;;;;;;ACb7D;IAkBMC,GAAC,GAAG,MAAM;AAEhB;IAiCE,2BAAsB,WAAoC,EACtC,YAAyB,EACzB,cAA6B,EAC7B,gBAAiC;QAHrD,iBASC;QATqB,gBAAW,GAAX,WAAW,CAAyB;QACtC,iBAAY,GAAZ,YAAY,CAAa;QACzB,mBAAc,GAAd,cAAc,CAAe;QAC7B,qBAAgB,GAAhB,gBAAgB,CAAiB;QAzB3C,UAAK,GAAG,IAAI,YAAY,EAAO,CAAC;QAC1C,SAAI,GAAG,KAAK,CAAC;QAGb,aAAQ,GAAG,IAAI,CAAC;QAChB,cAAS,GAAG,IAAI,CAAC;QACjB,kBAAa,GAAG,IAAI,CAAC;QACrB,mBAAc,GAAG,IAAI,CAAC;QACtB,UAAK,GAAG,IAAI,CAAC;QACb,cAAS,GAAG,IAAI,CAAC;QACjB,cAAS,GAAG,IAAI,CAAC;QACjB,QAAG,GAAG,IAAI,CAAC;QACX,MAAC,GAAG,CAAC,CAAC;QACN,UAAK,GAAG,CAAC,CAAC;QACV,MAAC,GAAG,CAAC,CAAC;QACN,UAAK,GAAG,CAAC,CAAC;QACV,gBAAW,GAAG,IAAI,CAAC;QACnB,sBAAiB,GAAG,IAAI,CAAC;QACzB,aAAQ,GAAG,CAAC,CAAC;QACb,cAAS,GAAG,CAAC,CAAC;QAOZ,YAAY,CAAC,UAAU,CAAC,SAAS;;;;QAAC,UAAC,GAAW;YAC5C,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC;SACjB,EAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;KAC7C;;;;IAED,oCAAQ;;;IAAR;QACE,IAAI,IAAI,CAAC,cAAc,EAAE,EACzB;YACE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACvB;KACF;;;;IAED,uCAAW;;;IAAX;;YACQ,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,oBAAC,OAAO,IAAS,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;;;;;KAKvC;;;;IAED,2CAAe;;;IAAf;;QAEE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;QAE5E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;QAEhD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;;QAG1C,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;QAEjF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;;YAEvC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;KAC1C;;;;;;IAGD,mCAAO;;;;;IAAP;QACE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,iBAAiB,CAAC;KAC1E;;;;IAED,0CAAc;;;IAAd;QACE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,sBAAsB,CAAC;KAC/E;;;;;;IAED,gDAAoB;;;;;IAApB,UAAqB,KAAa,EAAE,UAAkB;QACpD,OAAO,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;KAC1I;;;;IAED,kCAAM;;;IAAN;QACE,OAAO,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KAC/D;;;;IAED,8CAAkB;;;IAAlB;;YACQ,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC;;YAClF,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,IAAI,OAAO,EAAE;YACXA,GAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC7B;KACF;;;;;IAED,4CAAgB;;;;IAAhB,UAAiB,EAAE;;YACb,CAAC,GAAG,CAAC;;YAAE,CAAC,GAAG,CAAC;QAEhB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC;YACnB,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC;YAClB,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;SACtB;QAED,OAAO,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;KACrB;IAAA,CAAC;;;;;;;IAEF,0CAAc;;;;;;IAAd,UAAe,GAAG,EAAE,WAAW,EAAE,MAAM;QACrC,IAAI,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE;YAC3C,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;SACzC;aAAM,IAAI,GAAG,GAAG,CAAC,EAAE;YAClB,GAAG,GAAG,CAAC,CAAC;SACT;QACD,OAAO,GAAG,CAAC;KACZ;IAAA,CAAC;;;;IAEF,yCAAa;;;IAAb;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;KACrB;IAAA,CAAC;;;;;;IAEF,qCAAS;;;;;IAAT,UAAU,MAAM,EAAE,MAAM;;;;YAGhB,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;QAC7D,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;;QAEd,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;;YAEpD,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;QAChE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACd,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;KACxD;IAAA,CAAC;;;;;IAEF,qCAAS;;;;IAAT,UAAU,OAAO;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAEtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;;QAG7C,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACtB;IAAA,CAAC;;;;;IAEF,qCAAS;;;;IAAT,UAAU,MAAM;;YACR,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;;;YAG3C,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU;;YAC/E,SAAS,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS;;YAE7E,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,KAAK;;YACrE,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,KAAK;QAE1E,OAAO,EAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAC,CAAC;KAC7B;IAAA,CAAC;;;;IAEF,2CAAe;;;IAAf;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;KAC7B;IAAA,CAAC;;;;;;;;IAEF,sCAAU;;;;;;;IAAV,UAAW,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe;;QAErD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;;;YAGlB,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;;YACnF,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;;;YAGrF,MAAM,GAAG,CAAC,UAAU,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK;;YAC7C,MAAM,GAAG,CAAC,UAAU,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK;;QAGnD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/B,IAAI,CAAC,eAAe,EAAE;YACpB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;KACF;IAAA,CAAC;;;;;IAEF,mCAAO;;;;IAAP,UAAQ,MAAM;QACZ,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;;gBACpC,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;;gBACpH,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;YAC5H,IAAI,CAAC,iBAAiB,GAAG,EAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAC,CAAC;SACnD;;YAEK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;;YAEpC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;;YAChE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;;YAChE,UAAU,GAAG,EAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAC;QAE7D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;KACjE;;;;;IAED,sCAAU;;;;IAAV,UAAW,MAAM;QACf,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KACzB;;;;;IAED,iCAAK;;;;IAAL,UAAM,MAAM;;;;;QAKV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACzB;;;;;IAED,oCAAQ;;;;IAAR,UAAS,MAAM;;;;KAId;;;;;IAED,uCAAW;;;;IAAX,UAAY,MAAM;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE;;oBACnB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBAChC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aACrC;SACF;KACF;;;;;IAED,qCAAS;;;;IAAT,UAAU,UAAU;QAClB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,OAAO,UAAU,KAAK,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,KAAK,CAAC;SACxD;aACI;YACH,OAAO,IAAI,CAAC;SACb;KACF;;gBA1PF,SAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,onCAAwC;;iBAEzC;;;;gBArBC,UAAU;gBASJ,WAAW;gBAEX,aAAa;gBAEZ,eAAe;;;uBAWrB,KAAK;mCACL,KAAK;uBACL,KAAK;+BACL,KAAK;wBACL,MAAM;;IAgPT,wBAAC;CA3PD,IA2PC;;;IApPC,iCAAuB;;IACvB,6CAAkC;;IAClC,iCAA+B;;IAC/B,yCAA8B;;IAC9B,kCAA0C;;IAC1C,iCAAa;;IACb,iCAAa;;IAEb,qCAAgB;;IAChB,sCAAiB;;IACjB,0CAAqB;;IACrB,2CAAsB;;IACtB,kCAAa;;IACb,sCAAiB;;IACjB,sCAAiB;;IACjB,gCAAW;;IACX,8BAAM;;IACN,kCAAU;;IACV,8BAAM;;IACN,kCAAU;;IACV,wCAAmB;;IACnB,8CAAyB;;IACzB,qCAAa;;IACb,sCAAc;;IACd,sCAAmB;;;;;IAEP,wCAA8C;;;;;IAC9C,yCAAiC;;;;;IACjC,2CAAqC;;;;;IACrC,6CAAyC;;;;;;;;;;;;;;;ACxDvD;IAME;KACC;;;;;IAED,yCAAc;;;;IAAd,UAAe,IAAI;;YACX,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC;;YACxD,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC;;YACpC,kBAAkB,GAAG,CAAC;;YACpB,iBAAiB,GAAG,GAAG,CAAC,gBAAgB,CAAC,mCAAmC,CAAC;QAEnF,iBAAiB,CAAC,OAAO;;;;QAAC,UAAA,GAAG;YAC3B,kBAAkB,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;SACrG,EAAC,CAAC;;YAEG,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,CAAC;QAC7D,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;;YAE3C,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC;;;;QAE7D,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAC,EAAE,CAAC,CAAC;KACzD;;;;;IAED,+CAAoB;;;;IAApB,UAAqB,IAAI;;YACjB,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC;QAC9D,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;;YACjC,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC;QAC3C,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEtB,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO;;;;QAAC,UAAA,GAAG;YACzC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SACnB,EAAC,CAAC;QAEH,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;;YAE3C,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAC7D,OAAO,UAAU,CAAC;KACnB;;;;;;IAED,uCAAY;;;;;IAAZ,UAAa,OAAO,EAAE,KAAK;;YACnB,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5C,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC,EAAC;;gBACxB,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;YACvC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACvC;;YAEK,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC;;YAC1C,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACzC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC;QACnB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEtB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;YAElB,GAAG,GAAG,CAAC;QACX,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO;;;;QAAC,UAAA,GAAG;;gBAChC,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;YACzC,IAAI,GAAG,KAAK,CAAC,EAAE;;oBACP,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;gBACvC,EAAE,CAAC,SAAS,GAAG,OAAO,CAAA;gBACtB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACf,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC/B,GAAG,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACjB;iBACI;;oBACG,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;gBACvC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACf,GAAG,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACjB;YACD,GAAG,EAAE,CAAC;SACP,EAAC,CAAC;QAEH,OAAO,KAAK,CAAC;KACd;;;;;IAED,kCAAO;;;;IAAP,UAAQ,CAAC;;YACD,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;;YACxB,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;;YACxB,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC;;YAEvB,CAAC,GAAG,EAAE;QACV,OAAM,CAAC,IAAI,CAAC,EAAE;YACZ,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;SAC7B;QACD,OAAO,CAAC,CAAC;KACV;;gBA7FF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;;2BAJD;CAEA;;;;;;ACFA;IAmBE,4BAAoB,iBAAmC;QAAnC,sBAAiB,GAAjB,iBAAiB,CAAkB;KACtD;;;;IAED,qCAAQ;;;IAAR;;YACQ,IAAI,gBAAe,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QACxF,IAAG,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;KACF;;;;;IAED,wCAAW;;;;IAAX,UAAY,OAAsB;;;QAGhC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAC,IAAI,CAAC;aACtB,OAAO,CAAC,SAAS,EAAC,EAAE,CAAC;aACrB,OAAO,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;aAChE,OAAO,CAAC,gBAAgB,EAAE,mCAAmC,CAAC;aAC9D,OAAO,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;cAC1E,IAAI,CAAC;;YAChC,kBAAkB,GAAG,wBAAwB;QACnD,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;SAC3B;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;KAC/G;;gBA1CF,SAAS,SAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,unBAA0C;;iBAE3C;;;;gBANQ,gBAAgB;;;wBAStB,KAAK;wBACL,KAAK;yBACL,KAAK;yBACL,KAAK;uBACL,KAAK;yBACL,KAAK;2BACL,KAAK;;IA8BR,yBAAC;CA3CD,IA2CC;;;IApCC,mCAAuB;;IACvB,mCAAuB;;IACvB,oCAAwB;;IACxB,oCAAwB;;IACxB,kCAAsB;;IACtB,oCAAyB;;IACzB,sCAA2B;;IAC3B,qCAAgB;;;;;IAEJ,+CAA2C;;;;;;;;ICPbD,0CAAiB;IAO3D,gCAAY,WAAoC,EACpC,WAAwB,EACxB,aAA4B,EAC5B,eAAgC;QAH5C,YAIE,kBAAM,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,CAAC,SAEhE;QATD,aAAO,GAAG,IAAI,CAAC;QAQb,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC;;KACxC;;;;IAED,yCAAQ;;;IAAR;QACE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;KACxB;;;;IAED,gDAAe;;;IAAf;QAAA,iBAUC;QATC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS;;;QAAC;YACzB,KAAI,CAAC,qBAAqB,EAAE,CAAC;SAChC,EAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS;;;;QACtC,UAAA,KAAK;YACD,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC3B,EAAC,CAAC;KACL;;;;IAED,sDAAqB;;;IAArB;;QAEE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;QAEhF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC;KAC/D;;;;;IAED,4CAAW;;;;IAAX,UAAY,MAAM;QAChB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;KAC7B;;gBA9CF,SAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,qhCAA8C;;iBAE/C;;;;gBAXmB,UAAU;gBAIrB,WAAW;gBAFX,aAAa;gBACb,eAAe;;;wBAUrB,YAAY,SAAC,kBAAkB;;IAyClC,6BAAC;CAAA,CA1C2C,iBAAiB,GA0C5D;;;IAzCC,uCAAuE;;IAEvE,+CAAsB;;IACtB,yCAAe;;IACf,iDAAiC;;;;;;;ACjBnC;IAkBE;KACC;;;;IAED,gCAAQ;;;IAAR;;YACQ,IAAI,gBAAe,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QACxF,IAAG,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;KACF;;;;;IAED,mCAAW;;;;IAAX,UAAY,OAAsB;;;QAGhC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAC,IAAI,CAAC;aACtB,OAAO,CAAC,SAAS,EAAC,EAAE,CAAC;aACrB,OAAO,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;aAChE,OAAO,CAAC,gBAAgB,EAAE,mCAAmC,CAAC;aAC9D,OAAO,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;cAC1E,IAAI,CAAC;;YAChC,kBAAkB,GAAG,wBAAwB;QACnD,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;SAC3B;KACF;;gBAxCF,SAAS,SAAC;oBACT,QAAQ,EAAE,SAAS;oBACnB,unBAAoC;;iBAErC;;;;;wBAGE,KAAK;wBACL,KAAK;yBACL,KAAK;yBACL,KAAK;uBACL,KAAK;yBACL,KAAK;2BACL,KAAK;;IA4BR,oBAAC;CAzCD,IAyCC;;;IAlCC,8BAAuB;;IACvB,8BAAuB;;IACvB,+BAAwB;;IACxB,+BAAwB;;IACxB,6BAAsB;;IACtB,+BAAyB;;IACzB,iCAA2B;;IAC3B,gCAAgB;;;;;;;AChBlB;IAKE,0BAAoB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;KAC1C;;;;;IAED,oCAAS;;;;IAAT,UAAU,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACrD;;gBAPF,IAAI,SAAC,EAAC,IAAI,EAAE,UAAU,EAAC;;;;gBAFhB,YAAY;;IAUpB,uBAAC;CARD,IAQC;;;;;;IANa,qCAA+B;;AAQ7C;IAEE,kCAAoB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;KAC1C;;;;;IAED,4CAAS;;;;IAAT,UAAU,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;KAC5D;;gBAPF,IAAI,SAAC,EAAC,IAAI,EAAE,kBAAkB,EAAC;;;;gBAZxB,YAAY;;IAoBpB,+BAAC;CARD,IAQC;;;;;;IANa,6CAA+B;;AAQ7C;IAEE,2BAAoB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;KAC1C;;;;;IAED,qCAAS;;;;IAAT,UAAU,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;KACtD;;gBAPF,IAAI,SAAC,EAAC,IAAI,EAAE,WAAW,EAAC;;;;gBAtBjB,YAAY;;IA8BpB,wBAAC;CARD,IAQC;;;;;;IANa,sCAA+B;;AAQ7C;IAAA;KAUC;;;;;;IAPC,uCAAS;;;;;IAAT,UAAU,KAAa,EAAE,IAAY;QACnC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAC;SACd;;YACK,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;QACjC,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,sCAAsC,CAAC,CAAC;KAClE;;gBATF,IAAI,SAAC,EAAC,IAAI,EAAE,WAAW,EAAC;;IAUzB,0BAAC;CAVD;;;;;;ACjCA;IAYE,iCAAoB,cAAkC;QAAlC,mBAAc,GAAd,cAAc,CAAoB;QAF5C,gBAAW,GAAG,IAAI,YAAY,EAAW,CAAC;KAEO;;;;IAE3D,0CAAQ;;;IAAR;KACC;;;;;IAED,iDAAe;;;;IAAf,UAAgB,KAAe;QAC7B,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;;;;IAED,+CAAa;;;IAAb;QACE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC7B;;;;;IAED,uCAAK;;;;IAAL,UAAM,MAAM;QACV,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,aAAa,EAAE;YACtC,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;KACF;;gBA3BF,SAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,2pBAAgD;;iBAEjD;;;;gBANO,kBAAkB;;;8BASvB,MAAM;;IAqBT,8BAAC;CA5BD,IA4BC;;;IArBC,8CAAoD;;;;;IAExC,iDAA0C;;;;;;;ACZxD;IAgBE,sBAAsB,mBAAuC;QAAvC,wBAAmB,GAAnB,mBAAmB,CAAoB;QARnD,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QACtC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QACtC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QAEnB,WAAM,GAAG,KAAK,CAAC;QAEpC,gBAAW,GAAG,CAAC,CAAC;KAGvB;;;;;IAGM,kCAAW;;;;IADlB,UACmB,GAAG;QACpB,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;;;;;IAGM,iCAAU;;;;IADjB,UACkB,GAAG;QACnB,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;KACd;;;;;IAGM,kCAAW;;;;IADlB,UACmB,GAAG;QACpB,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;KACF;;;;;IAGM,6BAAM;;;;IADb,UACc,GAAG;QACf,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;;YAChB,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK;QACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;KACF;;;;;IAGM,8BAAO;;;;IADd,UACe,KAAK;QAClB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;;;;;IAEO,gCAAS;;;;IAAjB;QACE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;;gBAhEF,SAAS,SAAC;oBACT,QAAQ,EAAE,SAAS;iBACpB;;;;gBAJO,kBAAkB;;;0BAOvB,MAAM;0BACN,MAAM;0BACN,MAAM;yBAEN,WAAW,SAAC,cAAc;8BAO1B,YAAY,SAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;6BASpC,YAAY,SAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;8BAOnC,YAAY,SAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;yBAWpC,YAAY,SAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;0BAa/B,YAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;IASnC,mBAAC;CAjED,IAiEC;;;IA5DC,+BAAgD;;IAChD,+BAAgD;;IAChD,+BAAgD;;IAEhD,8BAA4C;;;;;IAE5C,mCAAwB;;;;;IAEZ,2CAAiD;;;;;;;AChB/D;IAEMC,GAAC,GAAG,MAAM;AAEhB;IAKE;KACC;;;;;;;;IAED,yCAAe;;;;;;;IAAf,UAAgB,EAAE,EAAE,IAAkB,EAAE,UAAsB,EAAE,MAAoB;QAAhE,qBAAA,EAAA,UAAkB;QAAE,2BAAA,EAAA,cAAsB;QAAE,uBAAA,EAAA,YAAoB;QAClF,IAAI,CAAC,EAAE,EAAE;YACP,OAAO,KAAK,CAAC;SACd;;YACK,CAAC,GAAG,MAAM;;YACV,CAAC,GAAG,GAAG;;YAEP,GAAG,GAAGA,GAAC,CAAC,MAAM,CAAC;;YAEf,QAAQ,GAAG;YACf,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE;YACpB,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,UAAU;YACnC,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE;YAC1C,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE;SACvC;QAGD,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;YACf,IAAI,GAAG,GAAG,CAAC;SACZ;;YAEK,KAAK,GAAG,IAAI,GAAG,GAAG;;YAClB,MAAM,GAAGA,GAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC;;YACtC,KAAK,GAAGA,GAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC;QAE1C,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;YACrB,OAAO,KAAK,CAAC;SACd;;YAEK,MAAM,GAAGA,GAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;;YACvB,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK;;YACvC,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,MAAM;;YAExC,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;QAE3J,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,KAAK,CAAC;SACd;;YAEK,MAAM,GAAG;YACb,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;YACzE,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;YAC/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;YACzE,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;SAC9F;QAED,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;KAC/E;;gBAvDF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;;0BAND;CAIA;;;;;;ACJA;IAgBMA,GAAC,GAAG,MAAM;AAEhB;IASE,6BAAoB,WAAoC,EACpC,gBAAiC,EACjC,mBAAuC,EACvC,YAAyB,EACzB,cAA6B,EAC7B,gBAAiC;QALrD,iBAYC;QAZmB,gBAAW,GAAX,WAAW,CAAyB;QACpC,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,wBAAmB,GAAnB,mBAAmB,CAAoB;QACvC,iBAAY,GAAZ,YAAY,CAAa;QACzB,mBAAc,GAAd,cAAc,CAAe;QAC7B,qBAAgB,GAAhB,gBAAgB,CAAiB;QAR7C,SAAI,GAAG,GAAG,CAAC;QACX,mBAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QASjC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9D,YAAY,CAAC,UAAU,CAAC,SAAS;;;;QAAC,UAAC,GAAW;YAC5C,KAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,KAAI,CAAC,IAAI,CAAC;YAClC,KAAI,CAAC,OAAO,EAAE,CAAC;SAChB,EAAC,CAAC;KACJ;;;;IAED,6CAAe;;;IAAf;QAAA,iBAOC;QANC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS;;;;QAAE,UAAA,KAAK;YAC7C,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B,GAAE,CAAC;QACJ,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;;;;IAEuB,uCAAS;;;IAAjC;QACE,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;;;;IAE8B,sCAAQ;;;IAAvC;QACE,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;;;;;IAED,0CAAY;;;;IAAZ,UAAa,UAAkB;;YACvB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa;;YACnC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;;YAC/B,IAAI,GAAG,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI;;YAC3D,SAAS,IAAI,IAAI,IAAIA,GAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAKA,GAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;QACzE,IAAI,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE;YACvE,OAAO;SACR;;YACK,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;;YAC9C,OAAO,GAAG;YACd,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,WAAW;SACjB;QACD,IAAG,EAAE,EAAC;;YAEJ,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACpB;KACF;;;;;IAEO,yCAAW;;;;IAAnB;;YACQ,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;QACnE,IAAI,EAAE,EAAE;;YAEN,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACtD;KACF;;;;;;IAEO,qCAAO;;;;;IAAf,UAAgB,UAAkB;;YAC1B,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;QACnE,IAAI,EAAE,EAAE;YACN,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;SAC3E;KACF;;;;;;IAEO,6CAAe;;;;;IAAvB,UAAwB,UAAkB;;YAClC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE;;YACtE,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE;;YACpD,WAAW,GAAG,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;;gBACrC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;;gBACtB,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC;YACjD,WAAW,IAAI,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;SAC9E;QACD,OAAO,WAAW,CAAC;KACpB;;;;;IAEO,+CAAiB;;;;IAAzB;;YACQ,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;;YACxB,MAAM,GAAG,GAAG;;YACZ,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;QAC9G,OAAO,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;KAChC;;;;IAED,qCAAO;;;IAAP;;YACM,IAAI;;YACJ,cAAc,GAAG,KAAK;;YACpB,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;;YACzC,eAAe,GAAG,IAAI,CAAC,WAAW,IAAI,QAAQ,GAAG,QAAQ,CAAC,qBAAqB,EAAE,GAAG,IAAI;QAC9F,KAAK,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE;;gBACrD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,IAAI,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC7D,IAAI,CAAC,cAAc,EAAE;oBACnB,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;wBAC1I,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBACxB,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;qBAC1C;oBACD,cAAc,GAAG,IAAI,CAAC;iBACvB;gBACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAClC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBACpD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBAC/B;aACF;SACF;KACF;;;;;IAED,yCAAW;;;;IAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;;;;IAED,sCAAQ;;;IAAR;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KACzE;;;;;IAGO,sCAAQ;;;;IAAhB;QACE,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;KAC1F;;;;;IAEO,qCAAO;;;;IAAf;QACE,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;KACxB;;gBAnIF,SAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;iBAC3B;;;;gBAjBC,UAAU;gBAOJ,eAAe;gBACf,kBAAkB;gBAClB,WAAW;gBACX,aAAa;gBACb,eAAe;;;4BAoCpB,YAAY,SAAC,QAAQ;2BAIrB,YAAY,SAAC,eAAe;;IAgG/B,0BAAC;CApID,IAoIC;;;;;;IA/HC,0CAA4B;;;;;IAC5B,mCAAmB;;;;;IACnB,6CAAmC;;;;;IAEvB,0CAA4C;;;;;IAC5C,+CAAyC;;;;;IACzC,kDAA+C;;;;;IAC/C,2CAAiC;;;;;IACjC,6CAAqC;;;;;IACrC,+CAAyC;;;;;;;AChCvD;IAMMA,GAAC,GAAG,MAAM;AAEhB;IAAA;QAIY,iBAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,mBAAc,GAAG,IAAI,YAAY,EAAE,CAAC;KAuB/C;;;;;IArByC,gDAAkB;;;;IAA1D,UAA2D,KAAU;QACnE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAC5B;;;;;IAE2C,iDAAmB;;;;IAA/D,UAAgE,KAAU;QACxE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAC5B;;;;;IAEyC,4CAAc;;;;IAAxD,UAAyD,KAAU;QACjE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAC5B;;;;;IAED,4CAAc;;;;IAAd,UAAe,KAAU;QACvB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE;;YAChB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5E,IAAG,KAAK,GAAG,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;aAAM,IAAG,KAAK,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnC;KACF;;gBA3BF,SAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;iBAC3B;;;+BAEE,MAAM;iCACN,MAAM;qCAEN,YAAY,SAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;sCAIrC,YAAY,SAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;iCAIzC,YAAY,SAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;IAa1C,0BAAC;CA5BD,IA4BC;;;IAxBC,2CAA4C;;IAC5C,6CAA8C;;;;;;;ACbhD;IAqBE,uBAAoB,YAAyB,EAAU,cAA6B,EAAE,EAAc;QAAhF,iBAAY,GAAZ,YAAY,CAAa;QAAU,mBAAc,GAAd,cAAc,CAAe;QAX3E,eAAU,GAAG,IAAI,CAAC;QAYzB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KACd;;;;IAED,mCAAW;;;IAAX;KACC;;;;IAED,mCAAW;;;IAAX;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAC1C;;;;IAED,gCAAQ;;;IAAR;QAAA,iBAUC;QATC,IAAI,CAAE,IAAI,CAAC,UAAU,EAAE;YACrB,OAAO;SACR;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS;;;;QAAC,UAAC,IAAI;YAC1C,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACxB,EAAC,CAAC;KACJ;;;;;;IAEO,iCAAS;;;;;IAAjB,UAAkB,IAAI;QACpB,IAAI,CAAE,IAAI,CAAC,UAAU,EAAE;YACrB,OAAO;SACR;;YAEK,OAAO,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG;QAE7C,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE;YAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;aACI;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,GAAG,CAAC;YAC1C,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;SACnC;aACI;YACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SAC3B;;YAEG,QAAQ,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;;;;QAAC,UAAA,IAAI;YAC1B;gBACE,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,EAAC;oBACxB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;iBACvB;aACF;SACF,EAAC,CAAC;;QAGH,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC;KACtE;;;;;;IAEO,sCAAc;;;;;IAAtB,UAAuB,GAAG;QACxB,OAAO,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;KAC1C;;;;;;IAEO,uCAAe;;;;;IAAvB,UAAwB,GAAG;QACzB,OAAO,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;KAC5C;;;;;;IAEO,mCAAW;;;;;IAAnB,UAAoB,IAAI;;YAChB,OAAO,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG;;YAEvC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW;;YAC/D,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY;;YACjE,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC;;YACtE,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC;QAC9E,IAAI,CAAC,KAAK,GAAG,CAAC,aAAa,GAAC,OAAO,GAAG,WAAW,GAAC,OAAO,IAAI,IAAI,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,CAAC,cAAc,GAAC,OAAO,GAAG,YAAY,GAAC,OAAO,IAAI,IAAI,CAAC;KACtE;;;;IAED,uCAAe;;;IAAf;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KACxC;;gBAjGF,SAAS,SAAC;oBACT,QAAQ,EAAE,UAAU;iBACrB;;;;gBANO,WAAW;gBAEV,aAAa;gBAHmD,UAAU;;;6BAUhF,KAAK;uBACL,KAAK;0BAEL,WAAW,SAAC,YAAY;4BACxB,WAAW,SAAC,iBAAiB;kCAC7B,WAAW,SAAC,wBAAwB;wBACpC,WAAW,SAAC,aAAa;yBACzB,WAAW,SAAC,cAAc;2BAC1B,WAAW,SAAC,iBAAiB;;IAqFhC,oBAAC;CAlGD,IAkGC;;;IA7FC,mCAA2B;;IAC3B,6BAAc;;IAEd,gCAA2C;;IAC3C,kCAAkD;;IAClD,wCAA+D;;IAC/D,8BAA0C;;IAC1C,+BAA4C;;IAC5C,iCAAiD;;IACjD,2BAAoB;;;;;IAER,qCAAiC;;;;;IAAE,uCAAqC;;;;;;;ACrBtF;IAUE;QAHQ,cAAS,GAAqB,IAAI,OAAO,EAAE,CAAC;QACnC,aAAQ,GAAwB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KAG9E;IAED,sBAAI,mCAAO;;;;QAAX;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;;;OAAA;;;;;IAED,8BAAK;;;;IAAL,UAAM,KAAc;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC3B;;gBAhBF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;;yBALD;CAGA,IAiBC;;;;;;IAbC,mCAAoD;;;;;IACpD,kCAA+E;;;;;;;ACRjF;;;AAGA,qBAIC;;;IAHC,sBAAa;;IACb,uBAAW;;IACX,2BAAmB;;AAGrB;IAaE,yBAAsB,eAA+B;QAArD,iBAIC;QAJqB,oBAAe,GAAf,eAAe,CAAgB;QAL5C,aAAQ,GAAG,KAAK,CAAC;QAEhB,aAAQ,GAAsB,IAAI,YAAY,EAAE,CAAC;QAClD,WAAM,GAAG,KAAK,CAAC;QAGtB,eAAe,CAAC,OAAO,CAAC,SAAS;;;QAAC;YAChC,KAAI,CAAC,KAAK,EAAE,CAAC;SACd,EAAC,CAAC;KACJ;;;;IAED,8BAAI;;;IAAJ;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;KACF;;;;IAED,+BAAK;;;IAAL;QACE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;;;;;IAED,wCAAc;;;;IAAd,UAAe,KAAa;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;;;;;IAED,gCAAM;;;;IAAN,UAAO,MAAM;;QAEX,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;SAC5B;KACF;;;;;;IAED,gCAAM;;;;;IAAN,UAAO,MAAM,EAAE,KAAa;QAC1B,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;;gBA/CF,SAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,8xBAAsC;;iBAEvC;;;;gBAZO,cAAc;;;0BAenB,KAAK;2BACL,KAAK;+BACL,KAAK;2BACL,MAAM;yBACN,KAAK;;IAqCR,sBAAC;CAhDD,IAgDC;;;IAzCC,kCAA2B;;IAC3B,mCAA0B;;IAC1B,uCAA8B;;IAC9B,mCAA2D;;IAC3D,iCAAwB;;;;;IAEZ,0CAAyC;;;;;;;ACtBvD;IASE;KACC;;;;;IAIO,8CAAY;;;;IAApB;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;KACvC;;;;IAED,0CAAQ;;;IAAR;QACE,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;;;;;IAED,6CAAW;;;;IAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,YAAY,EAAE,CAAA;KACpB;;gBAtBF,SAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;iBAC/B;;;;;sBAGE,KAAK;yBAKL,WAAW,SAAC,gBAAgB;;IAa/B,8BAAC;CAvBD,IAuBC;;;IAlBC,sCAAsB;;IAKtB,yCAA+C;;;;;;;ACZjD;IAmBE;QARS,eAAU,GAAG,IAAI,CAAC;KAS1B;;;;;IAEO,wCAAY;;;;IAApB;QACE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAC;YACjC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SACvC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;SAClD;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,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;gBACxF,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;wBACtB,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;qBAC7B;yBAAM;wBACL,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;qBAC9B;iBACF;qBAAM;oBACL,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;wBACtB,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;qBACnC;yBAAM;wBACL,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;qBACnC;iBACF;aACF;iBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,EAAE;gBACpD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;SACF;KAEF;;;;IAED,uCAAW;;;IAAX;QACE,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;KACjC;;;;IAED,oCAAQ;;;IAAR;QACE,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;;;;;IAED,uCAAW;;;;IAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,YAAY,EAAE,CAAA;KACpB;;gBArEF,SAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;iBACzB;;;;;wBAGE,KAAK;6BACL,KAAK;wBACL,KAAK;yBACL,KAAK;6BACL,KAAK;4BAEL,WAAW,SAAC,iBAAiB;6BAC7B,WAAW,SAAC,2BAA2B;4BACvC,WAAW,SAAC,iBAAiB;yBAE7B,WAAW,SAAC,cAAc;;IAwD7B,wBAAC;CAvED,IAuEC;;;IAlEC,kCAAuB;;IACvB,uCAA6B;;IAC7B,kCAAuB;;IACvB,mCAAwB;;IACxB,uCAA2B;;IAE3B,sCAAkD;;IAClD,uCAA6D;;IAC7D,sCAAkD;;IAElD,mCAA4C;;;;;;;ACjB9C;IAaE;QAHU,gBAAW,GAAG,IAAI,YAAY,EAAW,CAAC;QACpD,mBAAc,GAAG,KAAK,CAAC;KAGtB;;;;IAED,qCAAQ;;;IAAR;KACC;;;;;IAED,oCAAO;;;;IAAP,UAAQ,MAAM;QACZ,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;KACF;;gBAtBF,SAAS,SAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,wjBAA0C;;iBAE3C;;;;;uBAEE,KAAK;uBACL,KAAK;8BACL,MAAM;;IAeT,yBAAC;CAvBD,IAuBC;;;IAjBC,kCAAsB;;IACtB,kCAAsB;;IACtB,yCAAoD;;IACpD,4CAAuB;;;;;;;ACXzB;IASE;QAAA,iBAKC;QAJC,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU;;;;QAAC,UAAA,QAAQ;YACpC,OAAA,KAAI,CAAC,SAAS,GAAG,QAAQ;SAAA,EAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU;;;;QAAC,UAAA,QAAQ;YACxC,OAAA,KAAI,CAAC,aAAa,GAAG,QAAQ;SAAA,EAAC,CAAC;KAClC;IAED,sBAAI,2CAAW;;;;QAAf;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;SACrB;;;OAAA;;;;;IAED,wCAAW;;;;IAAX,UAAY,KAAkB;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;IAED,sBAAI,+CAAe;;;;QAAnB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;;;OAAA;;;;;IAED,uCAAU;;;;IAAV,UAAW,IAAU;QACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;IACH,yBAAC;CAAA,IAAA;;;;;;IA3BC,qCAAyC;;;;;IACzC,uCAAyC;;;;;IACzC,yCAAsC;;;;;IACtC,2CAAsC;;;;;;;;ICGtC,8BAAoB,cAAkC;QAAtD,iBAOC;QAPmB,mBAAc,GAAd,cAAc,CAAoB;QACpD,cAAc,CAAC,WAAW,CAAC,SAAS;;;;QAAC,UAAA,KAAK;YACxC,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACzB,EAAC,CAAC;QACH,cAAc,CAAC,eAAe,CAAC,SAAS;;;;QAAC,UAAA,IAAI;YAC3C,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAC5B,EAAC,CAAC;KACJ;;;;;;IAEO,0CAAW;;;;;IAAnB,UAAoB,KAAkB;;;YAChC,SAAS,GAAG,EAAE;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE;;gBACjB,KAAmB,IAAA,UAAAC,SAAA,KAAK,CAAA,4BAAA,+CAAE;oBAArB,IAAM,IAAI,kBAAA;oBACb,SAAS,IAAI,mBAAmB,GAAG,IAAI,CAAC,MAAM,GAAG,oBAAoB;wBACnE,0BAA0B,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ;wBACjD,QAAQ,CAAC;iBACZ;;;;;;;;;SACF;aAAM;;gBACL,KAAmB,IAAA,UAAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE;oBAArB,IAAM,IAAI,kBAAA;oBACb,SAAS,IAAI,mBAAmB,GAAG,IAAI,CAAC,MAAM,GAAG,oBAAoB;wBACnE,oHAAoH,GAAG,IAAI,CAAC,IAAI,GAAG,sBAAsB;wBACzJ,QAAQ,CAAC;iBACZ;;;;;;;;;SACF;QACD,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;KAC7D;;;;;;;;IAEO,yCAAU;;;;;;;IAAlB,UAAmB,SAAS,EAAE,KAAK,EAAE,MAAM;;YACnC,QAAQ,GAAG,GAAG;;YACd,OAAO,GAAG,GAAG;;YACf,eAAe,GAAG,EAAE;QACxB,IAAG,KAAK,GAAG,OAAO,IAAI,MAAM,GAAG,QAAQ,EAAC;;gBAChC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,GAAG;YAChD,eAAe,GAAG,qDAAqD,CAAC;YACxE,IAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAC;gBAC3D,eAAe,GAAG,kCAAkC,GAAG,IAAI,GAAG,KAAK,CAAC;aACrE;SACF;;YACG,QAAQ,GAAG,SAAS;YACtB,iFAAiF;YACjF,gDAAgD,GAAG,eAAe;QACpE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;;YAE3B,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,0FAA0F,CAAC;QAC/I,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9B,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,YAAY,CAAC,KAAK,EAAE,CAAC;KACtB;;;;;;IAEO,8CAAe;;;;;IAAvB,UAAwB,IAAU;;YAC1B,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;;YACnC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,0FAA0F,CAAC;QACpJ,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,YAAY,CAAC,KAAK,EAAE,CAAC;KACtB;;gBAjEF,SAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;iBAC5B;;;;gBAJO,kBAAkB;;;2BAMvB,KAAK;;IA8DR,2BAAC;CAlED,IAkEC;;;IA9DC,wCAA2B;;;;;IAEf,8CAA0C;;;;;;;ACVxD;IAME;QAHQ,cAAS,GAA4B,IAAI,eAAe,CAAC,yBAAyB,CAAC,CAAC;QACpF,mBAAc,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KAG1E;IAED,sBAAI,kDAAa;;;;QAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;SAC5B;;;OAAA;;;;;IAED,+CAAa;;;;IAAb,UAAc,OAAe;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC9B;IACH,8BAAC;CAAA,IAAA;;;;;;IAbC,4CAA4F;;;;;IAC5F,iDAA2E;;;;;;;ACJ7E;IAYE,6BAAY,cAAuC;QAAnD,iBAEC;QADC,cAAc,CAAC,aAAa,CAAC,SAAS;;;;QAAC,UAAA,OAAO,IAAI,OAAA,KAAI,CAAC,OAAO,GAAG,OAAO,GAAA,EAAC,CAAC;KAC3E;;;;IAED,sCAAQ;;;IAAR;KACC;;gBAdF,SAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,qbAA2C;;iBAE5C;;;;gBANO,uBAAuB;;IAkB/B,0BAAC;CAhBD,IAgBC;;;IATC,sCAAgB;;;;;;;ACVlB;IAME;QAHQ,cAAS,GAAoB,IAAI,OAAO,EAAE,CAAC;QAClC,gBAAW,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KAGhF;IAED,sBAAI,uCAAU;;;;QAAd;YACE,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;;;OAAA;;;;;IAED,qCAAW;;;;IAAX,UAAY,IAAY;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;IACH,sBAAC;CAAA,IAAA;;;;;;IAbC,oCAAmD;;;;;IACnD,sCAAiF;;;;;;;ACJnF;IAKMD,GAAC,GAAG,MAAM;AAEhB;IASE,mCAAY,cAAuC,EAAU,gBAAiC;QAA9F,iBAEC;QAF4D,qBAAgB,GAAhB,gBAAgB,CAAiB;QAFpF,gBAAW,GAAG,IAAI,YAAY,EAAE,CAAC;QAGzC,cAAc,CAAC,aAAa,CAAC,SAAS;;;;QAAC,UAAA,OAAO,IAAI,OAAA,KAAI,CAAC,OAAO,GAAG,OAAO,GAAA,EAAC,CAAC;KAC3E;;;;IAED,4CAAQ;;;IAAR;KACC;;;;;IAED,+CAAW;;;;IAAX,UAAY,KAAa;QACvB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC1C;;;;;IAED,+CAAW;;;;IAAX,UAAY,MAAe;QACzB,IAAI,MAAM,EAAE;YACV,UAAU;;;YAAC;;oBACH,OAAO,GAAGA,GAAC,CAAC,WAAW,CAAC;gBAC9B,IAAI,OAAO,EAAE;oBACX,OAAO,CAAC,KAAK,EAAE,CAAC;iBACjB;aACF,GAAE,GAAG,CAAC,CAAC;SACT;aAAM;YACLA,GAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACxB;KACF;;;;;IAED,0CAAM;;;;IAAN,UAAO,MAAe;QACpBA,GAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC7B;;gBApCF,SAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,otBAAiD;;iBAElD;;;;gBAVO,uBAAuB;gBACvB,eAAe;;;8BAYpB,MAAM;;IA8BT,gCAAC;CArCD,IAqCC;;;IA/BC,4CAAgB;;IAChB,gDAA2C;;;;;IAEU,qDAAyC;;;;;;;AChBhG;IAaE,iCAAoB,aAA2B,EAAU,eAAwC;QAA7E,kBAAa,GAAb,aAAa,CAAc;QAAU,oBAAe,GAAf,eAAe,CAAyB;KAChG;;;;;;IAED,2CAAS;;;;;IAAT,UAAU,GAAqB,EAAE,IAAiB;QAAlD,iBAsCC;;YArCO,SAAS,GAAG,kCAAkC;QAEpD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;aACpB,IAAI,CAAC,GAAG;;;;QAAC,UAAA,IAAI;YACV,OAAO,IAAI,CAAC;SACb,EAAC,EACF,UAAU;;;;QAAC,UAAC,SAAyB;YACnC,IAAI,SAAS,YAAY,iBAAiB,EAAE;gBAC1C,QAAQ,SAAS,CAAC,MAAM;oBAEtB,KAAK,SAAS,CAAC,UAAU;wBACvB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;wBAC/C,MAAM;oBACR,KAAK,SAAS,CAAC,YAAY;wBACzB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;wBAChD,MAAM;oBACR,KAAK,SAAS,CAAC,QAAQ;wBACrB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;wBAC7C,MAAM;oBACR,KAAK,SAAS,CAAC,OAAO;wBACpB,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;wBAC3C,MAAM;oBACR,KAAK,SAAS,CAAC,mBAAmB;wBAChC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;wBAC3C,KAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC5D,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;wBACnD,MAAM;oBAER,KAAK,SAAS,CAAC,SAAS;wBACtB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;wBAC7C,KAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC5D,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;wBACvD,MAAM;iBACT;aACF;YACD,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;SAC9B,EAAC,CAAC,CAAC;KACT;;gBA9CF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBAJqB,YAAY;gBAF1B,uBAAuB;;;kCAJ/B;CAQA,IA+CC;;;;;;IA1Ca,gDAAmC;;;;;IAAE,kDAAgD;;;;;;;ACbnG;IAYE;QATQ,cAAS,GAAoB,IAAI,OAAO,EAAE,CAAC;QAClC,gBAAW,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAEzE,qBAAgB,GAAoB,IAAI,OAAO,EAAE,CAAC;QACzC,mBAAc,GAAuB,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAEnF,mBAAc,GAAoB,IAAI,OAAO,EAAE,CAAC;QACvC,iBAAY,GAAuB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KAGtF;IAED,sBAAI,qCAAU;;;;QAAd;YACE,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;;;OAAA;;;;;IAED,+BAAO;;;;IAAP,UAAQ,IAAY;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;IAED,sBAAI,wCAAa;;;;QAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;SAC5B;;;OAAA;IAED,sBAAI,sCAAW;;;;QAAf;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;SAC1B;;;OAAA;;;;;IAED,kCAAU;;;;IAAV,UAAW,OAAe;QACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrC;;;;;IAED,gCAAQ;;;;IAAR,UAAS,KAAa;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;IACH,oBAAC;CAAA,IAAA;;;;;;IAnCC,kCAAmD;;;;;IACnD,oCAAiF;;;;;IAEjF,yCAA0D;;;;;IAC1D,uCAA2F;;;;;IAE3F,uCAAwD;;;;;IACxD,qCAAuF;;;;;;;ACVzF;IAmBE,yBAAoB,cAA6B;QAAjD,iBAUC;QAVmB,mBAAc,GAAd,cAAc,CAAe;QATvC,cAAS,GAAG,IAAI,YAAY,CAAU,KAAK,CAAC,CAAC;QAEvD,YAAO,GAAG,CAAC,CAAC;QACZ,UAAK,GAAG,CAAC,CAAC;QAOR,cAAc,CAAC,WAAW,CAAC,SAAS;;;;QAAC,UAAC,KAAa;YACjD,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,KAAI,CAAC,OAAO,GAAG,CAAC,CAAC;aAClB;iBAAM;gBACL,KAAI,CAAC,OAAO,GAAG,CAAC,CAAC;aAClB;YACD,KAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;SAC9C,EAAC,CAAC;KACJ;;;;IAED,kCAAQ;;;IAAR;KACC;;;;;IAED,iCAAO;;;;IAAP,UAAQ,IAAY;QAClB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACnC;;;;IAED,8BAAI;;;IAAJ;QACE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;;;;IAED,8BAAI;;;IAAJ;QACE,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9C;KACF;;;;IAED,8BAAI;;;IAAJ;QACE,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9C;KACF;;;;IAED,yCAAe;;;IAAf;QACE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACxC;;gBAxDF,SAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,sqBAAsC;;iBAEvC;;;;gBANO,aAAa;;;4BASlB,MAAM;8BAKN,SAAS,SAAC,MAAM,EAAC;wBAChB,MAAM,EAAG,IAAI;qBACd;;IA2CH,sBAAC;CAzDD,IAyDC;;;IAlDC,oCAAuD;;IAEvD,kCAAY;;IACZ,gCAAU;;IAEV,sCAE2B;;;;;IAEf,yCAAqC;;;;;;;ACnBnD;IAKMA,GAAC,GAAG,MAAM;AAEhB;IAUE,6BAAoB,WAAoC,EACpC,cAA6B,EAC7B,UAA+B,EAC/B,YAAyB;QAH7C,iBAoBC;QApBmB,gBAAW,GAAX,WAAW,CAAyB;QACpC,mBAAc,GAAd,cAAc,CAAe;QAC7B,eAAU,GAAV,UAAU,CAAqB;QAC/B,iBAAY,GAAZ,YAAY,CAAa;QAP7C,YAAO,GAAG,CAAC,CAAC;QACZ,UAAK,GAAG,CAAC,CAAC;QACF,SAAI,GAAG,GAAG,CAAC;QAMjB,cAAc,CAAC,aAAa,CAAC,SAAS;;;;QAAC,UAAC,OAAe;YACrD,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,KAAI,CAAC,OAAO,KAAK,CAAC,EAAE;gBACtB,KAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF,EAAC,CAAC;QAEH,cAAc,CAAC,UAAU,CAAC,SAAS;;;;QAAC,UAAC,IAAY;YAC/C,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,KAAI,CAAC,eAAe,EAAE,CAAC;SACxB,EAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9D,YAAY,CAAC,UAAU,CAAC,SAAS;;;;QAAC,UAAC,GAAW;YAC5C,KAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,KAAI,CAAC,IAAI,CAAC;SACnC,EAAC,CAAC;KACJ;;;;;IAEO,6CAAe;;;;IAAvB;;YACQ,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;QACnE,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;;oBACf,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,MAAM;gBACzD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACpB;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aAChB;YACD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1C;KACF;;;;;IAEO,2CAAa;;;;IAArB;QACE,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;YACtB,OAAO;SACR;;YACK,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE;;YAC5B,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;QACnE,IAAI,EAAE,EAAE;YACN,EAAE,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,OAAO;;;;YAAC,UAAU,KAAK;gBACjEA,GAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;aAC7C,EAAC,CAAC;;gBACG,SAAS,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACxEA,GAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAC7C,IAAI,SAAS,EAAE;;oBACP,OAAO,GAAG;oBACd,IAAI,EAAE,CAAC;oBACP,GAAG,EAAE,CAACA,GAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,GAAG,GAAG;iBAClF;;gBAED,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAChD;SACF;KACF;;;;;;IAEO,yCAAW;;;;;IAAnB,UAAoB,EAAW;;YACvB,SAAS,GAAGA,GAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM;;;QAAC;;gBAC5C,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE;;gBACpD,UAAU,GAAG,oBAAU,IAAI,IAAE,SAAS,GAAG,CAAC,oBAAU,IAAI,IAAE,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI;YACzG,OAAO,IAAI,CAAC,QAAQ,KAAK,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBACpC,QAAQ,KAAK,OAAO;gBACpB,QAAQ,KAAK,OAAO;gBACpB,QAAQ,KAAK,MAAM;gBACnB,QAAQ,KAAK,QAAQ;gBACrB,UAAU,CAAC;SACd,EAAC;;YACI,IAAI,GAAG,IAAI,CAAC,IAAI;;YAChB,SAAS,GAAG,IAAI,CAAC,UAAU;QACjC,SAAS,CAAC,IAAI;;;QAAC;;gBACP,KAAK,GAAGA,GAAC,CAAC,IAAI,CAAC;;gBACjB,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE;YAC1B,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC7C,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAC5B,EAAC,CAAC;QACH,EAAE,CAAC,SAAS,EAAE,CAAC;KAChB;;;;;;IAEO,4CAAc;;;;;IAAtB,UAAuB,EAAe;;YAC9B,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;;gBACpC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAClC,OAAO,CAAC,WAAW,CAAC,oBAAc,OAAO,IAAE,SAAS,CAAC,CAAC;SACvD;QACD,EAAE,CAAC,SAAS,EAAE,CAAC;KAChB;;;;;IAEO,qCAAO;;;;IAAf;QACE,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;KACxB;;gBAxGF,SAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;iBAC3B;;;;gBATkB,UAAU;gBACrB,aAAa;gBACb,mBAAmB;gBACnB,WAAW;;IA6GnB,0BAAC;CAzGD,IAyGC;;;IApGC,mCAAa;;IACb,sCAAY;;IACZ,oCAAU;;;;;IACV,mCAAmB;;;;;IAEP,0CAA4C;;;;;IAC5C,6CAAqC;;;;;IACrC,yCAAuC;;;;;IACvC,2CAAiC;;;;;;;ACpB/C;IAWE;KACC;;;;IAED,0CAAQ;;;IAAR;KACC;;gBAbF,SAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,2IAA+C;;iBAEhD;;;;;uBAEE,KAAK;uBACL,KAAK;;IAQR,8BAAC;CAfD,IAeC;;;IATC,uCAAsB;;IACtB,uCAAsB;;;;;;;ACTxB;IAME;QAHQ,cAAS,GAAoB,IAAI,OAAO,EAAE,CAAC;QAClC,qBAAgB,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KAGrF;IAED,sBAAI,gDAAe;;;;QAAnB;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC;SAC9B;;;OAAA;;;;;IAED,6CAAe;;;;IAAf,UAAgB,KAAa;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;IACH,0BAAC;CAAA,IAAA;;;;;;IAbC,wCAAmD;;;;;IACnD,+CAAsF;;;;;;;ACJxF;IAgBE,sBAAoB,oBAAyC;QAA7D,iBAIC;QAJmB,yBAAoB,GAApB,oBAAoB,CAAqB;QAJpD,aAAQ,GAAG,KAAK,CAAC;QACjB,WAAM,GAAG,KAAK,CAAC;QACf,YAAO,GAAG,IAAI,CAAC;QAGtB,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,SAAS;;;;QAAC,UAAC,KAAa;YAChE,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACxB,EAAC,CAAC;KACJ;;;;;;IAEO,iCAAU;;;;;IAAlB,UAAmB,KAAa;QAC9B,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;KACF;;;;IAED,+BAAQ;;;IAAR;KACC;;;;IAED,gCAAS;;;IAAT;QACE,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACpD;;gBAnCF,SAAS,SAAC;oBACT,QAAQ,EAAE,QAAQ;oBAClB,+YAAmC;;iBAEpC;;;;gBANO,mBAAmB;;;qBAQxB,KAAK;2BACL,KAAK;uBACL,KAAK;2BACL,KAAK;yBACL,KAAK;0BACL,KAAK;;IAyBR,mBAAC;CApCD,IAoCC;;;IA9BC,0BAAoB;;IACpB,gCAA0B;;IAC1B,4BAAsB;;IACtB,gCAA0B;;IAC1B,8BAAwB;;IACxB,+BAAwB;;;;;IAEZ,4CAAiD;;;;;;;AChB/D;IAQE;KACC;;gBAPF,SAAS,SAAC;oBACT,QAAQ,EAAE,SAAS;oBACnB,gFAAoC;;iBAErC;;;;IAKD,oBAAC;CATD;;;;;;ACFA;IAGE,oBAAY,QAAgB,EAAE,KAAa,EAAE,OAAe,EAAE,IAAa,EAAE,MAAe,EAAE,SAAkB,EAAE,IAAY,EAAE,SAAkB,EAAE,KAAa,EAAE,IAAY;QAC7K,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAClB;;;;IAaa,kBAAO;;;IAArB;QACE,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;KAC9F;IACH,iBAAC;CAAA,IAAA;;;IAdC,0BAAc;;IACd,4BAAgB;;IAChB,+BAAmB;;IACnB,8BAAiB;;IACjB,2BAAc;;IACd,6BAAgB;;IAChB,0BAAa;;IACb,+BAAmB;;IACnB,2BAAc;;IACd,0BAAa;;AAOf;IA0BE;QAzBQ,kBAAa,GAAqB,IAAI,OAAO,EAAE,CAAC;QACvC,sBAAiB,GAAwB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACpF,uBAAkB,GAAqB,IAAI,OAAO,EAAE,CAAC;QAC5C,2BAAsB,GAAwB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QAC9F,kBAAa,GAAqB,IAAI,OAAO,EAAE,CAAC;QACvC,UAAK,GAAwB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACxE,kBAAa,GAAqB,IAAI,OAAO,EAAE,CAAC;QACvC,UAAK,GAAwB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACxE,oBAAe,GAAqB,IAAI,OAAO,EAAE,CAAC;QACzC,wBAAmB,GAAwB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QACxF,mBAAc,GAAoB,IAAI,OAAO,EAAE,CAAC;QACvC,uBAAkB,GAAuB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACrF,qBAAgB,GAAoB,IAAI,OAAO,EAAE,CAAC;QACzC,yBAAoB,GAAuB,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QACzF,sBAAiB,GAAoB,IAAI,OAAO,EAAE,CAAC;QAC1C,0BAAqB,GAAuB,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAC3F,kBAAa,GAAoB,IAAI,OAAO,EAAE,CAAC;QACtC,sBAAiB,GAAuB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACnF,uBAAkB,GAAqB,IAAI,OAAO,EAAE,CAAC;QAC5C,2BAAsB,GAAwB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QAC9F,mBAAc,GAAoB,IAAI,OAAO,EAAE,CAAC;QACvC,uBAAkB,GAAuB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACrF,kBAAa,GAAoB,IAAI,OAAO,EAAE,CAAC;QACtC,sBAAiB,GAAuB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KAG1F;IAED,sBAAI,+CAAgB;;;;QAApB;YACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;SAC/B;;;OAAA;IAED,sBAAI,oDAAqB;;;;QAAzB;YACE,OAAO,IAAI,CAAC,sBAAsB,CAAC;SACpC;;;OAAA;IAED,sBAAI,gDAAiB;;;;QAArB;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC;SAChC;;;OAAA;IAED,sBAAI,kDAAmB;;;;QAAvB;YACE,OAAO,IAAI,CAAC,oBAAoB,CAAC;SAClC;;;OAAA;IAED,sBAAI,mDAAoB;;;;QAAxB;YACE,OAAO,IAAI,CAAC,qBAAqB,CAAC;SACnC;;;OAAA;IAED,sBAAI,+CAAgB;;;;QAApB;YACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;SAC/B;;;OAAA;IAED,sBAAI,mCAAI;;;;QAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;;;OAAA;IAED,sBAAI,mCAAI;;;;QAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;;;OAAA;IAED,sBAAI,iDAAkB;;;;QAAtB;YACE,OAAO,IAAI,CAAC,mBAAmB,CAAC;SACjC;;;OAAA;IAED,sBAAI,oDAAqB;;;;QAAzB;YACE,OAAO,IAAI,CAAC,sBAAsB,CAAC;SACpC;;;OAAA;IAED,sBAAI,gDAAiB;;;;QAArB;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC;SAChC;;;OAAA;IAED,sBAAI,+CAAgB;;;;QAApB;YACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;SAC/B;;;OAAA;;;;;IAEM,sCAAoB;;;;IAA3B,UAA4B,GAAW;QACrC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAC,CAAA;KACxD;;;;IAEM,oCAAkB;;;IAAzB;QACE,OAAO;YACL,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACzC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;SAC3C,CAAC;KACH;;;;;IAEM,kCAAgB;;;;IAAvB,UAAwB,GAAW;QACjC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAC,CAAA;KACjD;;;;IAEM,gCAAc;;;IAArB;QAAA,iBASC;;YARO,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;YACnL,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC;;YAC5E,WAAW,GAAG,EAAE;QACtB,KAAK,CAAC,OAAO;;;;QAAC,UAAA,IAAI;YAChB,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;SAC/C,EAAC,CAAA;QAEF,OAAO,WAAW,CAAC;KACpB;;;;;IAED,gDAAoB;;;;IAApB,UAAqB,MAAc;QACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACrC;;;;;IAED,4CAAgB;;;;IAAhB,UAAiB,IAAa;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;;;;;IAED,iDAAqB;;;;IAArB,UAAsB,SAAkB;QACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;;;;IAED,gCAAI;;;IAAJ;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC3B;;;;IAED,gCAAI;;;IAAJ;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC3B;;;;;IAED,8CAAkB;;;;IAAlB,UAAmB,MAAe;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACnC;;;;;IAED,6CAAiB;;;;IAAjB,UAAkB,KAAa;QAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;;;;;IAED,+CAAmB;;;;IAAnB,UAAoB,OAAe;QACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrC;;;;;IAED,4CAAgB;;;;IAAhB,UAAiB,IAAY;QAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;;;;;IAED,iDAAqB;;;;IAArB,UAAsB,SAAkB;QACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;;;;;IAED,6CAAiB;;;;IAAjB,UAAkB,KAAa;QAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;;;;;IAED,4CAAgB;;;;IAAhB,UAAiB,IAAY;QAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;IACH,wBAAC;CAAA,IAAA;;;;;;IA5JC,0CAAwD;;;;;IACxD,8CAA4F;;;;;IAC5F,+CAA6D;;;;;IAC7D,mDAAsG;;;;;IACtG,0CAAwD;;;;;IACxD,kCAAgF;;;;;IAChF,0CAAwD;;;;;IACxD,kCAAgF;;;;;IAChF,4CAA0D;;;;;IAC1D,gDAAgG;;;;;IAChG,2CAAwD;;;;;IACxD,+CAA6F;;;;;IAC7F,6CAA0D;;;;;IAC1D,iDAAiG;;;;;IACjG,8CAA2D;;;;;IAC3D,kDAAmG;;;;;IACnG,0CAAuD;;;;;IACvD,8CAA2F;;;;;IAC3F,+CAA6D;;;;;IAC7D,mDAAsG;;;;;IACtG,2CAAwD;;;;;IACxD,+CAA6F;;;;;IAC7F,0CAAuD;;;;;IACvD,8CAA2F;;;;;;;ACxD7F;IAEM,cAAc,GAAG;IACrB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;CAC7G;AAED;IAYE;QANS,WAAM,GAAG,KAAK,CAAC;QACd,kBAAa,GAAG,IAAI,YAAY,EAAU,CAAC;QAC3C,iBAAY,GAAG,IAAI,YAAY,EAAW,CAAC;QACrD,WAAM,GAAQ,cAAc,CAAC;QAC7B,UAAK,GAAG,SAAS,CAAC;KAGjB;;;;IAED,uCAAQ;;;IAAR;KACC;;;;;;IAED,qCAAM;;;;;IAAN,UAAO,MAAM,EAAE,KAAa;QAC1B,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;;;;IAED,oCAAK;;;IAAL;QACE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;;gBA3BF,SAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,ycAA4C;;iBAE7C;;;;;yBAEE,KAAK;gCACL,MAAM;+BACN,MAAM;;IAoBT,2BAAC;CA5BD,IA4BC;;;IAtBC,sCAAwB;;IACxB,6CAAqD;;IACrD,4CAAqD;;IACrD,sCAA6B;;IAC7B,qCAAkB;;;;;;;;ICjBuBD,yCAAiB;IAE1D;eACE,iBAAO;KACR;;gBAPF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;;gCALD;CAWC,CAL0C,iBAAiB;;;;;;ACN5D;IAEA;QAKE,SAAI,GAAe,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KAyBpF;;;;IAvBC,2CAAgB;;;IAAhB;QACE,IAAG,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAG,CAAC;SACrC;KACF;;;;IAED,2CAAgB;;;IAAhB;;YACQ,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE;QACvC,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC1C;KACF;;;;;;IAEO,uCAAY;;;;;IAApB,UAAqB,SAAS;;YACtB,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE;QACjC,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;KACtC;;;;IAED,2CAAgB;;;IAAhB;QACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;;gBA7BF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;2BAJD;CAEA,IA8BC;;;IA1BC,qCAAiB;;IACjB,gCAAmF;;;;;;;ACPrF;IAIMC,GAAC,GAAG,MAAM;AAChB;IAkBE,6BAAoB,kBAAqC,EACrC,sBAA6C,EAC7C,iBAAmC;QAFnC,uBAAkB,GAAlB,kBAAkB,CAAmB;QACrC,2BAAsB,GAAtB,sBAAsB,CAAuB;QAC7C,sBAAiB,GAAjB,iBAAiB,CAAkB;QAb/C,SAAI,GAAG,KAAK,CAAC;QACb,WAAM,GAAG,KAAK,CAAC;QACf,cAAS,GAAG,KAAK,CAAC;QAIlB,cAAS,GAAG,KAAK,CAAC;QAGlB,SAAI,GAAG,KAAK,CAAC;QAKnB,IAAI,CAAC,IAAI,gBAAe,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KACzF;;;;IAEwB,qCAAO;;;IAAhC;QAEE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;;QAG7B,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,EAAE;YAClC,IAAI,CAAC,OAAO,GAAGA,GAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;SACjG;QACD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrE,IAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAC;YACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzD;;;;;IAEO,0CAAY;;;;IAApB;;YACM,KAAK,GAAG,EAAE;QACd,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC;QACvE,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;QACnE,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;QACnE,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC;QACrE,OAAO,KAAK,CAAC;KACd;;;;;IAEO,uCAAS;;;;IAAjB;;YACM,IAAI,GAAG,EAAE;QACb,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;QAC9E,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;QAC1E,OAAO,IAAI,CAAC;KACb;;;;IAED,4CAAc;;;IAAd;;YACM,WAAW;;YAAE,GAAG;QACpB,IAAI,MAAM,CAAC,YAAY,EAAE;YACvB,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,UAAU,EAAE;gBAClB,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;;gBAExD,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE;oBAC9B,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;iBACtC;aACF;SACF;aAAM,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;YACpE,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;SACjD;QAED,IAAI,WAAW,EAAE;YACf,OAAO,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;SAC/F;KACF;;;;;;IAED,sDAAwB;;;;;IAAxB,UAAyB,EAAE,EAAE,QAAQ;QACnC,IAAI,MAAM,CAAC,gBAAgB,EAAE;YAC3B,OAAO,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;SACpD;aAAM,IAAI,EAAE,CAAC,YAAY,EAAE;YAC1B,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAClC;KACF;;;;IAED,sCAAQ;;;IAAR;QAAA,iBAgDC;QA/CC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS;;;QAAC;YACrC,KAAI,CAAC,UAAU,EAAE,CAAC;SACnB,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS;;;QAAC;YACrC,KAAI,CAAC,UAAU,EAAE,CAAC;SACnB,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS;;;;QAAC,UAAC,IAAa;YAC/D,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,KAAI,CAAC,UAAU,EAAE,CAAC;SACnB,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS;;;;QAAC,UAAC,SAAkB;YACzE,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,KAAI,CAAC,eAAe,EAAE,CAAC;SACxB,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,SAAS;;;;QAAC,UAAC,MAAe;YACnE,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,KAAI,CAAC,YAAY,EAAE,CAAC;SACrB,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS;;;;QAAE,UAAC,KAAa;YACjE,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACtB,GAAE,CAAC;QACJ,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,SAAS;;;;QAAE,UAAC,OAAe;YACrE,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC1B,GAAE,CAAC;QACJ,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,SAAS;;;;QAAE,UAAC,QAAgB;YACvE,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC5B,GAAE,CAAC;QAEJ,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS;;;;QAAE,UAAC,IAAY;YAC/D,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpB,GAAE,CAAC;QACJ,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS;;;;QAAC,UAAC,SAAkB;YACzE,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,KAAI,CAAC,eAAe,EAAE,CAAC;SACxB,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS;;;;QAAC,UAAC,KAAa;YAChE,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;SAC9B,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS;;;;QAAC,UAAC,IAAY;;gBACxD,MAAM,GAAG,KAAI,CAAC,IAAI,KAAK,IAAI;YACjC,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACpC,EAAC,CAAC;KACJ;;;;;IAEO,wCAAU;;;;IAAlB;QACE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;IAEO,6CAAe;;;;IAAvB;QACE,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;IAEO,0CAAY;;;;IAApB;QACE,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;;IAEO,wCAAU;;;;;IAAlB,UAAmB,OAAe;QAChC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;;IAEO,sCAAQ;;;;;IAAhB,UAAiB,KAAa;QAC5B,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;;IAEO,yCAAW;;;;;IAAnB,UAAoB,QAAgB;QAClC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE;;gBAClC,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;gBAChK,QAAQ,CAAC,YAAY,EAAE,GAAG,SAAS;YACrC,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;aAC1C;YACD,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;aAC1C;YACD,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;aAC1C;YACD,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;aACpD;YACD,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;SACvD;aAAM;YACL,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SAC9C;QACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;IAEO,wCAAU;;;;IAAlB;QACE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KAC9B;;;;;IAEO,wCAAU;;;;IAAlB;QACE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KAC9B;;;;;;IAEO,qCAAO;;;;;IAAf,UAAgB,IAAY;QAC1B,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;IAEO,6CAAe;;;;IAAvB;QACE,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;;IAEO,yCAAW;;;;;IAAnB,UAAoB,KAAa;QAC/B,IAAG,IAAI,CAAC,IAAI,EAAE;YACZ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO;SACR;QACD,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,QAAQ,KAAK;YACX,KAAK,QAAQ;gBACX,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,MAAM;gBACT,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,MAAM;gBACT,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBACrC,MAAM;SACT;QACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;;IAEO,2CAAa;;;;;IAArB,UAAsB,KAAa;QACjC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;QACzC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;;YACnC,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU;QACvE,IAAG,KAAK,KAAK,MAAM,EAAC;YAClB,KAAK,GAAG,SAAS,CAAC;SACnB;QACDA,GAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;KAC1C;;;;;;;IAEO,wCAAU;;;;;;IAAlB,UAAmB,IAAY,EAAE,MAAe;QAC9C,QAAQ,IAAI;YACV,KAAK,WAAW;gBACd,QAAQ,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,SAAS;gBACZ,QAAQ,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;gBAClD,MAAM;SACT;QACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;gBAjQF,SAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;iBAC3B;;;;gBARO,iBAAiB;gBACjB,qBAAqB;gBAGrB,gBAAgB;;;0BAwBrB,YAAY,SAAC,SAAS;;IA4OzB,0BAAC;CAlQD,IAkQC;;;;;;IA7PC,mCAAqB;;;;;IACrB,qCAAuB;;;;;IACvB,wCAA0B;;;;;IAC1B,oCAAsB;;;;;IACtB,sCAAwB;;;;;IACxB,mCAAqB;;;;;IACrB,wCAA0B;;;;;IAC1B,oCAAsB;;;;;IACtB,mCAAqB;;;;;IACrB,mCAAqB;;;;;IAET,iDAA6C;;;;;IAC7C,qDAAqD;;;;;IACrD,gDAA2C;;;;;;;ACzBzD;IASE;KAAiB;;;;IAEjB,wCAAQ;;;IAAR;KACC;;gBAVF,SAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,wcAA6C;;iBAE9C;;;;IAQD,4BAAC;CAZD;;;;;;ACFA;IAUE;QAHQ,cAAS,GAAoB,IAAI,OAAO,EAAE,CAAC;QAClC,iBAAY,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KAGjF;IAED,sBAAI,qCAAQ;;;;QAAZ;YACE,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;;;OAAA;IAED,sBAAI,wCAAW;;;;QAAf;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;SAC1B;;;OAAA;;gBAhBF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;;0BALD;CAGA,IAkBC;;;;;;IAdC,oCAAmD;;;;;IACnD,uCAAkF;;;;;;;ACRpF;IAYE,yBAAoB,iBAAmC,EAAU,YAA6B;QAA1E,sBAAiB,GAAjB,iBAAiB,CAAkB;QAAU,iBAAY,GAAZ,YAAY,CAAiB;QAFtF,SAAI,GAAwB,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KAGnG;;;;;IAGM,iCAAO;;;;IADd,UACe,KAAK;QAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,IAAG,IAAI,CAAC,IAAI,EAAC;YACX,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;SACF;KACF;;;;;IAGM,sCAAY;;;;IADnB,UACoB,KAAK;QACvB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;;QAE1C,IAAG,IAAI,CAAC,IAAI,EAAC;YACX,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;SACpE;KACF;;;;;IAGM,gCAAM;;;;IADb,UACc,KAAK;QACjB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;;gBACjB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;SACpE;KACF;;gBAzCF,SAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;iBACvB;;;;gBALO,gBAAgB;gBAChB,eAAe;;;uBAMpB,KAAK;0BAOL,YAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;+BAWhC,YAAY,SAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;yBASrC,YAAY,SAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;;IAWlC,sBAAC;CA1CD,IA0CC;;;IAtCC,+BAAmB;;;;;IAEnB,+BAAoG;;;;;IAExF,4CAA2C;;;;;IAAE,uCAAqC;;;;;;;ACZhG;IAWE;QALA,qBAAgB,GAA0B,IAAI,YAAY,EAAW,CAAC;QAE9D,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAuB,EAAE,CAAC;QAGxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KACzC;;;;;IAED,2CAAc;;;;IAAd,UAAe,GAAqB;;YAC5B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI;;;;QAAC,UAAA,CAAC,IAAI,OAAA,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAA,EAAC;QACzD,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;KACF;;;;;IAED,4CAAe;;;;IAAf,UAAgB,GAAqB;;YAC7B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAChC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;;;;;IAEO,mCAAM;;;;IAAd;QACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;KACxD;;gBAjCF,UAAU;;;;IAkCX,yBAAC;CAlCD,IAkCC;;;IAhCC,8CAAsE;;;;;IAEtE,sCAAsB;;;;;IACtB,sCAA0C;;;;;;;ACT5C;IAYE,8BAAoB,mBAAuC;QAAvC,wBAAmB,GAAnB,mBAAmB,CAAoB;QAFlD,gBAAW,GAAG,KAAK,CAAC;KAG5B;;;;IAED,uCAAQ;;;IAAR;KACC;;;;IAED,8CAAe;;;IAAf;QAAA,iBAIC;QAHC,IAAI,CAAC,mBAAmB;aACrB,gBAAgB;aAChB,SAAS;;;;QAAC,UAAC,OAAgB,IAAK,OAAA,KAAI,CAAC,WAAW,GAAG,OAAO,GAAA,EAAC,CAAC;KAChE;;gBAnBF,SAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,mPAA4C;;iBAE7C;;;;gBANO,kBAAkB;;;8BASvB,KAAK;;IAaR,2BAAC;CApBD,IAoBC;;;IAbC,2CAA6B;;;;;IAEjB,mDAA+C;;;;;;;ACZ7D;IAWE,uCAAoB,mBAAuC;QAAvC,wBAAmB,GAAnB,mBAAmB,CAAoB;KAC1D;;;;;;IAED,iDAAS;;;;;IAAT,UAAU,GAAqB,EAAE,IAAiB;QAAlD,iBAIC;QAHC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;;YACvC,QAAQ;;;QAAG,cAAM,OAAA,KAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,GAAG,CAAC,GAAA,CAAA;QACpE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAE,QAAQ,CAAE,QAAQ,CAAC,CAAC,CAAC;KACpD;;gBAZF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBAJO,kBAAkB;;;wCAJ1B;CAMA,IAaC;;;;;;IARa,4DAA+C;;;;;;;ACX7D;IAaM,mBAAmB,GAAG;IAC1B,MAAM,EAAG;QACP,KAAK,EAAE,MAAM;KACd;IACD,IAAI,EAAG;QACL,KAAK,EAAE,MAAM;KACd;IACD,KAAK,EAAG;QACN,KAAK,EAAE,OAAO;KACf;CACF;;IAEK,iBAAiB,GAAG;IACxB,MAAM,EAAG;QACP,GAAG,EAAG,KAAK;KACZ;IACD,GAAG,EAAG;QACJ,GAAG,EAAG,OAAO;QACb,KAAK,EAAE,MAAM;KACd;IACD,MAAM,EAAG;QACP,GAAG,EAAE,OAAO;KACb;CACF;;;;AAKD;IASE,iCAAgE,QAAQ;QAAxE,iBAA4E;QAAZ,aAAQ,GAAR,QAAQ,CAAA;QADxE,UAAK;;;;QAAG,UAAC,KAAU,IAAK,OAAA,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAA,EAAC;KACwB;;gBAT7E,SAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ,EAAE,2BAA2B;oBAErC,aAAa,EAAG,iBAAiB,CAAC,IAAI;;iBACvC;;;;gDAIc,MAAM,SAAC,UAAU;;;wBAAC,cAAM,OAAA,iBAAiB,GAAA,EAAC;;;wBAFtD,YAAY,SAAC,OAAO,EAAC,CAAC,QAAQ,CAAC;;IAGlC,8BAAC;CAVD,IAUC;;;IAHC,wCACoD;;IACxC,2CAA4D;;;;;AAM1E;IAoBE,gCAAgE,QAAQ;QAAR,aAAQ,GAAR,QAAQ,CAAA;KAAI;IAZ5E,sBAAI,mDAAe;;;;QAAnB;YACE,OAAO,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SAClE;;;OAAA;IAED,sBAAI,iDAAa;;;;QAAjB;YACE,OAAO,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SAC9D;;;OAAA;IAED,sBAAI,0CAAM;;;;QAAV;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;SAC3B;;;OAAA;;;;;IAID,+CAAc;;;;IAAd,UAAe,KAAa;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;KACzB;;gBAxBF,SAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,iMAAiM;oBAE3M,aAAa,EAAG,iBAAiB,CAAC,IAAI;;iBACvC;;;;gDAec,MAAM,SAAC,UAAU;;;wBAAC,cAAM,OAAA,iBAAiB,GAAA,EAAC;;IAKzD,6BAAC;CAzBD,IAyBC;;;IALa,0CAA4D;;;;;AAU1E;IAeE,+BAAgE,QAAQ;QAAxE,iBAA4E;QAAZ,aAAQ,GAAR,QAAQ,CAAA;QARxE,UAAK,GAAG,gBAAgB,CAAC;QAGzB,aAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAG9B,UAAK;;;QAAG,cAAM,OAAA,KAAI,CAAC,WAAW,EAAE,GAAA,EAAC;KAE2C;;;;IAE5E,2CAAW;;;IAAX;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;KACvB;;gBApBF,SAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,QAAQ,EAAE,6DAA6D;;iBAExE;;;;gDAWc,MAAM,SAAC,UAAU;;;wBAAC,cAAM,OAAA,iBAAiB,GAAA,EAAC;;;wBATtD,WAAW,SAAC,OAAO;2BAGnB,MAAM;wBAGN,YAAY,SAAC,OAAO;;IASvB,4BAAC;CArBD,IAqBC;;;IAfC,sCACyB;;IAEzB,yCAC8B;;IAE9B,sCACiC;;IAErB,yCAA4D;;;;;AAW1E;IAAA;QAQE,cAAS,GAAG;YACV,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,QAAQ;SACZ,CAAC;QAKF,SAAI,GAAG,KAAK,CAAC;QAGb,UAAK,GAAG,WAAW,CAAC;KAerB;;;;IAbC,iCAAK;;;IAAL;QACE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;;;;;IAED,kCAAM;;;;IAAN,UAAO,KAAkB;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;KACvB;;;;IAED,wCAAY;;;IAAZ;QACE,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;;gBAjCF,SAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,QAAQ,EAAE,wDAAwD;oBAElE,aAAa,EAAG,iBAAiB,CAAC,IAAI;;iBACvC;;;4BAEE,KAAK;uBAOL,KAAK,YACL,WAAW,SAAC,YAAY;wBAGxB,WAAW,SAAC,OAAO;;IAgBtB,wBAAC;CAlCD,IAkCC;;;IA3BC,sCAIE;;IAGF,iCAEa;;IAEb,kCACoB;;;;;;;ACnItB;IAUE;QAFS,gBAAW,GAAG,KAAK,CAAC;KAG5B;;;;IAED,uCAAQ;;;IAAR;KACC;;gBAZF,SAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,mRAA6C;;iBAE9C;;;;;8BAEE,KAAK;;IAQR,2BAAC;CAdD,IAcC;;;IARC,2CAA6B;;;;;;;ACR/B;IASE;QAFU,gBAAW,GAAG,IAAI,YAAY,EAAW,CAAC;KAGnD;;;;IAGM,qCAAU;;;IADjB;QAEE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC7B;;;;IAGM,uCAAY;;;IADnB;QAEE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9B;;gBAlBF,SAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;iBACxB;;;;;8BAGE,MAAM;6BAKN,YAAY,SAAC,YAAY;+BAKzB,YAAY,SAAC,YAAY;;IAK5B,uBAAC;CApBD,IAoBC;;;IAfC,uCAAoD;;;;;;;ACPtD;IAYE,oCAAoB,gBAA0C,EAC1C,OAAuB;QADvB,qBAAgB,GAAhB,gBAAgB,CAA0B;QAC1C,YAAO,GAAP,OAAO,CAAgB;KAC1C;;;;;;IAED,wDAAmB;;;;;IAAnB,UAAoB,gBAAkC,EAAE,SAAc;QAAtE,iBASC;;YARO,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,SAAS,CAAC;;YAClE,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC;QAE9D,YAAY,CAAC,SAAS;;;QAAC;YACrB,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAChD,EAAC,CAAC;QAEH,OAAO,YAAY,CAAC;KACrB;;gBAlBF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBAPC,wBAAwB;gBADxB,cAAc;;;qCADhB;CAOA,IAoBC;;;;;;IAfa,sDAAkD;;;;;IAClD,6CAA+B;;;;;;;ACX7C;IAGE;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;;;;;IAED,4CAAG;;;;IAAH,UAAI,IAA0B;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;;;;QAAC,UAAU,CAAC;YACxC,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;SAC/B,EAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACvB;;;;;IAED,+CAAM;;;;IAAN,UAAO,IAA0B;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;;;;QAAC,UAAU,CAAC;YACxC,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;SAC/B,EAAC,CAAC;KACJ;;;;;IAED,6CAAI;;;;IAAJ,UAAK,KAAa;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI;;;;QAAC,UAAU,CAAC;YAChC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;SAC1B,EAAC,CAAC;KACJ;IACH,qCAAC;CAAA,IAAA;;;;;;IAxBC,+CAAsC;;;;;;;ACHxC;IASE,8BAAmB,gBAAkC,EACjC,eAA+C;QADhD,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,oBAAe,GAAf,eAAe,CAAgC;KAClE;;;;IAED,8CAAe;;;IAAf;QACE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAChC;;;;IAED,0CAAW;;;IAAX;QACE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;KAC/B;;gBAjBF,SAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;iBAC5B;;;;gBALmD,gBAAgB;gBAC5D,8BAA8B;;;wBAMnC,KAAK;;IAeR,2BAAC;CAnBD,IAmBC;;;IAfC,qCAAuB;;IAEX,gDAAyC;;;;;IACzC,+CAAuD;;;;;;;ACVrE;IAIMA,GAAC,GAAG,MAAM;AAEhB;IA6BE;QApBS,OAAE,GAAG,KAAK,CAAC;QACX,OAAE,GAAG,KAAK,CAAC;QACX,OAAE,GAAG,KAAK,CAAC;QACX,OAAE,GAAG,KAAK,CAAC;QAGpB,OAAE,GAAG,IAAI,CAAC;QACV,OAAE,GAAG,IAAI,CAAC;QACV,OAAE,GAAG,IAAI,CAAC;QACV,OAAE,GAAG,IAAI,CAAC;QAEA,YAAO,GAAG,IAAI,YAAY,EAAU,CAAC;QACrC,YAAO,GAAG,IAAI,YAAY,EAAU,CAAC;QACrC,cAAS,GAAG,IAAI,YAAY,EAAU,CAAC;QACvC,eAAU,GAAG,IAAI,YAAY,EAAU,CAAC;QACxC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QAExC,SAAI,GAAG,KAAK,CAAC;KAIpB;;;;IAED,2CAAe;;;IAAf;QAAA,iBAeC;;YAdO,IAAI,GAAGA,GAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;YACpC,IAAI,GAAGA,GAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;;gBAC3D,OAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI;;gBAC/C,QAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG;YAClD,OAAO,OAAK,IAAI,IAAI,CAAC,SAAS,IAAI,QAAM,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC3D,OAAK,GAAG,OAAK,GAAG,CAAC,CAAC;gBAClB,QAAM,GAAG,QAAM,GAAG,CAAC,CAAC;aACrB;YACD,UAAU;;;YAAC;gBACT,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAK,CAAC,CAAC;gBACzB,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAM,CAAC,CAAC;aAC3B,GAAE,GAAG,CAAC,CAAC;SACT;KACF;;;;IAED,oCAAQ;;;IAAR;KACC;;;;;IAED,mCAAO;;;;IAAP,UAAQ,MAAiB;;QAEvB,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,YAAY,EAAE;YACvB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;KACnD;;;;;;IAED,kCAAM;;;;;IAAN,UAAO,MAAiB,EAAE,EAAU;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,OAAO;SACR;;YACK,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC/C,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE;YACxC,OAAO;SACR;;YACK,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;;YACxC,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;QAC9C,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACtD;QACD,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACvD;QACD,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;KAC7B;;;;;;;;IAEO,sCAAU;;;;;;;IAAlB,UAAmB,QAAQ,EAAE,CAAU,EAAE,CAAU;;YAC3C,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;;YAC/E,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACrF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC5B;;;;;;IAED,+BAAG;;;;;IAAH,UAAI,MAAiB,EAAE,EAAU;;QAE/B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;;;;;IAED,iCAAK;;;;IAAL,UAAM,MAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACnB;;;;;IAED,gCAAI;;;;IAAJ,UAAK,MAAiB;QACpB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,MAAM,CAAC,cAAc,EAAE,CAAC;KACzB;;;;;;IAEO,wCAAY;;;;;IAApB,UAAqB,EAAU;QAC7B,OAAO,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;KACjC;;gBA3GF,SAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,y7CAAwC;;iBAEzC;;;;;uBAGE,KAAK;qBACL,KAAK;qBACL,KAAK;qBACL,KAAK;qBACL,KAAK;qBACL,KAAK;4BACL,KAAK;6BACL,KAAK;0BAML,MAAM;0BACN,MAAM;4BACN,MAAM;6BACN,MAAM;0BACN,MAAM;;IAoFT,wBAAC;CA5GD,IA4GC;;;IArGC,iCAAuB;;IACvB,+BAAoB;;IACpB,+BAAoB;;IACpB,+BAAoB;;IACpB,+BAAoB;;IACpB,+BAAoB;;IACpB,sCAA2B;;IAC3B,uCAA4B;;IAC5B,+BAAU;;IACV,+BAAU;;IACV,+BAAU;;IACV,+BAAU;;IAEV,oCAA+C;;IAC/C,oCAA+C;;IAC/C,sCAAiD;;IACjD,uCAAkD;;IAClD,oCAAgD;;;;;IAEhD,iCAAqB;;;;;IACrB,wCAA8C;;;;;;;;IC/BJD,0CAAmB;IAE7D;eACE,iBAAO;KACR;IACH,6BAAC;CALD,CAA4C,mBAAmB;;;;;;ACF/D;IAoBE,yBAAoB,oBAA4C,EAC5C,aAA2B,EAC3B,kBAA2C;QAF/D,iBASC;QATmB,yBAAoB,GAApB,oBAAoB,CAAwB;QAC5C,kBAAa,GAAb,aAAa,CAAc;QAC3B,uBAAkB,GAAlB,kBAAkB,CAAyB;QATtD,aAAQ,GAAG,KAAK,CAAC;QAEhB,cAAS,GAAG,IAAI,YAAY,EAAU,CAAC;QACxC,oBAAe,GAAG,CAAC,CAAC;QACtB,WAAM,GAAG,KAAK,CAAC;QACf,gBAAW,GAAG,KAAK,CAAC;QAKzB,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,SAAS;;;;QAAC,UAAC,KAAa;YAChE,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACzB;SACF,EAAC,CAAC;KACJ;;;;;;IAEO,oCAAU;;;;;IAAlB,UAAmB,KAAa;QAC9B,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE;YACrB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACzB;SACF;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;KACF;;;;IAED,kCAAQ;;;IAAR;KACC;;;;IAED,mCAAS;;;IAAT;QACE,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACnD,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;YACpE,OAAO;SACR;QACD,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACpD;;gBAjDF,SAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,6eAAuC;;iBAExC;;;;gBAPO,sBAAsB;gBACtB,YAAY;gBAFZ,uBAAuB;;;qBAU5B,KAAK;uBACL,KAAK;2BACL,KAAK;0BACL,KAAK;4BACL,MAAM;kCACN,KAAK;;IAwCR,sBAAC;CAnDD,IAmDC;;;IA7CC,6BAAoB;;IACpB,+BAAsB;;IACtB,mCAA0B;;IAC1B,kCAAyB;;IACzB,oCAAiD;;IACjD,0CAA6B;;IAC7B,iCAAsB;;IACtB,sCAA2B;;;;;IAEf,+CAAoD;;;;;IACpD,wCAAmC;;;;;IACnC,6CAAmD;;;;;;;ACtBjE;IAQMC,GAAC,GAAG,MAAM;AAEhB;IA6BE,2BAAoB,eAA+B,EAC/B,YAAyB,EACzB,cAA6B,EAC3B,WAAoC,EACtC,QAAmB;QAJvC,iBAqBC;QArBmB,oBAAe,GAAf,eAAe,CAAgB;QAC/B,iBAAY,GAAZ,YAAY,CAAa;QACzB,mBAAc,GAAd,cAAc,CAAe;QAC3B,gBAAW,GAAX,WAAW,CAAyB;QACtC,aAAQ,GAAR,QAAQ,CAAW;QApB9B,eAAU,GAAG,IAAI,CAAC;QAClB,iBAAY,GAAG,IAAI,CAAC;QAEnB,gBAAW,GAAG,IAAI,YAAY,EAAU,CAAC;QACzC,YAAO,GAAG,IAAI,YAAY,EAAU,CAAC;QACrC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QACtC,cAAS,GAAG,IAAI,YAAY,EAAW,CAAC;QACxC,iBAAY,GAAG,IAAI,YAAY,EAAW,CAAC;QAC3C,aAAQ,GAAG,IAAI,YAAY,EAAU,CAAC;QAEhD,oBAAe,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;QACzD,gBAAW,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;QACjD,oBAAe,GAAG,KAAK,CAAC;QAUrB,eAAe,CAAC,OAAO,CAAC,SAAS;;;QAAC;YACjC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B,EAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC1C,cAAc,CAAC,QAAQ,CAAC,SAAS;;;;QAAC,UAAC,CAAC;YAClC,KAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;SAC3C,EAAC,CAAC;QAEH,YAAY,CAAC,UAAU,CAAC,SAAS;;;;QAAC,UAAC,GAAW;YAC5C,IAAI,KAAI,CAAC,QAAQ,EACjB;gBACE,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;aAC1B;SACF,EAAC,CAAC;KACJ;;;;IAED,oCAAQ;;;IAAR;KACC;;;;;IAED,0CAAc;;;;IAAd,UAAe,GAAW;;YAClB,GAAG,IAAI,MAAM,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;;YACxL,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI;QACtF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QACzH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;QACzG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;KAC7G;;;;;IAED,0CAAc;;;;IAAd,UAAe,MAAc;QAC3BA,GAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpCA,GAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,OAAO;;;QAAE;;gBACrB,YAAY,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;gBACvD,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;oBAChD,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBACxC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;iBAChD;aACF;SACF,EAAC,CAAC;KACJ;;;;;IAED,sCAAU;;;;IAAV,UAAW,MAAc;QACvB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACjC;;;;;IAED,6CAAiB;;;;IAAjB,UAAkB,MAAM;QACtB,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;KAC9C;;;;;IAED,uCAAW;;;;IAAX,UAAY,MAAc;QACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5B;;;;;IAED,sCAAU;;;;IAAV,UAAW,KAAK;QACd,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;;;;;IAED,wCAAY;;;;IAAZ,UAAa,KAAK;QAChB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACnC;;;;;IAED,2CAAe;;;;IAAf,UAAgB,KAAK;QACnB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;;;;;IAED,uCAAW;;;;IAAX,UAAY,MAAM;QAChB,IAAI,CAAC,eAAe,GAAG,CAAC,MAAM,CAAC;KAChC;;gBAlHF,SAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,8qDAAyC;;iBAE1C;;;;gBAXO,cAAc;gBAEb,WAAW;gBACX,aAAa;gBANkC,UAAU;gBAAE,SAAS;;;uBAgB1E,KAAK;2BACL,KAAK;uBACL,KAAK;uBACL,KAAK;yBACL,KAAK;4BACL,KAAK;wBACL,KAAK;6BACL,KAAK;+BACL,KAAK;8BAEL,MAAM;0BACN,MAAM;0BACN,MAAM;4BACN,MAAM;+BACN,MAAM;2BACN,MAAM;;IA8FT,wBAAC;CAnHD,IAmHC;;;IA7GC,iCAAuB;;IACvB,qCAA0B;;IAC1B,iCAAsB;;IACtB,iCAAuB;;IACvB,mCAAyB;;IACzB,sCAA4B;;IAC5B,kCAAuB;;IACvB,uCAA2B;;IAC3B,yCAA6B;;IAE7B,wCAAmD;;IACnD,oCAA+C;;IAC/C,oCAAgD;;IAChD,sCAAkD;;IAClD,yCAAqD;;IACrD,qCAAgD;;IAEhD,4CAAyD;;IACzD,wCAAiD;;IACjD,4CAAwB;;IAExB,qCAAkB;;;;;IAEN,4CAAuC;;;;;IACvC,yCAAiC;;;;;IACjC,2CAAqC;;;;;IACrC,wCAA8C;;;;;IAC9C,qCAA2B;;;;;;;AC3CzC;IAKA;KAGC;IAFe,sBAAa,GAAG,WAAW,CAAC;IAC5B,uBAAc,GAAG,YAAY,CAAC;IAC9C,eAAC;CAHD,IAGC;;;IAFC,uBAA0C;;IAC1C,wBAA4C;;AAG9C;IAoBE,8BAAoB,cAA6B,EAC7B,YAAyB,EACvB,WAAoC,EACtC,QAAmB;QAHvC,iBAeC;QAfmB,mBAAc,GAAd,cAAc,CAAe;QAC7B,iBAAY,GAAZ,YAAY,CAAa;QACvB,gBAAW,GAAX,WAAW,CAAyB;QACtC,aAAQ,GAAR,QAAQ,CAAW;QAjB9B,eAAU,GAAe,UAAU,CAAC,OAAO,EAAE,CAAC;QAG9C,SAAI,GAAG,KAAK,CAAC;QACb,gBAAW,GAAG,CAAC,CAAC;QAEf,qBAAgB,GAAG,IAAI,YAAY,EAAc,CAAC;QAClD,eAAU,GAAG,IAAI,YAAY,EAAW,CAAC;QACzC,aAAQ,GAAG,IAAI,YAAY,EAAW,CAAC;QACvC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QACtC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QAQ9C,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC1C,cAAc,CAAC,QAAQ,CAAC,SAAS;;;;QAAC,UAAC,CAAC;YAClC,KAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;SAC3C,EAAC,CAAC;QAEH,YAAY,CAAC,UAAU,CAAC,SAAS;;;;QAAC,UAAC,GAAW;YAC5C,IAAI,KAAI,CAAC,QAAQ,EACjB;gBACE,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aACvB;SACF,EAAC,CAAC;KACJ;;;;IAED,uCAAQ;;;IAAR;KACC;;;;;IAED,0CAAW;;;;IAAX,UAAY,GAAW;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,WAAW,EAAE,QAAQ,GAAG,CAAC,IAAE,GAAG,GAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;KACrI;;;;IAED,0CAAW;;;IAAX;QACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC7C;;;;;IAED,6CAAc;;;;IAAd,UAAe,MAAc;QAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC;QAClC,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;;;;IAED,yCAAU;;;;IAAV,UAAW,MAAc;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;;;;IAED,0CAAW;;;;IAAX,UAAY,MAAc;QACxB,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;;;;IAED,yCAAU;;;;IAAV,UAAW,MAAM;QACf,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;;;;IAED,2CAAY;;;;IAAZ,UAAa,MAAM;QACjB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QAChC,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;;;;IAED,8CAAe;;;;IAAf,UAAgB,MAAM;QACpB,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC;QACnC,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;;;IAED,yCAAU;;;IAAV;QACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;;;;IAED,yCAAU;;;IAAV;QACE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;;;;IAED,yCAAU;;;IAAV;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;;;;IAED,0CAAW;;;IAAX;QACE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,aAAa,CAAC;KACjD;;;;IAED,2CAAY;;;IAAZ;QACE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,cAAc,CAAC;KAClD;;;;IAED,yCAAU;;;IAAV;QACE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;;gBArGF,SAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,knDAA4C;;iBAE7C;;;;gBAZO,aAAa;gBACZ,WAAW;gBAH+C,UAAU;gBAArB,SAAS;;;6BAgB9D,KAAK;2BACL,KAAK;8BACL,KAAK;uBACL,KAAK;8BACL,KAAK;2BACL,KAAK;mCACL,MAAM;6BACN,MAAM;2BACN,MAAM;0BACN,MAAM;0BACN,MAAM;;IAsFT,2BAAC;CAtGD,IAsGC;;;IAhGC,0CAAuD;;IACvD,wCAA2B;;IAC3B,2CAA6B;;IAC7B,oCAAsB;;IACtB,2CAAyB;;IACzB,wCAA0B;;IAC1B,gDAA4D;;IAC5D,0CAAmD;;IACnD,wCAAiD;;IACjD,uCAAgD;;IAChD,uCAAgD;;IAEhD,wCAAkB;;;;;IAEN,8CAAqC;;;;;IACrC,4CAAiC;;;;;IACjC,2CAA8C;;;;;IAC9C,wCAA2B;;;;;;;ACjCzC;IA+EM,SAAS,GAAG,CAAC,aAAa;IAC9B,GAAG;IACH,YAAY;IACZ,WAAW;IACX,SAAS;IACT,QAAQ;IACR,KAAK;IACL,gBAAgB;IAChB,wBAAwB;IACxB,iBAAiB;IACjB,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,kBAAkB;IAClB,WAAW;IACX,uBAAuB;IACvB,eAAe;IACf,uBAAuB;IACvB,aAAa;IACb,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,qBAAqB;IACrB,cAAc;IACd,6BAA6B;IAC7B,kBAAkB;IAClB,mBAAmB;IACnB,0BAA0B;IAC1B,8BAA8B;IAC9B,sBAAsB;IACtB,gBAAgB,CAAC;AAEnB;IAyGE;QACE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACvB;;gBA3GF,QAAQ,SAAC;oBACR,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;oBAC9D,YAAY,EAAE;wBACZ,mBAAmB;wBACnB,kBAAkB;wBAClB,eAAe;wBACf,aAAa;wBACb,gBAAgB;wBAChB,cAAc;wBACd,yBAAyB;wBACzB,iBAAiB;wBACjB,sBAAsB;wBACtB,aAAa;wBACb,kBAAkB;wBAClB,gBAAgB;wBAChB,wBAAwB;wBACxB,iBAAiB;wBACjB,mBAAmB;wBACnB,uBAAuB;wBACvB,YAAY;wBACZ,mBAAmB;wBACnB,mBAAmB;wBACnB,aAAa;wBACb,eAAe;wBACf,uBAAuB;wBACvB,iBAAiB;wBACjB,kBAAkB;wBAClB,oBAAoB;wBACpB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,mBAAmB;wBACnB,uBAAuB;wBACvB,YAAY;wBACZ,aAAa;wBACb,oBAAoB;wBACpB,mBAAmB;wBACnB,qBAAqB;wBACrB,eAAe;wBACf,oBAAoB;wBACpB,iBAAiB;wBACjB,qBAAqB;wBACrB,sBAAsB;wBACtB,uBAAuB;wBACvB,oBAAoB;wBACpB,gBAAgB;wBAChB,oBAAoB;wBACpB,iBAAiB;wBACjB,eAAe;wBACf,iBAAiB;wBACjB,oBAAoB;qBACrB;oBACD,OAAO,EAAE;wBACP,mBAAmB;wBACnB,kBAAkB;wBAClB,eAAe;wBACf,aAAa;wBACb,gBAAgB;wBAChB,cAAc;wBACd,yBAAyB;wBACzB,iBAAiB;wBACjB,sBAAsB;wBACtB,aAAa;wBACb,kBAAkB;wBAClB,wBAAwB;wBACxB,iBAAiB;wBACjB,mBAAmB;wBACnB,gBAAgB;wBAChB,uBAAuB;wBACvB,mBAAmB;wBACnB,mBAAmB;wBACnB,eAAe;wBACf,iBAAiB;wBACjB,kBAAkB;wBAClB,oBAAoB;wBACpB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,mBAAmB;wBACnB,uBAAuB;wBACvB,YAAY;wBACZ,aAAa;wBACb,oBAAoB;wBACpB,mBAAmB;wBACnB,qBAAqB;wBACrB,oBAAoB;wBACpB,YAAY;wBACZ,iBAAiB;wBACjB,qBAAqB;wBACrB,sBAAsB;wBACtB,uBAAuB;wBACvB,aAAa;wBACb,uBAAuB;wBACvB,oBAAoB;wBACpB,gBAAgB;wBAChB,oBAAoB;wBACpB,iBAAiB;wBACjB,eAAe;wBACf,iBAAiB;wBACjB,oBAAoB;wBACpB,eAAe;wBACf,mBAAmB;qBAAG;oBACxB,SAAS,EAAE,SAAS;iBACrB;;;;IAKD,6BAAC;CA5GD;;;;;;;;;;;;;;"} \ 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 254d33fed..3e7ec9e34 100644 --- a/dist/libs/common-components/groupdocs.examples.angular-common-components.metadata.json +++ b/dist/libs/common-components/groupdocs.examples.angular-common-components.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"metadata":{"CommonComponentsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":108,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":109,"character":12},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":109,"character":26},{"__symbolic":"reference","module":"ng-click-outside","name":"ClickOutsideModule","line":109,"character":45}],"declarations":[{"__symbolic":"reference","name":"TopToolbarComponent"},{"__symbolic":"reference","name":"SidePanelComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"LogoComponent"},{"__symbolic":"reference","name":"TooltipComponent"},{"__symbolic":"reference","name":"ModalComponent"},{"__symbolic":"reference","name":"BrowseFilesModalComponent"},{"__symbolic":"reference","name":"DocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"DisabledCursorDirective"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"EditorDirective"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"}],"exports":[{"__symbolic":"reference","name":"TopToolbarComponent"},{"__symbolic":"reference","name":"SidePanelComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"LogoComponent"},{"__symbolic":"reference","name":"TooltipComponent"},{"__symbolic":"reference","name":"ModalComponent"},{"__symbolic":"reference","name":"BrowseFilesModalComponent"},{"__symbolic":"reference","name":"DocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"}],"providers":[{"__symbolic":"reference","name":"ConfigService"},{"__symbolic":"reference","name":"Api"},{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"FileService"},{"__symbolic":"reference","name":"FileModel"},{"__symbolic":"reference","name":"FileUtil"},{"__symbolic":"reference","name":"Utils"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"UploadFilesService"},{"__symbolic":"reference","name":"RenderPrintService"},{"__symbolic":"reference","name":"NavigateService"},{"__symbolic":"reference","name":"PagePreloadService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"ExceptionMessageService"},{"__symbolic":"reference","name":"PasswordService"},{"__symbolic":"reference","name":"ErrorInterceptorService"},{"__symbolic":"reference","name":"SearchService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ViewportService"},{"__symbolic":"reference","name":"FormattingService"},{"__symbolic":"reference","name":"BackFormattingService"},{"__symbolic":"reference","name":"OnCloseService"},{"__symbolic":"reference","name":"LoadingMaskInterceptorService"},{"__symbolic":"reference","name":"LoadingMaskService"},{"__symbolic":"reference","name":"TabActivatorService"},{"__symbolic":"reference","name":"AddDynamicComponentService"},{"__symbolic":"reference","name":"HostingDynamicComponentService"},{"__symbolic":"reference","name":"TopTabActivatorService"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Api":{"__symbolic":"class","members":{},"statics":{"VIEWER_APP":"/viewer","SIGNATURE_APP":"/signature","ANNOTATION_APP":"/annotation","SEARCH_APP":"/search","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","METADATA_APP":"/metadata","DEFAULT_API_ENDPOINT":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"window"},"member":"location"},"member":"href"},"LOAD_FILE_TREE":"/loadFileTree","LOAD_CONFIG":"/loadConfig","LOAD_DOCUMENT_DESCRIPTION":"/loadDocumentDescription","LOAD_DOCUMENT_PAGE":"/loadDocumentPage","LOAD_DOCUMENT_PROPERTIES":"/loadProperties","LOAD_DOCUMENT_PROPERTIES_NAMES":"/loadPropertiesNames","SAVE_PROPERTY":"/saveProperty","REMOVE_PROPERTY":"/removeProperty","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","CREATE_FILE":"/createFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","REMOVE_FROM_INDEX":"/removeFromIndex","GET_FILE_STATUS":"/getFileStatus","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","SEARCH":"/search","ADD_FILES_TO_INDEX":"/addFilesToIndex","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":47,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":52,"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":59,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getMetadataApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__symbolic":"method"}],"getSearchApiEndpoint":[{"__symbolic":"method"}]}},"CommonModals":{"__symbolic":"class","members":{},"statics":{"PasswordRequired":"gd-password-required","ErrorMessage":"gd-error-message","BrowseFiles":"gd-browse-files","CreateDocument":"gd-create-document","OperationSuccess":"gd-success-modal","DrawHandSignature":"gd-draw-hand-signature","DrawStampSignature":"gd-draw-stamp-signature","InformationMessage":"gd-information-message"}},"ModalService":{"__symbolic":"class","members":{"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"PageModel":{"__symbolic":"class","members":{}},"RotatedPage":{"__symbolic":"class","members":{}},"FileCredentials":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"SaveFile":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FileCredentials"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"FileDescription":{"__symbolic":"class","members":{}},"FileModel":{"__symbolic":"class","members":{}},"HttpError":{"__symbolic":"class","members":{},"statics":{"BadRequest":400,"Unauthorized":401,"Forbidden":403,"NotFound":404,"TimeOut":408,"Conflict":409,"InternalServerError":500}},"Utils":{"__symbolic":"class","members":{}},"FileUtil":{"__symbolic":"class","members":{},"statics":{"map":{"folder":{"format":"","icon":"folder","$quoted$":["format","icon"]},"pdf":{"format":"Portable Document Format","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"doc":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"docx":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"docm":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dot":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dotx":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dotm":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xls":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsx":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsm":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsb":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xls2003":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xltx":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xltm":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"ppt":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pptx":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pps":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ppsx":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"vsd":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vdx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vss":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vsx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vst":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vtx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vsdx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vdw":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vstx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vssx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"mpp":{"format":"Microsoft Project","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"mpt":{"format":"Microsoft Project","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"msg":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"eml":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"emlx":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"one":{"format":"Microsoft OneNote","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"odt":{"format":"Open Document Text","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"ott":{"format":"Open Document Text Template","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"ods":{"format":"Open Document Spreadsheet","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"odp":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"otp":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ots":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"potx":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"potm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pptm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ppsm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"rtf":{"format":"Rich Text Format","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"txt":{"format":"Plain Text File","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"csv":{"format":"Comma-Separated Values","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"html":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"mht":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"mhtml":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xml":{"format":"Extensible Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xps":{"format":"XML Paper Specification","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dxf":{"format":"AutoCAD Drawing File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"dwg":{"format":"AutoCAD Drawing File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"bmp":{"format":"Bitmap Picture","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"gif":{"format":"Graphics Interchange Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpg":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpe":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpeg":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jfif":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"png":{"format":"Portable Network Graphics","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"tiff":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"tif":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"psd":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"svg":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jp2":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"epub":{"format":"Electronic Publication","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"ico":{"format":"Windows Icon","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"webp":{"format":"Compressed Image","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"mobi":{"format":"Mobipocket eBook","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"tex":{"format":"LaTeX Source Document","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"djvu":{"format":"Multi-Layer Raster Image","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"unknown":{"format":"This format is not supported","icon":"file","$quoted$":["format","icon"]},"$quoted$":["folder","pdf","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown"]}}},"FileService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"UploadFilesService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeFilesList":[{"__symbolic":"method"}]}},"SanitizeHtmlPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"safeHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"SanitizeResourceHtmlPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":13,"character":1},"arguments":[{"name":"safeResourceHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"SanitizeStylePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":23,"character":1},"arguments":[{"name":"safeStyle"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"HighlightSearchPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":33,"character":1},"arguments":[{"name":"highlight"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"NavigateService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PagePreloadService"}]}],"nextPage":[{"__symbolic":"method"}],"prevPage":[{"__symbolic":"method"}],"toLastPage":[{"__symbolic":"method"}],"toFirstPage":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"PagePreloadService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeLastPageInView":[{"__symbolic":"method"}]}},"ZoomService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeZoom":[{"__symbolic":"method"}],"createZoomOption":[{"__symbolic":"method"}],"zoomOptions":[{"__symbolic":"method"}]}},"RenderPrintService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changePages":[{"__symbolic":"method"}],"changeBlob":[{"__symbolic":"method"}]}},"ErrorInterceptorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"intercept":[{"__symbolic":"method"}]},"statics":{"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":20,"character":1},"arguments":[{"selector":"gd-document","template":"
Please wait...
\n
\n
\n
\n \n
\n
\n \n
\n","styles":[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"selectedPage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"onpan":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":53,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"ifPresentation":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"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"}],"isVisible":[{"__symbolic":"method"}]}},"ErrorModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-error-modal","template":"\n
\n \n
\n
Something went wrong
\n
{{message ? message : 'Server is not available'}}
\n
\n
\n
\n","styles":[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"InitStateComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-init-state","template":"
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\n","styles":[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],"members":{"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"fileDropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"dropped":[{"__symbolic":"method"}]}},"LogoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-logo","template":"
\n \n \n
\n\n","styles":[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],"members":{"logo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-modal","template":"
\n
\n
\n
\n\n
\n
×
\n

{{title}}

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

Drag & Drop your files here

\n

OR

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

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n","styles":[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display: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"]}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"character":3},"arguments":["style.height"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":18,"character":3},"arguments":["style.min-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":21,"character":92}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setStyles":[{"__symbolic":"method"}],"getScrollWidth":[{"__symbolic":"method"}],"getScrollHeight":[{"__symbolic":"method"}],"resizePages":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SelectionService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"restoreSelection":[{"__symbolic":"method"}],"captureSelection":[{"__symbolic":"method"}],"putSelection":[{"__symbolic":"method"}],"refreshSelection":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"OnCloseService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"close":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"LoadingMaskService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"onRequestStart":[{"__symbolic":"method"}],"onRequestFinish":[{"__symbolic":"method"}],"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}.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;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"tabTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TabActivatorService"}]}],"activation":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"selectTab":[{"__symbolic":"method"}]}},"TabbedToolbarsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabbed-toolbars","template":"
\r\n \r\n \r\n
\r\n","styles":[".top-panel{background:#3e4e5a;display: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":10,"character":1},"arguments":[{"selector":"gd-context-menu","template":"
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","styles":[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display: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:-42px;transform-origin:bottom center}}"]}]}],"members":{"formatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"textMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"topPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"lock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"translation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"menuType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"changeFormatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"removeItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"copySign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"lockOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"comment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":32,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/context-menu/context-menu.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":33,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"changeScale":[{"__symbolic":"method"}],"saveChanges":[{"__symbolic":"method"}],"selectFontSize":[{"__symbolic":"method"}],"selectFont":[{"__symbolic":"method"}],"selectColor":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"deleteItem":[{"__symbolic":"method"}],"toggleLock":[{"__symbolic":"method"}],"onCopySign":[{"__symbolic":"method"}],"isSignature":[{"__symbolic":"method"}],"isAnnotation":[{"__symbolic":"method"}],"addComment":[{"__symbolic":"method"}]}},"TextMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"gd-text-menu","template":"
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n","styles":["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display: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;left:0;right:0;width:inherit;height:60px;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important}}"]}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"fontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"font":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"bold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"italic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"decoration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"showTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"outFontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"outFont":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"outBold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"outItalic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"outUnderline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"outColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":42,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/text-menu/text-menu.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":43,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"changePosition":[{"__symbolic":"method"}],"selectFontSize":[{"__symbolic":"method"}],"selectFont":[{"__symbolic":"method"}],"toggleColorPicker":[{"__symbolic":"method"}],"selectColor":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"closePicker":[{"__symbolic":"method"}]}},"ExcelPageService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getUpdatedPage":[{"__symbolic":"method"}],"getPageWithoutHeader":[{"__symbolic":"method"}],"createHeader":[{"__symbolic":"method"}],"colName":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabs","template":"
\r\n \r\n
\r\n","styles":[".gd-tabs{display:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdTooltip]"}]}],"members":{"showToolTip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"onHovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["mouseenter"]}]}],"onUnhovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":17,"character":3},"arguments":["mouseleave"]}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"gd-resizing","template":"
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n","styles":[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],"members":{"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"se":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"ne":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"sw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"nw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"pageWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"pageHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"offsetY":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"offsetTop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"offsetLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"release":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"catchUp":[{"__symbolic":"method"}],"resize":[{"__symbolic":"method"}],"setOffsets":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"getElementId":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"gd-top-tab","template":"
\r\n \r\n \r\n
\r\n","styles":[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display: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","ExcelDocumentComponent":"./lib/excel-document/excel-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","ExcelPageComponent":"./lib/excel-page/excel-page.component","PasswordRequiredComponent":"./lib/password-required/password-required.component","RenderPrintDirective":"./lib/render-print.directive","RotationDirective":"./lib/rotation.directive","ScrollableDirective":"./lib/scrollable.directive","MouseWheelDirective":"./lib/mousewheel.directive","SearchService":"./lib/search.service","SearchComponent":"./lib/search/search.component","SearchableDirective":"./lib/searchable.directive","Option":"./lib/select/select.component","SelectComponent":"./lib/select/select.component","TooltipComponent":"./lib/tooltip/tooltip.component","TopToolbarComponent":"./lib/top-toolbar/top-toolbar.component","SidePanelComponent":"./lib/side-panel/side-panel.component","UploadFileZoneComponent":"./lib/upload-file-zone/upload-file-zone.component","ZoomDirective":"./lib/zoom.directive","SelectionService":"./lib/selection.service","OnCloseService":"./lib/on-close.service","LoadingMaskService":"./lib/loading-mask.service","LoadingMaskInterceptorService":"./lib/loading-mask-interceptor.service","FormattingDirective":"./lib/formatting.directive","Formatting":"./lib/formatting.service","FormattingService":"./lib/formatting.service","BackFormattingService":"./lib/back-formatting.service","EditorDirective":"./lib/editor.directive","EditHtmlService":"./lib/edit-html.service","ColorPickerComponent":"./lib/color-picker/color-picker.component","LoadingMaskComponent":"./lib/loading-mask/loading-mask.component","SuccessModalComponent":"./lib/success-modal/success-modal.component","TabComponent":"./lib/tab/tab.component","TabbedToolbarsComponent":"./lib/tabbed-toolbars/tabbed-toolbars.component","TabActivatorService":"./lib/tab-activator.service","DropDownToggleComponent":"./lib/drop-down/drop-down.component","DropDownItemsComponent":"./lib/drop-down/drop-down.component","DropDownItemComponent":"./lib/drop-down/drop-down.component","DropDownComponent":"./lib/drop-down/drop-down.component","LeftSideBarComponent":"./lib/left-side-bar/left-side-bar.component","AddDynamicComponentService":"./lib/add-dynamic-component.service","HostDynamicDirective":"./lib/host-dynamic.directive","HostingDynamicComponentService":"./lib/hosting-dynamic-component.service","TopTabActivatorService":"./lib/top-tab-activator.service","MenuType":"./lib/context-menu/context-menu.component","ContextMenuComponent":"./lib/context-menu/context-menu.component","TextMenuComponent":"./lib/text-menu/text-menu.component","ExcelPageService":"./lib/excel-page.service","ɵa":"./lib/tabs/tabs.component","ɵb":"./lib/tooltip.directive","ɵc":"./lib/resizing/resizing.component","ɵd":"./lib/top-tab/top-tab.component"},"importAs":"@groupdocs.examples.angular/common-components"} \ No newline at end of file diff --git a/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts b/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts index d9bb0be8a..365a9d5e3 100644 --- a/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts +++ b/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts @@ -5,11 +5,11 @@ import { NavigateService } from '../navigate.service'; import { ZoomService } from '../zoom.service'; import { ExcelPageComponent } from '../excel-page/excel-page.component'; export declare class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit { - private _navigateService; pages: QueryList; currentPageNo: number; panzoom: any; - constructor(_elementRef: ElementRef, zoomService: ZoomService, windowService: WindowService, _navigateService: NavigateService); + navigateService: NavigateService; + constructor(_elementRef: ElementRef, zoomService: ZoomService, windowService: WindowService, navigateService: NavigateService); ngOnInit(): void; ngAfterViewInit(): void; refreshExcelDocHeight(): void; diff --git a/libs/common-components/src/lib/excel-document/excel-document.component.ts b/libs/common-components/src/lib/excel-document/excel-document.component.ts index 9206c0c21..7467029db 100644 --- a/libs/common-components/src/lib/excel-document/excel-document.component.ts +++ b/libs/common-components/src/lib/excel-document/excel-document.component.ts @@ -35,7 +35,7 @@ export class ExcelDocumentComponent extends DocumentComponent implements OnInit, this.refreshExcelDocHeight(); }); - this.navigateService.navigate.subscribe((( + this.navigateService.navigate.subscribe( value => { this.selectSheet(value); }); diff --git a/libs/editor/src/lib/editor-app.component.html b/libs/editor/src/lib/editor-app.component.html index f9b677edd..1721146a3 100644 --- a/libs/editor/src/lib/editor-app.component.html +++ b/libs/editor/src/lib/editor-app.component.html @@ -103,7 +103,7 @@ [className]="'palette ' + (bgColorPickerShow ? 'background-color-picker' : 'color-picker')" (selectedColor)="selectColor($event)">
- -
+ \ No newline at end of file From 970e52813e579e8a98743b7d53d11a3be36aa0d2 Mon Sep 17 00:00:00 2001 From: Egor Date: Mon, 30 Nov 2020 12:20:41 +0300 Subject: [PATCH 07/10] Add sheet name based on it's index. --- ....examples.angular-common-components.umd.js | 13 ++++- ...mples.angular-common-components.umd.js.map | 2 +- ...mples.angular-common-components.umd.min.js | 4 +- ...s.angular-common-components.umd.min.js.map | 2 +- .../excel-document.component.js | 48 ++++++++++++++--- .../excel-document.component.js | 54 ++++++++++++++++--- ...docs.examples.angular-common-components.js | 9 +++- ....examples.angular-common-components.js.map | 2 +- ...docs.examples.angular-common-components.js | 13 ++++- ....examples.angular-common-components.js.map | 2 +- ...es.angular-common-components.metadata.json | 2 +- .../excel-document.component.d.ts | 1 + .../excel-document.component.html | 2 +- .../excel-document.component.ts | 5 ++ 14 files changed, 134 insertions(+), 25 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 a11b98cb5..0744bd72d 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 @@ -2714,10 +2714,21 @@ function (number) { this.currentPageNo = number; }; + /** + * @param {?} page + * @return {?} + */ + ExcelDocumentComponent.prototype.getSheetName = /** + * @param {?} page + * @return {?} + */ + function (page) { + return page.sheetName ? page.sheetName : "Sheet " + page.number; + }; ExcelDocumentComponent.decorators = [ { type: core.Component, args: [{ selector: 'gd-excel-document', - template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{page.sheetName}}\r\n
\r\n
\r\n
\r\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n", styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; 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 c55df2d5b..42005d502 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js.map +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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","$","Renderer2","ViewChildren","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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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","$","Renderer2","ViewChildren","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 f2614b2c8..f946179ee 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,4 +1,4 @@ -!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,a,s,c,p,l,d,u,g){"use strict"; +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(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"],t):t(((e=e||self).groupdocs=e.groupdocs||{},e.groupdocs.examples=e.groupdocs.examples||{},e.groupdocs.examples.angular=e.groupdocs.examples.angular||{},e.groupdocs.examples.angular["common-components"]={}),e.ng.core,e.ng.common,e.rxjs,e.rxjs.operators,e.angularFontawesome,e.fontawesomeSvgCore,e.freeSolidSvgIcons,e.freeRegularSvgIcons,e.ng.common.http,e.jquery,e.Hammer,e.ng.platformBrowser,e.ngClickOutside)}(this,(function(e,t,o,n,i,r,a,s,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 @@ -12,5 +12,5 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. - ***************************************************************************** */var h=function(t,e){return(h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o])})(t,e)};function f(t,e){function o(){this.constructor=t}h(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}function m(t){var e="function"==typeof Symbol&&t[Symbol.iterator],o=0;return e?e.call(t):{next:function(){return t&&o>=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}}}var b=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-top-toolbar",template:'
\r\n
\r\n \r\n
\r\n
\r\n',styles:[".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"]}]}],t.ctorParameters=function(){return[]},t}(),v=function(){function t(){this.closable=!0,this.saveable=!0,this.hideSidePanel=new e.EventEmitter,this.saveInSidePanel=new e.EventEmitter,this.onlyTitle=!1}return t.prototype.closeSidePanel=function(){this.hideSidePanel.emit(!0)},t.prototype.saveBySidePanel=function(){this.saveInSidePanel.emit(!0)},t.prototype.toggleTitleMode=function(){this.closable&&!this.saveable&&(this.onlyTitle=!this.onlyTitle)},t.decorators=[{type:e.Component,args:[{selector:"gd-side-panel",template:'
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={title:[{type:e.Input}],icon:[{type:e.Input}],closable:[{type:e.Input}],saveable:[{type:e.Input}],hideSidePanel:[{type:e.Output}],saveInSidePanel:[{type:e.Output}]},t}();var x=function(){function t(){var t=this;this.resizeSubject=new n.Subject,this.width=window.innerWidth,this.height=window.innerHeight,this._resize$=n.fromEvent(window,"resize").pipe(i.debounceTime(200),i.distinctUntilChanged(),i.startWith({target:{innerWidth:window.innerWidth,innerHeight:window.innerHeight}}),i.tap((function(e){t.resizeSubject.next(e.target),t.width=e.target.innerWidth,t.height=e.target.innerHeight}))),this._resize$.subscribe()}return Object.defineProperty(t.prototype,"onResize",{get:function(){return this.resizeSubject.asObservable()},enumerable:!0,configurable:!0}),t.prototype.isMobile=function(){return this.width<=425},t.prototype.isTablet=function(){return this.width<=1024},t.prototype.isDesktop=function(){return!this.isMobile()&&!this.isTablet()},t.prototype.getWidth=function(){return this.width},t.prototype.getHeight=function(){return this.height},t.prototype.isEdge=function(){return window.navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.isFirefox=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},t}();var w=function(){function t(t){var e=this;this.iconOnly=!0,this.intent="default",this.disabled=!1,this.toggle=!1,this.iconRegular=!1,this.elementPosition=0,this.showToolTip=!1,this.isDesktop=t.isDesktop(),t.onResize.subscribe((function(o){e.isDesktop=t.isDesktop()}))}return t.prototype.iconButtonClass=function(){return this.iconOnly?"icon-button":""},t.prototype.onHovering=function(){this.isDesktop&&!this.disabled&&(this.className+=" active")},t.prototype.onUnhovering=function(){this.isDesktop&&!this.disabled&&(this.className=this.cleanAll(this.className," active"))},t.prototype.cleanAll=function(t,e){for(;t&&-1!==t.indexOf(e);)t=t.replace(e,"");return t},t.decorators=[{type:e.Component,args:[{selector:"gd-button",template:'
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n',styles:[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],t.ctorParameters=function(){return[{type:x}]},t.propDecorators={iconOnly:[{type:e.Input}],intent:[{type:e.Input}],disabled:[{type:e.Input}],icon:[{type:e.Input}],iconClass:[{type:e.Input}],tooltip:[{type:e.Input}],className:[{type:e.Input}],toggle:[{type:e.Input}],iconSize:[{type:e.Input}],iconRegular:[{type:e.Input}],elementPosition:[{type:e.Input}]},t}();var y=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-logo",template:'\r\n\r\n',styles:[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={logo:[{type:e.Input}],icon:[{type:e.Input}]},t}();var S=function(){function t(){this.position=0,this.visibility="hidden"}return t.prototype.getClass=function(){return 0===this.position?"tooltip":"tooltip "+(this.position>0?"last-element":"first-element")},Object.defineProperty(t.prototype,"show",{set:function(t){this.visibility=t?"shown":"hidden"},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-tooltip",template:'\r\n',styles:['.tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:" ";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}']}]}],t.ctorParameters=function(){return[]},t.propDecorators={text:[{type:e.Input}],position:[{type:e.Input}],show:[{type:e.Input}]},t}();var k=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",t.ANNOTATION_APP="/annotation",t.SEARCH_APP="/search",t.EDITOR_APP="/editor",t.COMPARISON_APP="/comparison",t.CONVERSION_APP="/conversion",t.METADATA_APP="/metadata",t.DEFAULT_API_ENDPOINT=window.location.href,t.LOAD_FILE_TREE="/loadFileTree",t.LOAD_CONFIG="/loadConfig",t.LOAD_DOCUMENT_DESCRIPTION="/loadDocumentDescription",t.LOAD_DOCUMENT_PAGE="/loadDocumentPage",t.LOAD_DOCUMENT_PROPERTIES="/loadProperties",t.LOAD_DOCUMENT_PROPERTIES_NAMES="/loadPropertiesNames",t.SAVE_PROPERTY="/saveProperty",t.REMOVE_PROPERTY="/removeProperty",t.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",t.UPLOAD_DOCUMENTS="/uploadDocument",t.DOWNLOAD_DOCUMENTS="/downloadDocument",t.LOAD_PRINT="/loadPrint",t.LOAD_PRINT_PDF="/printPdf",t.LOAD_THUMBNAILS="/loadThumbnails",t.LOAD_FORMATS="/loadFormats",t.SAVE_FILE="/saveFile",t.CREATE_FILE="/createFile",t.COMPARE_FILES="/compare",t.CONVERT_FILE="/convert",t.DELETE_SIGNATURE_FILE="/deleteSignatureFile",t.REMOVE_FROM_INDEX="/removeFromIndex",t.GET_FILE_STATUS="/getFileStatus",t.SAVE_OPTICAL_CODE="/saveOpticalCode",t.SAVE_TEXT="/saveText",t.SAVE_IMAGE="/saveImage",t.SAVE_STAMP="/saveStamp",t.SIGN="/sign",t.DOWNLOAD_SIGNED="/downloadSigned",t.LOAD_SIGNATURE_IMAGE="/loadSignatureImage",t.ANNOTATE="/annotate",t.SEARCH="/search",t.ADD_FILES_TO_INDEX="/addFilesToIndex",t.CLEAN_METADATA="/clean",t.EXPORT_METADATA="/export",t.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},t.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},t}();var C=function(){function t(){this.apiEndpoint=k.DEFAULT_API_ENDPOINT}return Object.defineProperty(t.prototype,"apiEndpoint",{get:function(){return this._apiEndpoint},set:function(t){this._apiEndpoint=t&&t.trim().endsWith("/")?t.substring(0,t.length-1):t},enumerable:!0,configurable:!0}),t.prototype.getConfigEndpoint=function(t){return(this.apiEndpoint.endsWith(t)?this.apiEndpoint:this.apiEndpoint+t)+k.LOAD_CONFIG},t.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(k.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+k.VIEWER_APP},t.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+k.EDITOR_APP},t.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+k.COMPARISON_APP},t.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+k.CONVERSION_APP},t.prototype.getMetadataApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.METADATA_APP)?this._apiEndpoint:this._apiEndpoint+k.METADATA_APP},t.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(k.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+k.SIGNATURE_APP},t.prototype.getAnnotationApiEndpoint=function(){return this._apiEndpoint.endsWith(k.ANNOTATION_APP)?this._apiEndpoint:this._apiEndpoint+k.ANNOTATION_APP},t.prototype.getSearchApiEndpoint=function(){return this._apiEndpoint.endsWith(k.SEARCH_APP)?this._apiEndpoint:this._apiEndpoint+k.SEARCH_APP},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}();var _=function(){function t(){}return t.PasswordRequired="gd-password-required",t.ErrorMessage="gd-error-message",t.BrowseFiles="gd-browse-files",t.CreateDocument="gd-create-document",t.OperationSuccess="gd-success-modal",t.DrawHandSignature="gd-draw-hand-signature",t.DrawStampSignature="gd-draw-stamp-signature",t.InformationMessage="gd-information-message",t}();var P=function(){function t(){this.modals=[]}return t.prototype.add=function(t){this.modals.push(t)},t.prototype.remove=function(t){this.modals=this.modals.filter((function(e){return e.id!==t}))},t.prototype.open=function(t){var e=this.modals.filter((function(e){return e.id===t}))[0];e&&e.open()},t.prototype.close=function(t){var e=this.modals.filter((function(e){return e.id===t}))[0];e&&e.close()},t}();var E=function(){function t(t,o){this.modalService=t,this.visible=new e.EventEmitter,this.cancel=new e.EventEmitter,this.visibility=!1,this.element=o.nativeElement}return t.prototype.ngOnInit=function(){this.id?(document.body.appendChild(this.element),this.modalService.add(this)):console.error("modal must have an id")},t.prototype.ngOnDestroy=function(){this.modalService.remove(this.id),this.element.remove()},t.prototype.open=function(){this.visibility=!0,this.visible.emit(!0)},t.prototype.close=function(){event.preventDefault(),event.stopPropagation(),this.visibility=!1,this.visible.emit(!1)},t.prototype.onClose=function(t){t.stopPropagation(),t&&t.target&&"modalDialog"===t.target.id&&this.close()},t.prototype.cancelClose=function(){this.cancel.emit(!1),this.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-modal",template:'
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
×
\r\n

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n',styles:["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"]}]}],t.ctorParameters=function(){return[{type:P},{type:e.ElementRef}]},t.propDecorators={id:[{type:e.Input}],title:[{type:e.Input}],visible:[{type:e.Output}],cancel:[{type:e.Output}]},t}();var I=function(){};var O=function(){};var z=function(t,e){this.guid=t,this.password=e};var F=function(t){function e(e,o,n){var i=t.call(this,e,o)||this;return i.content=n,i}return f(e,t),e}(z);var D=function(){this.printAllowed=!0};var T=function(){};var A=function(){function t(){}return t.BadRequest=400,t.Unauthorized=401,t.Forbidden=403,t.NotFound=404,t.TimeOut=408,t.Conflict=409,t.InternalServerError=500,t}();var M=function(){function t(){}return t.getMousePosition=function(t){var e={x:0,y:0},o=window.event,n=t||o;if(n.pageX||o.pageX||o.screenX||n.touches&&n.touches[0]&&n.touches[0].pageX){var i=void 0!==n.pageX&&0!==n.pageX?n.pageX:o.pageX,r=void 0!==n.pageY&&0!==n.pageY?n.pageY:o.pageY,a=void 0!==o.screenX&&0!==o.screenY,s=void 0!==o.screenY&&0!==o.screenY;e.x=i||(a?o.screenX:n.touches[0].pageX),e.y=r||(s?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 j=function(){},L=function(){function t(){var t=this;this._uploadsChange=new n.Observable((function(e){return t._observer=e}))}return Object.defineProperty(t.prototype,"uploadsChange",{get:function(){return this._uploadsChange},enumerable:!0,configurable:!0}),t.prototype.changeFilesList=function(t){this._observer.next(t)},t}();var H=l,U=[{name:"Disc",icon:"hdd"},{name:"URL",icon:"link"}],N=function(){function t(t){this._uploadService=t,this.uploads=U,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 R.find(t.name,t.directory).format},t.prototype.getFormatIcon=function(t){return R.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,H("#gd-upload-input").trigger("click"))},t.prototype.refresh=function(t){t?(this.files=null,this.selectedDirectory.emit(""),this.showUploadUrl=!1,this.selectedFile=null):this.closing.emit(!0)},t.prototype.showSpinner=function(){return!this.files},t.prototype.uploadUrl=function(t){t&&(this.urlForUpload.emit(t),this.cleanUpload())},t.prototype.handleFileInput=function(t){this._uploadService.changeFilesList(t)},t.prototype.cleanUpload=function(){this.showUploadFile=!1,this.showUploadUrl=!1},t.decorators=[{type:e.Component,args:[{selector:"gd-browse-files-modal",template:'\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n',styles:[".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],t.ctorParameters=function(){return[{type:L}]},t.propDecorators={files:[{type:e.Input}],uploadConfig:[{type:e.Input}],selectedFileGuid:[{type:e.Output}],selectedDirectory:[{type:e.Output}],urlForUpload:[{type:e.Output}],closing:[{type:e.Output}]},t}();var B=function(){function t(){this._observer=new n.Subject,this._zoomChange=this._observer.asObservable()}return Object.defineProperty(t.prototype,"zoom",{get:function(){return this._zoom},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"zoomChange",{get:function(){return this._zoomChange},enumerable:!0,configurable:!0}),t.prototype.changeZoom=function(t){this._zoom=t,this._observer.next(t)},t.prototype.createZoomOption=function(t,e,o){return void 0===o&&(o=!1),{value:t,name:e,separator:o}},t.prototype.zoomOptions=function(t,e){return[this.createZoomOption(25,"25%"),this.createZoomOption(50,"50%"),this.createZoomOption(100,"100%"),this.createZoomOption(150,"150%"),this.createZoomOption(200,"200%"),this.createZoomOption(300,"300%"),this.createZoomOption(0,"",!0),this.createZoomOption(t,"Fit Width"),this.createZoomOption(e,"Fit Height")]},t}();var W=function(){function t(){var t=this;this._checkPreload=new n.Observable((function(e){return t._observer=e}))}return Object.defineProperty(t.prototype,"checkPreload",{get:function(){return this._checkPreload},enumerable:!0,configurable:!0}),t.prototype.changeLastPageInView=function(t){this._observer&&this._observer.next(t)},t}();var $=function(){function t(t){this._pagePreloadService=t,this._currentPage=0,this._countPages=0,this._observer=new n.Subject,this._navigate=this._observer}return Object.defineProperty(t.prototype,"navigate",{get:function(){return this._navigate},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"countPages",{get:function(){return this._countPages},set:function(t){this._countPages=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentPage",{get:function(){return this._currentPage},set:function(t){this._currentPage=t},enumerable:!0,configurable:!0}),t.prototype.nextPage=function(){this._currentPage1&&(this._currentPage--,this.navigateTo(this._currentPage))},t.prototype.toLastPage=function(){this._currentPage=this._countPages,this.navigateTo(this._currentPage)},t.prototype.toFirstPage=function(){this._currentPage=1,this.navigateTo(this._currentPage)},t.prototype.navigateTo=function(t){this.currentPage=t,this._pagePreloadService.changeLastPageInView(t),this._observer.next(t)},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:W}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(W))},token:t,providedIn:"root"}),t}();var q=function(){function t(t,e,o,n){var i=this;this._elementRef=t,this._zoomService=e,this._windowService=o,this._navigateService=n,this.wait=!1,this.docWidth=null,this.docHeight=null,this.viewportWidth=null,this.viewportHeight=null,this.scale=null,this.lastScale=null,this.container=null,this.doc=null,this.x=0,this.lastX=0,this.y=0,this.lastY=0,this.pinchCenter=null,this.pinchCenterOffset=null,this.curWidth=0,this.curHeight=0,e.zoomChange.subscribe((function(t){i.zoom=t})),this.isDesktop=o.isDesktop(),this._navigateService.navigate.subscribe((function(t){i.selectedPage=t}))}return t.prototype.ngOnInit=function(){this.ifPresentation()&&(this.selectedPage=this._navigateService.currentPage)},t.prototype.ngOnChanges=function(){},t.prototype.ngAfterViewInit=function(){this.doc=this._elementRef.nativeElement.children.item(0).children.item(0),this.container=this._elementRef.nativeElement,this.docWidth=this.doc.clientWidth,this.docHeight=this.doc.clientHeight,this.viewportWidth=this.doc.offsetWidth,this.scale=this.viewportWidth/this.docWidth*this._zoomService.zoom/100,this.lastScale=this.scale,this.viewportHeight=this.container.offsetHeight,this.curWidth=this.docWidth*this.scale,this.curHeight=this.docHeight*this.scale;new d(this.container)},t.prototype.ifExcel=function(){return"Microsoft Excel"===R.find(this.file.guid,!1).format},t.prototype.ifPresentation=function(){return"Microsoft PowerPoint"===R.find(this.file.guid,!1).format},t.prototype.getDimensionWithUnit=function(t,e){return this.ifPresentation()&&this.showActiveSlide&&!this.isVisible(e)?0:t+(this.mode?R.find(this.file.guid,!1).unit:"px")},t.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.ngAfterViewChecked=function(){},t.prototype.isVisible=function(t){return!this.ifPresentation()||t===this.selectedPage},t.decorators=[{type:e.Component,args:[{selector:"gd-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n',styles:[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],t.ctorParameters=function(){return[{type:e.ElementRef},{type:B},{type:x},{type:$}]},t.propDecorators={mode:[{type:e.Input}],preloadPageCount:[{type:e.Input}],file:[{type:e.Input}],selectedPage:[{type:e.Input}],showActiveSlide:[{type:e.Input}]},t}();var V=function(){function t(){}return t.prototype.getUpdatedPage=function(t){var e=(new DOMParser).parseFromString(t,"text/html"),o=e.querySelector("table"),n=0;e.querySelectorAll("table > tbody > tr:first-child td").forEach((function(t){n+=t.attributes.colspan?parseInt(t.attributes.colspan.value,10):1}));var i=this.createHeader(n,o);return e.querySelector("table").replaceWith(i),(new XMLSerializer).serializeToString(e).replace(/a0:/g,"").replace(/:a0/g,"")},t.prototype.getPageWithoutHeader=function(t){var e=(new DOMParser).parseFromString(t,"text/html");e.querySelector("colgroup").remove();var o=e.querySelector("table");return o.deleteRow(0),o.querySelectorAll("tr").forEach((function(t){t.deleteCell(0)})),e.querySelector("table").replaceWith(o),(new XMLSerializer).serializeToString(e)},t.prototype.createHeader=function(t,e){var o=document.createElement("thead");o.append(document.createElement("tr"));for(var n=0;n=0;)n=String.fromCharCode(t%o+e)+n,t=Math.floor(t/o)-1;return n},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}(),G=function(){function t(t){this._excelPageService=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,"").replace(/href="\/viewer/g,'href="http://localhost:8080/viewer').replace(/src="\/viewer/g,'src="http://localhost:8080/viewer').replace(/data="\/viewer/g,'data="http://localhost:8080/viewer'):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=this.data),this.data=null!==this.data&&t.data?this._excelPageService.getUpdatedPage(this.data):this.data},t.decorators=[{type:e.Component,args:[{selector:"gd-excel-page",template:'
\r\n
\r\n \r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}::ng-deep th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}::ng-deep td{vertical-align:middle!important}::ng-deep .page-grid-lines td{border:1px solid #e7e7e7!important}::ng-deep .page td:nth-child(1){border:1px solid #e7e7e7!important}::ng-deep tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}::ng-deep tr td.excel:first-child div{width:80px}::ng-deep tr th.excel:first-child{background-color:#f4f4f4;width:1%}::ng-deep tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"]}]}],t.ctorParameters=function(){return[{type:V}]},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 X=function(t){function o(e,o,n,i,r){var a=t.call(this,e,o,n,i)||this;return a.renderer=r,a.panzoom=null,a.navigateService=i,a}return f(o,t),o.prototype.ngOnInit=function(){this.currentPageNo=1},o.prototype.ngAfterViewInit=function(){var t=this;this.refreshExcelDocHeight(),this.pages.changes.subscribe((function(){t.refreshExcelDocHeight()})),this.navigateService.navigate.subscribe((function(e){e&&t.selectSheet(e)}));var e=this.getScrollBarWidth();this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"right",this.getScrollBarWidth()+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"bottom",this.getScrollBarWidth()+"px"),0===e&&this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"padding-right","17px")},o.prototype.getScrollBarWidth=function(){var t=document.querySelector(".gd-document");return t.offsetWidth-t.clientWidth},o.prototype.refreshExcelDocHeight=function(){this.doc=this._elementRef.nativeElement.children.item(0),this.panzoom=this._elementRef.nativeElement.children.item(0).children.item(0),this.doc.style.height=this.panzoom.scrollHeight+37+"px"},o.prototype.selectSheet=function(t){this.currentPageNo=t},o.decorators=[{type:e.Component,args:[{selector:"gd-excel-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{page.sheetName}}\r\n
\r\n
\r\n
\r\n',styles:[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],o.ctorParameters=function(){return[{type:e.ElementRef},{type:B},{type:x},{type:$},{type:e.Renderer2}]},o.propDecorators={pages:[{type:e.ViewChildren,args:[G]}]},o}(q);var Z=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,"").replace(/href="\/viewer/g,'href="http://localhost:8080/viewer').replace(/src="\/viewer/g,'src="http://localhost:8080/viewer').replace(/data="\/viewer/g,'data="http://localhost:8080/viewer'):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%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={angle:[{type:e.Input}],width:[{type:e.Input}],height:[{type:e.Input}],number:[{type:e.Input}],data:[{type:e.Input}],isHtml:[{type:e.Input}],editable:[{type:e.Input}]},t}();var Y=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 J=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 K=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 Q=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}(),tt=function(){function t(t){this._uploadService=t,this.closeUpload=new e.EventEmitter}return t.prototype.ngOnInit=function(){},t.prototype.handleFileInput=function(t){this._uploadService.changeFilesList(t),this.onCloseUpload()},t.prototype.onCloseUpload=function(){this.closeUpload.emit(!0)},t.prototype.close=function(t){"gd-dropZone"===t.target.id&&this.onCloseUpload()},t.decorators=[{type:e.Component,args:[{selector:"gd-upload-file-zone",template:'
\r\n
\r\n \r\n
\r\n

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n',styles:[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"]}]}],t.ctorParameters=function(){return[{type:L}]},t.propDecorators={closeUpload:[{type:e.Output}]},t}();var et=function(){function t(t){this._uploadFilesService=t,this.closing=new e.EventEmitter,this.opening=new e.EventEmitter,this.dropped=new e.EventEmitter,this.active=!1,this.dragCounter=0}return t.prototype.onDragEnter=function(t){t.preventDefault(),t.stopPropagation(),this.dragCounter++,this.active=!0,this.opening.emit(!0)},t.prototype.onDragOver=function(t){return t.preventDefault(),t.stopPropagation(),!1},t.prototype.onDragLeave=function(t){t.preventDefault(),t.stopPropagation(),this.dragCounter--,0===this.dragCounter&&(this.active=!1,this.closeArea())},t.prototype.onDrop=function(t){t.preventDefault(),t.stopPropagation();var e=t.dataTransfer.files;e.length>0&&(this.active=!1,this.dropped.emit(!0),this._uploadFilesService.changeFilesList(e),this.closeArea())},t.prototype.onClick=function(t){this.closeArea()},t.prototype.closeArea=function(){this.closing.emit(!0),this.opening.emit(!1)},t.decorators=[{type:e.Directive,args:[{selector:"[gdDnd]"}]}],t.ctorParameters=function(){return[{type:L}]},t.propDecorators={closing:[{type:e.Output}],opening:[{type:e.Output}],dropped:[{type:e.Output}],active:[{type:e.HostBinding,args:["class.active"]}],onDragEnter:[{type:e.HostListener,args:["dragenter",["$event"]]}],onDragOver:[{type:e.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:e.HostListener,args:["dragleave",["$event"]]}],onDrop:[{type:e.HostListener,args:["drop",["$event"]]}],onClick:[{type:e.HostListener,args:["click",["$event"]]}]},t}();var ot=l,nt=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=ot(window),a=r.scrollTop(),s=r.scrollLeft()+o,c=r.scrollLeft()+r.width()-10,p=r.scrollTop()+r.height();isNaN(e)&&(e=100);var l=e/100,d=ot(t).outerHeight()*l,u=ot(t).outerWidth()*l;if(!u||!d)return!1;var g=ot(t).offset(),h=g.left*l+u,f=g.top*l+d;if(!!(ch||pf))return!1;var m=parseFloat(Math.min(1,(f-a)/d).toFixed(2)),b=parseFloat(Math.min(1,(p-g.top*l)/d).toFixed(2));return parseFloat(Math.min(1,(h-s)/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}(),it=l,rt=function(){function t(t,e,o,n,i,r){var a=this;this._elementRef=t,this._navigateService=e,this._pagePreloadService=o,this._zoomService=n,this._windowService=i,this._viewportService=r,this.zoom=100,this.loadedPagesSet=new Set,this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(t){a.zoom=t||a.zoom,a.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&&it(n).offset().top===it(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?a*this.getZoom()+o:0}return n},t.prototype.countPagesOnWidth=function(){var t=this.getPage(1);if(t){var e=Math.floor((this.getWidth()-150)/(t.getBoundingClientRect().width*this.getZoom()));if(0!==e)return e}return 1},t.prototype.refresh=function(){var t,e=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(t=1;t0?this.mouseWheelUp.emit(t):e<0&&this.mouseWheelDown.emit(t)},t.decorators=[{type:e.Directive,args:[{selector:"[gdMouseWheel]"}]}],t.propDecorators={mouseWheelUp:[{type:e.Output}],mouseWheelDown:[{type:e.Output}],onMouseWheelChrome:[{type:e.HostListener,args:["mousewheel",["$event"]]}],onMouseWheelFirefox:[{type:e.HostListener,args:["DOMMouseScroll",["$event"]]}],onMouseWheelIE:[{type:e.HostListener,args:["onmousewheel",["$event"]]}]},t}();var st=function(){function t(t,e,o){this._zoomService=t,this._windowService=e,this.zoomActive=!0,this.el=o}return t.prototype.ngOnDestroy=function(){},t.prototype.ngOnChanges=function(){this.setStyles(this._zoomService.zoom),this.resizePages(this._zoomService.zoom)},t.prototype.ngOnInit=function(){var t=this;this.zoomActive&&(this.setStyles(this._zoomService.zoom),this._zoomService.zoomChange.subscribe((function(e){t.setStyles(e),t.resizePages(e)})))},t.prototype.setStyles=function(t){if(this.zoomActive){var e=100===t?1:t/100;this._windowService.isEdge()?this.zoomInt=e:this.zoomInt=null,this._windowService.isEdge()?(this.transform="",this.transformOrigin=""):(this.transform="scale("+e+")",this.transformOrigin="top left");var o=0;this.file.pages.forEach((function(t){t.width>o&&(o=t.width)})),this.minWidth=o+R.find(this.file.guid,!1).unit}},t.prototype.getScrollWidth=function(t){return t.offsetWidth-t.clientWidth},t.prototype.getScrollHeight=function(t){return t.offsetHeight-t.clientHeight},t.prototype.resizePages=function(t){var e=100===t?1:t/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.el.nativeElement.parentElement.offsetHeight,i=this.getScrollWidth(this.el.nativeElement.parentElement),r=this.getScrollHeight(this.el.nativeElement.parentElement);this.width=o/e-i/e+"px",this.height=n/e-r/e+"px"},t.prototype.ngAfterViewInit=function(){this.setStyles(this._zoomService.zoom)},t.decorators=[{type:e.Directive,args:[{selector:"[gdZoom]"}]}],t.ctorParameters=function(){return[{type:B},{type:x},{type:e.ElementRef}]},t.propDecorators={zoomActive:[{type:e.Input}],file:[{type:e.Input}],zoomInt:[{type:e.HostBinding,args:["style.zoom"]}],transform:[{type:e.HostBinding,args:["style.transform"]}],transformOrigin:[{type:e.HostBinding,args:["style.transform-origin"]}],width:[{type:e.HostBinding,args:["style.width"]}],height:[{type:e.HostBinding,args:["style.height"]}],minWidth:[{type:e.HostBinding,args:["style.min-width"]}]},t}();var ct=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 pt=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
\r\n',styles:[".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"]}]}],t.ctorParameters=function(){return[{type:ct}]},t.propDecorators={options:[{type:e.Input}],disabled:[{type:e.Input}],showSelected:[{type:e.Input}],selected:[{type:e.Output}],isOpen:[{type:e.Input}],icon:[{type:e.Input}]},t}();var lt=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 dt=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 ut=function(){function t(){this.fileDropped=new e.EventEmitter,this.showUploadFile=!1}return t.prototype.ngOnInit=function(){},t.prototype.dropped=function(t){t&&(this.fileDropped.emit(t),this.showUploadFile=!1)},t.decorators=[{type:e.Component,args:[{selector:"gd-init-state",template:'
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n',styles:[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={icon:[{type:e.Input}],text:[{type:e.Input}],fileDropped:[{type:e.Output}]},t}();var gt=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 ht=function(){function t(t){var e=this;this._renderService=t,t.renderPrint.subscribe((function(t){e.renderPrint(t)})),t.renderPrintBlob.subscribe((function(t){e.renderPrintBlob(t)}))}return t.prototype.renderPrint=function(t){var e,o,n="";try{for(var i=m(t),r=i.next();!r.done;r=i.next()){var a=r.value;n+='
'}}catch(t){e={error:t}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(e)throw e.error}}this.openWindow(n,t[0].width,t[0].height)},t.prototype.openWindow=function(t,e,o){var n="";if(e>595&&o>842){var i=Math.round(o/842)/100;n=".gd-page img { width: 100%; margin: 0; padding: 0;}",navigator.userAgent.toLowerCase().indexOf("firefox")>-1&&(n=".gd-page img { transform: scale("+i+");}")}var r="";var a=window.open("","PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");a.focus(),a.document.writeln(r),a.document.writeln(t),a.document.close(),setTimeout((function(){a.focus(),a.print(),a.close()}),100)},t.prototype.renderPrintBlob=function(t){var e=URL.createObjectURL(t),o=window.open(e,"PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");o.focus(),o.print(),o.close()},t.decorators=[{type:e.Directive,args:[{selector:"[gdRenderPrint]"}]}],t.ctorParameters=function(){return[{type:gt}]},t.propDecorators={htmlMode:[{type:e.Input}]},t}();var ft=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 mt=function(){function t(t){var e=this;t.messageChange.subscribe((function(t){return e.message=t}))}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-error-modal",template:'\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : \'Server is not available\'}}
\r\n
\r\n
\r\n
\r\n',styles:[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],t.ctorParameters=function(){return[{type:ft}]},t}();var bt=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 vt=l,xt=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=vt("#password");t&&t.focus()}),100):vt("#password").val("")},t.prototype.cancel=function(t){vt("#password").val(""),this.cancelEvent.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-password-required",template:'\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n',styles:["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"]}]}],t.ctorParameters=function(){return[{type:ft},{type:bt}]},t.propDecorators={cancelEvent:[{type:e.Output}]},t}();var wt=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:ft}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(P),e.ɵɵinject(ft))},token:t,providedIn:"root"}),t}();var 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}();var St=function(){function t(t){var o=this;this._searchService=t,this.hidePanel=new e.EventEmitter(!1),this.current=0,this.total=0,t.totalChange.subscribe((function(t){o.total=t,o.current=0!==t?1:0,o._searchService.setCurrent(o.current)}))}return t.prototype.ngOnInit=function(){},t.prototype.setText=function(t){this._searchService.setText(t)},t.prototype.hide=function(){this.setText(""),this.hidePanel.emit(!0)},t.prototype.prev=function(){this.current>1&&(this.current--,this._searchService.setCurrent(this.current))},t.prototype.next=function(){this.current\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n',styles:[".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"]}]}],t.ctorParameters=function(){return[{type:yt}]},t.propDecorators={hidePanel:[{type:e.Output}],textElement:[{type:e.ViewChild,args:["text",{static:!0}]}]},t}();var kt=l,Ct=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){kt(t).removeClass("gd-highlight-select")}));var e=t.querySelectorAll(".gd-highlight")[this.current-1];if(kt(e).addClass("gd-highlight-select"),e){var o={left:0,top:kt(e).offset().top+t.parentElement.parentElement.scrollTop-150};t.parentElement.parentElement.scroll(o)}}}},t.prototype.highlightEl=function(t){var e=kt(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=kt(this),e=t.text();e=n.transform(e,o),t.replaceWith(e)})),t.normalize()},t.prototype.cleanHighlight=function(t){for(var e=t.querySelectorAll(".gd-highlight"),o=0;o\r\n \r\n \r\n\r\n',styles:[".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={logo:[{type:e.Input}],icon:[{type:e.Input}]},t}();var Pt=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 Et=function(){function t(t){var e=this;this._tabActivatorService=t,this.disabled=!1,this.active=!1,this.content=!0,this._tabActivatorService.activeTabChange.subscribe((function(t){e.activation(t)}))}return t.prototype.activation=function(t){this.id===t?this.active=!0:this.active=!1},t.prototype.ngOnInit=function(){},t.prototype.selectTab=function(){this.disabled||this._tabActivatorService.changeActiveTab(this.id)},t.decorators=[{type:e.Component,args:[{selector:"gd-tab",template:'
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n',styles:[".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],t.ctorParameters=function(){return[{type:Pt}]},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 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:-webkit-box;display:flex}"]}]}],t.ctorParameters=function(){return[]},t}(),Ot=function(){function t(t,e,o,n,i,r,a,s,c,p){this.fontSize=t,this.color=e,this.bgColor=o,this.bold=n,this.italic=i,this.underline=r,this.font=a,this.strikeout=s,this.align=c,this.list=p}return t.default=function(){return new t(10,"#000000","#FFFFFF",!1,!1,!1,"Arial",!1,"","")},t}();var zt=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 Ft=["#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"],Dt=function(){function t(){this.isOpen=!1,this.selectedColor=new e.EventEmitter,this.closeOutside=new e.EventEmitter,this.colors=Ft,this.white="#FFFFFF"}return t.prototype.ngOnInit=function(){},t.prototype.select=function(t,e){t.preventDefault(),t.stopPropagation(),this.selectedColor.emit(e)},t.prototype.close=function(){this.isOpen=!1,this.closeOutside.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-color-picker",template:'
\r\n
\r\n
\r\n
\r\n
\r\n',styles:[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={isOpen:[{type:e.Input}],selectedColor:[{type:e.Output}],closeOutside:[{type:e.Output}]},t}();var Tt=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}(zt),At=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 Mt=l,Rt=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=Mt(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"),Mt(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:zt},{type:Tt},{type:At}]},t.propDecorators={mouseup:[{type:e.HostListener,args:["mouseup"]}]},t}();var 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:-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}(),Lt=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 Ht=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:At},{type:Lt}]},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 Ut=function(){function t(){this.onLoadingChanged=new e.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(k.SAVE_TEXT),this.stopList.push(k.SAVE_OPTICAL_CODE),this.stopList.push(k.LOAD_DOCUMENT_PAGE),this.stopList.push(k.LOAD_THUMBNAILS),this.stopList.push(k.GET_FILE_STATUS),this.stopList.push(k.LOAD_PRINT)}return t.prototype.onRequestStart=function(t){this.stopList.find((function(e){return t.url.includes(e)}))||(this.requests.push(t),this.notify())},t.prototype.onRequestFinish=function(t){var e=this.requests.indexOf(t);-1!==e&&this.requests.splice(e,1),this.notify()},t.prototype.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}();var Nt=function(){function t(t){this._loadingMaskService=t,this.loadingMask=!1}return t.prototype.ngOnInit=function(){},t.prototype.ngAfterViewInit=function(){var t=this;this._loadingMaskService.onLoadingChanged.subscribe((function(e){return t.loadingMask=e}))},t.decorators=[{type:e.Component,args:[{selector:"gd-loading-mask",template:'
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"]}]}],t.ctorParameters=function(){return[{type:Ut}]},t.propDecorators={loadingMask:[{type:e.Input}]},t}();var Bt=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:Ut}]},t.ngInjectableDef=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(Ut))},token:t,providedIn:"root"}),t}();var Wt={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},$t={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},qt=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 Xt}))]}]}]},t.propDecorators={click:[{type:e.HostListener,args:["click",["$event"]]}]},t}();var Vt=function(){function t(t){this.dropdown=t}return Object.defineProperty(t.prototype,"horizontalAlign",{get:function(){return Wt[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalAlign",{get:function(){return $t[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 Xt}))]}]}]},t}();var Gt=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 Xt}))]}]}]},t.propDecorators={class:[{type:e.HostBinding,args:["class"]}],selected:[{type:e.Output}],click:[{type:e.HostListener,args:["click"]}]},t}();var Xt=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 Zt=function(){function t(){this.showSpinner=!1}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-left-side-bar",template:'
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n',styles:[".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={showSpinner:[{type:e.Input}]},t}();var Yt=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 Jt=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 Kt=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 Qt=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:Kt}]},t.propDecorators={ident:[{type:e.Input}]},t}();var te=l,ee=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=te(this.getElementId(this.SE)),o=te(this.getElementId(this.NW));if(this.init&&e&&o&&e.offset()&&o.offset()){for(var n=e.offset().left-o.offset().left,i=e.offset().top-o.offset().top;n>=this.pageWidth||i>=this.pageHeight;)n/=2,i/=2;setTimeout((function(){t.offsetX.emit(n),t.offsetY.emit(i)}),100)}},t.prototype.ngOnInit=function(){},t.prototype.catchUp=function(t){t.preventDefault(),t.dataTransfer&&t.dataTransfer.setData("text","foo"),this.grab=!0,this.oldPosition=M.getMousePosition(t)},t.prototype.resize=function(t,e){if(this.grab){var o=M.getMousePosition(t);if(0!==o.x||0!==o.y){var n=this.NE===e||this.NW===e,i=this.SW===e||this.NW===e;this.setOffsets(o,i,n),n&&this.offsetTop.emit(o.y-this.oldPosition.y),i&&this.offsetLeft.emit(o.x-this.oldPosition.x),this.oldPosition=o}}},t.prototype.setOffsets=function(t,e,o){var n=e?this.oldPosition.x-t.x:t.x-this.oldPosition.x,i=o?this.oldPosition.y-t.y:t.y-this.oldPosition.y;this.offsetX.emit(n),this.offsetY.emit(i)},t.prototype.end=function(t,e){this.resize(t,e),this.release.emit(!0),this.grab=!1},t.prototype.start=function(t){this.drop(t)},t.prototype.drop=function(t){t.stopPropagation(),t.preventDefault()},t.prototype.getElementId=function(t){return"#"+t+"-"+this.id},t.decorators=[{type:e.Component,args:[{selector:"gd-resizing",template:'
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n',styles:[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={init:[{type:e.Input}],id:[{type:e.Input}],se:[{type:e.Input}],ne:[{type:e.Input}],sw:[{type:e.Input}],nw:[{type:e.Input}],pageWidth:[{type:e.Input}],pageHeight:[{type:e.Input}],offsetX:[{type:e.Output}],offsetY:[{type:e.Output}],offsetTop:[{type:e.Output}],offsetLeft:[{type:e.Output}],release:[{type:e.Output}]},t}();var oe=function(t){function e(){return t.call(this)||this}return f(e,t),e}(Pt),ne=function(){function t(t,o,n){var i=this;this._tabActivatorService=t,this._modalService=o,this._excMessageService=n,this.disabled=!1,this.activeTab=new e.EventEmitter,this.elementPosition=0,this.active=!1,this.showToolTip=!1,this._tabActivatorService.activeTabChange.subscribe((function(t){i.activation(t),null===t&&i.activeTab.emit("")}))}return t.prototype.activation=function(t){this.id===t?(this.active=!this.active,this.active?this.activeTab.emit(this.id):this.activeTab.emit("")):this.active=!1},t.prototype.ngOnInit=function(){},t.prototype.toggleTab=function(){if(this.disabled)return this._modalService.open(_.ErrorMessage),void this._excMessageService.changeMessage("Please open document first");this._tabActivatorService.changeActiveTab(this.id)},t.decorators=[{type:e.Component,args:[{selector:"gd-top-tab",template:'
\r\n \r\n \r\n
\r\n',styles:[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"]}]}],t.ctorParameters=function(){return[{type:oe},{type:P},{type:ft}]},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 ie=l,re=function(){function t(t,o,n,i,r){var a=this;this._onCloseService=t,this._zoomService=o,this._windowService=n,this._elementRef=i,this.renderer=r,this.decoration=!0,this.showTooltips=!0,this.outFontSize=new e.EventEmitter,this.outFont=new e.EventEmitter,this.outBold=new e.EventEmitter,this.outItalic=new e.EventEmitter,this.outUnderline=new e.EventEmitter,this.outColor=new e.EventEmitter,this.fontSizeOptions=zt.getFontSizeOptions(),this.fontOptions=zt.getFontOptions(),this.colorPickerShow=!1,t.onClose.subscribe((function(){a.colorPickerShow=!1})),this.isMobile=n.isMobile(),n.onResize.subscribe((function(t){a.isMobile=n.isMobile()})),o.zoomChange.subscribe((function(t){a.isMobile&&a.changePosition(t)}))}return t.prototype.ngOnInit=function(){},t.prototype.changePosition=function(t){var e=window.innerHeight-24-this._elementRef.nativeElement.parentElement.getBoundingClientRect().top-this._elementRef.nativeElement.parentElement.getBoundingClientRect().height,o=this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"width",window.innerWidth+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"top",e+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"left",-o+"px")},t.prototype.selectFontSize=function(t){ie(".gd-wrapper").off("keyup"),this.outFontSize.emit(t.value),ie(".gd-wrapper").on("keyup",(function(){for(var e=document.getElementsByTagName("font"),o=0,n=e.length;o\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n',styles:["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"]}]}],t.ctorParameters=function(){return[{type:ct},{type:B},{type:x},{type:e.ElementRef},{type:e.Renderer2}]},t.propDecorators={blur:[{type:e.Input}],fontSize:[{type:e.Input}],font:[{type:e.Input}],bold:[{type:e.Input}],italic:[{type:e.Input}],underline:[{type:e.Input}],color:[{type:e.Input}],decoration:[{type:e.Input}],showTooltips:[{type:e.Input}],outFontSize:[{type:e.Output}],outFont:[{type:e.Output}],outBold:[{type:e.Output}],outItalic:[{type:e.Output}],outUnderline:[{type:e.Output}],outColor:[{type:e.Output}]},t}();var ae=function(){function t(){}return t.FOR_SIGNATURE="signature",t.FOR_ANNOTATION="annotation",t}();var se=function(){function t(t,o,n,i){var r=this;this._windowService=t,this._zoomService=o,this._elementRef=n,this.renderer=i,this.formatting=Ot.default(),this.lock=!1,this.translation=0,this.changeFormatting=new e.EventEmitter,this.removeItem=new e.EventEmitter,this.copySign=new e.EventEmitter,this.lockOut=new e.EventEmitter,this.comment=new e.EventEmitter,this.isMobile=t.isMobile(),t.onResize.subscribe((function(e){r.isMobile=t.isMobile()})),o.zoomChange.subscribe((function(t){r.isMobile&&r.changeScale(t)}))}return t.prototype.ngOnInit=function(){},t.prototype.changeScale=function(t){this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-context-menu"),"transform","scale("+1/(t/100)+")")},t.prototype.saveChanges=function(){this.changeFormatting.emit(this.formatting)},t.prototype.selectFontSize=function(t){this.formatting.fontSize=t,this.saveChanges()},t.prototype.selectFont=function(t){this.formatting.font=t,this.saveChanges()},t.prototype.selectColor=function(t){this.formatting.color=t,this.saveChanges()},t.prototype.toggleBold=function(t){this.formatting.bold=t,this.saveChanges()},t.prototype.toggleItalic=function(t){this.formatting.italic=t,this.saveChanges()},t.prototype.toggleUnderline=function(t){this.formatting.underline=t,this.saveChanges()},t.prototype.deleteItem=function(){this.removeItem.emit(!0)},t.prototype.toggleLock=function(){this.lock=!this.lock,this.lockOut.emit(this.lock)},t.prototype.onCopySign=function(){this.copySign.emit(!0)},t.prototype.isSignature=function(){return this.menuType===ae.FOR_SIGNATURE},t.prototype.isAnnotation=function(){return this.menuType===ae.FOR_ANNOTATION},t.prototype.addComment=function(){this.comment.emit(!0)},t.decorators=[{type:e.Component,args:[{selector:"gd-context-menu",template:'
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n',styles:[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"]}]}],t.ctorParameters=function(){return[{type:x},{type:B},{type:e.ElementRef},{type:e.Renderer2}]},t.propDecorators={formatting:[{type:e.Input}],textMenu:[{type:e.Input}],topPosition:[{type:e.Input}],lock:[{type:e.Input}],translation:[{type:e.Input}],menuType:[{type:e.Input}],changeFormatting:[{type:e.Output}],removeItem:[{type:e.Output}],copySign:[{type:e.Output}],lockOut:[{type:e.Output}],comment:[{type:e.Output}]},t}();var ce=[C,k,P,j,T,R,M,Y,J,K,Q,L,gt,$,W,B,ft,bt,wt,yt,x,nt,zt,Tt,ct,Bt,Ut,Pt,Jt,Kt,oe,V],pe=function(){function t(){a.library.add(s.fas,c.far)}return t.decorators=[{type:e.NgModule,args:[{imports:[o.CommonModule,r.FontAwesomeModule,g.ClickOutsideModule],declarations:[b,v,w,y,S,E,N,q,X,Z,G,Y,J,K,Q,tt,et,rt,at,st,pt,lt,dt,ut,ht,mt,xt,St,Ct,_t,Et,It,Dt,Rt,jt,Ht,Nt,Xt,Gt,Vt,qt,Zt,Yt,Qt,ee,ne,re,se],exports:[b,v,w,y,S,E,N,q,X,Z,G,J,K,Q,Y,tt,rt,at,pt,dt,ut,ht,mt,xt,St,Ct,_t,Et,It,Dt,Rt,jt,Nt,et,Xt,Gt,Vt,qt,st,qt,Zt,Yt,Qt,ee,ne,re,se,Ht,Rt],providers:ce}]}],t.ctorParameters=function(){return[]},t}();t.AddDynamicComponentService=Jt,t.Api=k,t.BackFormattingService=Tt,t.BrowseFilesModalComponent=N,t.ButtonComponent=w,t.ColorPickerComponent=Dt,t.CommonComponentsModule=pe,t.CommonModals=_,t.ConfigService=C,t.ContextMenuComponent=se,t.DisabledCursorDirective=lt,t.DndDirective=et,t.DocumentComponent=q,t.DropDownComponent=Xt,t.DropDownItemComponent=Gt,t.DropDownItemsComponent=Vt,t.DropDownToggleComponent=qt,t.EditHtmlService=Lt,t.EditorDirective=Ht,t.ErrorInterceptorService=wt,t.ErrorModalComponent=mt,t.ExcelDocumentComponent=X,t.ExcelPageComponent=G,t.ExcelPageService=V,t.ExceptionMessageService=ft,t.FileCredentials=z,t.FileDescription=D,t.FileModel=T,t.FileService=j,t.FileUtil=R,t.Formatting=Ot,t.FormattingDirective=Rt,t.FormattingService=zt,t.HighlightSearchPipe=Q,t.HostDynamicDirective=Qt,t.HostingDynamicComponentService=Kt,t.HttpError=A,t.InitStateComponent=ut,t.LeftSideBarComponent=Zt,t.LoadingMaskComponent=Nt,t.LoadingMaskInterceptorService=Bt,t.LoadingMaskService=Ut,t.LogoComponent=y,t.MenuType=ae,t.ModalComponent=E,t.ModalService=P,t.MouseWheelDirective=at,t.NavigateService=$,t.OnCloseService=ct,t.PageComponent=Z,t.PageModel=I,t.PagePreloadService=W,t.PasswordRequiredComponent=xt,t.PasswordService=bt,t.RenderPrintDirective=ht,t.RenderPrintService=gt,t.RotatedPage=O,t.RotationDirective=dt,t.SanitizeHtmlPipe=Y,t.SanitizeResourceHtmlPipe=J,t.SanitizeStylePipe=K,t.SaveFile=F,t.ScrollableDirective=rt,t.SearchComponent=St,t.SearchService=yt,t.SearchableDirective=Ct,t.SelectComponent=pt,t.SelectionService=At,t.SidePanelComponent=v,t.SuccessModalComponent=jt,t.TabActivatorService=Pt,t.TabComponent=Et,t.TabbedToolbarsComponent=_t,t.TextMenuComponent=re,t.TooltipComponent=S,t.TopTabActivatorService=oe,t.TopToolbarComponent=b,t.UploadFileZoneComponent=tt,t.UploadFilesService=L,t.Utils=M,t.ViewportService=nt,t.WindowService=x,t.ZoomDirective=st,t.ZoomService=B,t.ɵa=It,t.ɵb=Yt,t.ɵc=ee,t.ɵd=ne,Object.defineProperty(t,"__esModule",{value:!0})})); + ***************************************************************************** */var h=function(e,t){return(h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)};function f(e,t){function o(){this.constructor=e}h(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}function m(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}}var b=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"gd-top-toolbar",template:'
\r\n
\r\n \r\n
\r\n
\r\n',styles:[".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"]}]}],e.ctorParameters=function(){return[]},e}(),v=function(){function e(){this.closable=!0,this.saveable=!0,this.hideSidePanel=new t.EventEmitter,this.saveInSidePanel=new t.EventEmitter,this.onlyTitle=!1}return e.prototype.closeSidePanel=function(){this.hideSidePanel.emit(!0)},e.prototype.saveBySidePanel=function(){this.saveInSidePanel.emit(!0)},e.prototype.toggleTitleMode=function(){this.closable&&!this.saveable&&(this.onlyTitle=!this.onlyTitle)},e.decorators=[{type:t.Component,args:[{selector:"gd-side-panel",template:'
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={title:[{type:t.Input}],icon:[{type:t.Input}],closable:[{type:t.Input}],saveable:[{type:t.Input}],hideSidePanel:[{type:t.Output}],saveInSidePanel:[{type:t.Output}]},e}();var x=function(){function e(){var e=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(t){e.resizeSubject.next(t.target),e.width=t.target.innerWidth,e.height=t.target.innerHeight}))),this._resize$.subscribe()}return Object.defineProperty(e.prototype,"onResize",{get:function(){return this.resizeSubject.asObservable()},enumerable:!0,configurable:!0}),e.prototype.isMobile=function(){return this.width<=425},e.prototype.isTablet=function(){return this.width<=1024},e.prototype.isDesktop=function(){return!this.isMobile()&&!this.isTablet()},e.prototype.getWidth=function(){return this.width},e.prototype.getHeight=function(){return this.height},e.prototype.isEdge=function(){return window.navigator.userAgent.toLowerCase().indexOf("edge")>-1},e.prototype.isFirefox=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},e}();var w=function(){function e(e){var t=this;this.iconOnly=!0,this.intent="default",this.disabled=!1,this.toggle=!1,this.iconRegular=!1,this.elementPosition=0,this.showToolTip=!1,this.isDesktop=e.isDesktop(),e.onResize.subscribe((function(o){t.isDesktop=e.isDesktop()}))}return e.prototype.iconButtonClass=function(){return this.iconOnly?"icon-button":""},e.prototype.onHovering=function(){this.isDesktop&&!this.disabled&&(this.className+=" active")},e.prototype.onUnhovering=function(){this.isDesktop&&!this.disabled&&(this.className=this.cleanAll(this.className," active"))},e.prototype.cleanAll=function(e,t){for(;e&&-1!==e.indexOf(t);)e=e.replace(t,"");return e},e.decorators=[{type:t.Component,args:[{selector:"gd-button",template:'
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n',styles:[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],e.ctorParameters=function(){return[{type:x}]},e.propDecorators={iconOnly:[{type:t.Input}],intent:[{type:t.Input}],disabled:[{type:t.Input}],icon:[{type:t.Input}],iconClass:[{type:t.Input}],tooltip:[{type:t.Input}],className:[{type:t.Input}],toggle:[{type:t.Input}],iconSize:[{type:t.Input}],iconRegular:[{type:t.Input}],elementPosition:[{type:t.Input}]},e}();var y=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-logo",template:'\r\n\r\n',styles:[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={logo:[{type:t.Input}],icon:[{type:t.Input}]},e}();var S=function(){function e(){this.position=0,this.visibility="hidden"}return e.prototype.getClass=function(){return 0===this.position?"tooltip":"tooltip "+(this.position>0?"last-element":"first-element")},Object.defineProperty(e.prototype,"show",{set:function(e){this.visibility=e?"shown":"hidden"},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-tooltip",template:'\r\n',styles:['.tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:" ";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}']}]}],e.ctorParameters=function(){return[]},e.propDecorators={text:[{type:t.Input}],position:[{type:t.Input}],show:[{type:t.Input}]},e}();var k=function(){function e(){}return e.VIEWER_APP="/viewer",e.SIGNATURE_APP="/signature",e.ANNOTATION_APP="/annotation",e.SEARCH_APP="/search",e.EDITOR_APP="/editor",e.COMPARISON_APP="/comparison",e.CONVERSION_APP="/conversion",e.METADATA_APP="/metadata",e.DEFAULT_API_ENDPOINT=window.location.href,e.LOAD_FILE_TREE="/loadFileTree",e.LOAD_CONFIG="/loadConfig",e.LOAD_DOCUMENT_DESCRIPTION="/loadDocumentDescription",e.LOAD_DOCUMENT_PAGE="/loadDocumentPage",e.LOAD_DOCUMENT_PROPERTIES="/loadProperties",e.LOAD_DOCUMENT_PROPERTIES_NAMES="/loadPropertiesNames",e.SAVE_PROPERTY="/saveProperty",e.REMOVE_PROPERTY="/removeProperty",e.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",e.UPLOAD_DOCUMENTS="/uploadDocument",e.DOWNLOAD_DOCUMENTS="/downloadDocument",e.LOAD_PRINT="/loadPrint",e.LOAD_PRINT_PDF="/printPdf",e.LOAD_THUMBNAILS="/loadThumbnails",e.LOAD_FORMATS="/loadFormats",e.SAVE_FILE="/saveFile",e.CREATE_FILE="/createFile",e.COMPARE_FILES="/compare",e.CONVERT_FILE="/convert",e.DELETE_SIGNATURE_FILE="/deleteSignatureFile",e.REMOVE_FROM_INDEX="/removeFromIndex",e.GET_FILE_STATUS="/getFileStatus",e.SAVE_OPTICAL_CODE="/saveOpticalCode",e.SAVE_TEXT="/saveText",e.SAVE_IMAGE="/saveImage",e.SAVE_STAMP="/saveStamp",e.SIGN="/sign",e.DOWNLOAD_SIGNED="/downloadSigned",e.LOAD_SIGNATURE_IMAGE="/loadSignatureImage",e.ANNOTATE="/annotate",e.SEARCH="/search",e.ADD_FILES_TO_INDEX="/addFilesToIndex",e.CLEAN_METADATA="/clean",e.EXPORT_METADATA="/export",e.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},e.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},e}();var C=function(){function e(){this.apiEndpoint=k.DEFAULT_API_ENDPOINT}return Object.defineProperty(e.prototype,"apiEndpoint",{get:function(){return this._apiEndpoint},set:function(e){this._apiEndpoint=e&&e.trim().endsWith("/")?e.substring(0,e.length-1):e},enumerable:!0,configurable:!0}),e.prototype.getConfigEndpoint=function(e){return(this.apiEndpoint.endsWith(e)?this.apiEndpoint:this.apiEndpoint+e)+k.LOAD_CONFIG},e.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(k.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+k.VIEWER_APP},e.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+k.EDITOR_APP},e.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+k.COMPARISON_APP},e.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+k.CONVERSION_APP},e.prototype.getMetadataApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.METADATA_APP)?this._apiEndpoint:this._apiEndpoint+k.METADATA_APP},e.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(k.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+k.SIGNATURE_APP},e.prototype.getAnnotationApiEndpoint=function(){return this._apiEndpoint.endsWith(k.ANNOTATION_APP)?this._apiEndpoint:this._apiEndpoint+k.ANNOTATION_APP},e.prototype.getSearchApiEndpoint=function(){return this._apiEndpoint.endsWith(k.SEARCH_APP)?this._apiEndpoint:this._apiEndpoint+k.SEARCH_APP},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[]},e}();var _=function(){function e(){}return e.PasswordRequired="gd-password-required",e.ErrorMessage="gd-error-message",e.BrowseFiles="gd-browse-files",e.CreateDocument="gd-create-document",e.OperationSuccess="gd-success-modal",e.DrawHandSignature="gd-draw-hand-signature",e.DrawStampSignature="gd-draw-stamp-signature",e.InformationMessage="gd-information-message",e}();var P=function(){function e(){this.modals=[]}return e.prototype.add=function(e){this.modals.push(e)},e.prototype.remove=function(e){this.modals=this.modals.filter((function(t){return t.id!==e}))},e.prototype.open=function(e){var t=this.modals.filter((function(t){return t.id===e}))[0];t&&t.open()},e.prototype.close=function(e){var t=this.modals.filter((function(t){return t.id===e}))[0];t&&t.close()},e}();var E=function(){function e(e,o){this.modalService=e,this.visible=new t.EventEmitter,this.cancel=new t.EventEmitter,this.visibility=!1,this.element=o.nativeElement}return e.prototype.ngOnInit=function(){this.id?(document.body.appendChild(this.element),this.modalService.add(this)):console.error("modal must have an id")},e.prototype.ngOnDestroy=function(){this.modalService.remove(this.id),this.element.remove()},e.prototype.open=function(){this.visibility=!0,this.visible.emit(!0)},e.prototype.close=function(){event.preventDefault(),event.stopPropagation(),this.visibility=!1,this.visible.emit(!1)},e.prototype.onClose=function(e){e.stopPropagation(),e&&e.target&&"modalDialog"===e.target.id&&this.close()},e.prototype.cancelClose=function(){this.cancel.emit(!1),this.close()},e.decorators=[{type:t.Component,args:[{selector:"gd-modal",template:'
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
×
\r\n

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n',styles:["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"]}]}],e.ctorParameters=function(){return[{type:P},{type:t.ElementRef}]},e.propDecorators={id:[{type:t.Input}],title:[{type:t.Input}],visible:[{type:t.Output}],cancel:[{type:t.Output}]},e}();var I=function(){};var O=function(){};var z=function(e,t){this.guid=e,this.password=t};var F=function(e){function t(t,o,n){var i=e.call(this,t,o)||this;return i.content=n,i}return f(t,e),t}(z);var D=function(){this.printAllowed=!0};var T=function(){};var A=function(){function e(){}return e.BadRequest=400,e.Unauthorized=401,e.Forbidden=403,e.NotFound=404,e.TimeOut=408,e.Conflict=409,e.InternalServerError=500,e}();var M=function(){function e(){}return e.getMousePosition=function(e){var t={x:0,y:0},o=window.event,n=e||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,a=void 0!==o.screenX&&0!==o.screenY,s=void 0!==o.screenY&&0!==o.screenY;t.x=i||(a?o.screenX:n.touches[0].pageX),t.y=r||(s?o.screenY:n.touches[0].pageY)}else n.clientX&&(t.x=n.clientX+document.body.scrollLeft,t.y=n.clientY+document.body.scrollTop);return t},e.toRgb=function(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(t){var o=parseInt(t[1],16),n=parseInt(t[2],16),i=parseInt(t[3],16);return t?"rgb("+o+","+n+","+i+")":""}return e},e.toHex=function(e){if(e.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i))return"#"===e.charAt(0)?e:"#"+e;if(!e.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/))return"";var t=[parseInt(RegExp.$1,10),parseInt(RegExp.$2,10),parseInt(RegExp.$3,10)],o=function(e){if(e.length<2)for(var t=0,o=2-e.length;t0?e.map.unknown:e.map.folder:e.map[i]}return e.map.folder},e.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"}},e}();var j=function(){},L=function(){function e(){var e=this;this._uploadsChange=new n.Observable((function(t){return e._observer=t}))}return Object.defineProperty(e.prototype,"uploadsChange",{get:function(){return this._uploadsChange},enumerable:!0,configurable:!0}),e.prototype.changeFilesList=function(e){this._observer.next(e)},e}();var H=l,U=[{name:"Disc",icon:"hdd"},{name:"URL",icon:"link"}],N=function(){function e(e){this._uploadService=e,this.uploads=U,this.selectedFileGuid=new t.EventEmitter,this.selectedDirectory=new t.EventEmitter,this.urlForUpload=new t.EventEmitter,this.closing=new t.EventEmitter,this.showUploadUrl=!1,this.showUploadFile=!1}return e.prototype.ngOnInit=function(){},e.prototype.getSize=function(e){var t=e/1024/1024;if(t>1)return Math.round(100*t)/100+" MB";var o=e/1024;return o>1?Math.round(100*o)/100+" KB":e+" Bytes"},e.prototype.getFormatName=function(e){return R.find(e.name,e.directory).format},e.prototype.getFormatIcon=function(e){return R.find(e.name,e.directory).icon},e.prototype.choose=function(e){this.selectedFile=e,e.directory||e.isDirectory?this.selectedDirectory.emit(e.name):this.selectedFileGuid.emit(e.guid)},e.prototype.goUp=function(){if(this.selectedFile){var e=this.selectedFile.guid;e=e.length>0&&-1===e.indexOf("/")?"":e.replace(/\/[^\/]+\/?$/,""),this.selectedDirectory.emit(e)}},e.prototype.selectUpload=function(e){"URL"===e?this.showUploadUrl=!0:(this.showUploadUrl=!1,H("#gd-upload-input").trigger("click"))},e.prototype.refresh=function(e){e?(this.files=null,this.selectedDirectory.emit(""),this.showUploadUrl=!1,this.selectedFile=null):this.closing.emit(!0)},e.prototype.showSpinner=function(){return!this.files},e.prototype.uploadUrl=function(e){e&&(this.urlForUpload.emit(e),this.cleanUpload())},e.prototype.handleFileInput=function(e){this._uploadService.changeFilesList(e)},e.prototype.cleanUpload=function(){this.showUploadFile=!1,this.showUploadUrl=!1},e.decorators=[{type:t.Component,args:[{selector:"gd-browse-files-modal",template:'\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n',styles:[".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],e.ctorParameters=function(){return[{type:L}]},e.propDecorators={files:[{type:t.Input}],uploadConfig:[{type:t.Input}],selectedFileGuid:[{type:t.Output}],selectedDirectory:[{type:t.Output}],urlForUpload:[{type:t.Output}],closing:[{type:t.Output}]},e}();var B=function(){function e(){this._observer=new n.Subject,this._zoomChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"zoom",{get:function(){return this._zoom},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"zoomChange",{get:function(){return this._zoomChange},enumerable:!0,configurable:!0}),e.prototype.changeZoom=function(e){this._zoom=e,this._observer.next(e)},e.prototype.createZoomOption=function(e,t,o){return void 0===o&&(o=!1),{value:e,name:t,separator:o}},e.prototype.zoomOptions=function(e,t){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(e,"Fit Width"),this.createZoomOption(t,"Fit Height")]},e}();var W=function(){function e(){var e=this;this._checkPreload=new n.Observable((function(t){return e._observer=t}))}return Object.defineProperty(e.prototype,"checkPreload",{get:function(){return this._checkPreload},enumerable:!0,configurable:!0}),e.prototype.changeLastPageInView=function(e){this._observer&&this._observer.next(e)},e}();var $=function(){function e(e){this._pagePreloadService=e,this._currentPage=0,this._countPages=0,this._observer=new n.Subject,this._navigate=this._observer}return Object.defineProperty(e.prototype,"navigate",{get:function(){return this._navigate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"countPages",{get:function(){return this._countPages},set:function(e){this._countPages=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentPage",{get:function(){return this._currentPage},set:function(e){this._currentPage=e},enumerable:!0,configurable:!0}),e.prototype.nextPage=function(){this._currentPage1&&(this._currentPage--,this.navigateTo(this._currentPage))},e.prototype.toLastPage=function(){this._currentPage=this._countPages,this.navigateTo(this._currentPage)},e.prototype.toFirstPage=function(){this._currentPage=1,this.navigateTo(this._currentPage)},e.prototype.navigateTo=function(e){this.currentPage=e,this._pagePreloadService.changeLastPageInView(e),this._observer.next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:W}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(W))},token:e,providedIn:"root"}),e}();var q=function(){function e(e,t,o,n){var i=this;this._elementRef=e,this._zoomService=t,this._windowService=o,this._navigateService=n,this.wait=!1,this.docWidth=null,this.docHeight=null,this.viewportWidth=null,this.viewportHeight=null,this.scale=null,this.lastScale=null,this.container=null,this.doc=null,this.x=0,this.lastX=0,this.y=0,this.lastY=0,this.pinchCenter=null,this.pinchCenterOffset=null,this.curWidth=0,this.curHeight=0,t.zoomChange.subscribe((function(e){i.zoom=e})),this.isDesktop=o.isDesktop(),this._navigateService.navigate.subscribe((function(e){i.selectedPage=e}))}return e.prototype.ngOnInit=function(){this.ifPresentation()&&(this.selectedPage=this._navigateService.currentPage)},e.prototype.ngOnChanges=function(){},e.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)},e.prototype.ifExcel=function(){return"Microsoft Excel"===R.find(this.file.guid,!1).format},e.prototype.ifPresentation=function(){return"Microsoft PowerPoint"===R.find(this.file.guid,!1).format},e.prototype.getDimensionWithUnit=function(e,t){return this.ifPresentation()&&this.showActiveSlide&&!this.isVisible(t)?0:e+(this.mode?R.find(this.file.guid,!1).unit:"px")},e.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},e.prototype.ngAfterViewChecked=function(){},e.prototype.isVisible=function(e){return!this.ifPresentation()||e===this.selectedPage},e.decorators=[{type:t.Component,args:[{selector:"gd-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n',styles:[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:B},{type:x},{type:$}]},e.propDecorators={mode:[{type:t.Input}],preloadPageCount:[{type:t.Input}],file:[{type:t.Input}],selectedPage:[{type:t.Input}],showActiveSlide:[{type:t.Input}]},e}();var V=function(){function e(){}return e.prototype.getUpdatedPage=function(e){var t=(new DOMParser).parseFromString(e,"text/html"),o=t.querySelector("table"),n=0;t.querySelectorAll("table > tbody > tr:first-child td").forEach((function(e){n+=e.attributes.colspan?parseInt(e.attributes.colspan.value,10):1}));var i=this.createHeader(n,o);return t.querySelector("table").replaceWith(i),(new XMLSerializer).serializeToString(t).replace(/a0:/g,"").replace(/:a0/g,"")},e.prototype.getPageWithoutHeader=function(e){var t=(new DOMParser).parseFromString(e,"text/html");t.querySelector("colgroup").remove();var o=t.querySelector("table");return o.deleteRow(0),o.querySelectorAll("tr").forEach((function(e){e.deleteCell(0)})),t.querySelector("table").replaceWith(o),(new XMLSerializer).serializeToString(t)},e.prototype.createHeader=function(e,t){var o=document.createElement("thead");o.append(document.createElement("tr"));for(var n=0;n=0;)n=String.fromCharCode(e%o+t)+n,e=Math.floor(e/o)-1;return n},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),G=function(){function e(e){this._excelPageService=e}return e.prototype.ngOnInit=function(){!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},e.prototype.ngOnChanges=function(e){this.data=null!==this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,"").replace(/href="\/viewer/g,'href="http://localhost:8080/viewer').replace(/src="\/viewer/g,'src="http://localhost:8080/viewer').replace(/data="\/viewer/g,'data="http://localhost:8080/viewer'):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=this.data),this.data=null!==this.data&&e.data?this._excelPageService.getUpdatedPage(this.data):this.data},e.decorators=[{type:t.Component,args:[{selector:"gd-excel-page",template:'
\r\n
\r\n \r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}::ng-deep th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}::ng-deep td{vertical-align:middle!important}::ng-deep .page-grid-lines td{border:1px solid #e7e7e7!important}::ng-deep .page td:nth-child(1){border:1px solid #e7e7e7!important}::ng-deep tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}::ng-deep tr td.excel:first-child div{width:80px}::ng-deep tr th.excel:first-child{background-color:#f4f4f4;width:1%}::ng-deep tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"]}]}],e.ctorParameters=function(){return[{type:V}]},e.propDecorators={angle:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],number:[{type:t.Input}],data:[{type:t.Input}],isHtml:[{type:t.Input}],editable:[{type:t.Input}]},e}();var X=function(e){function o(t,o,n,i,r){var a=e.call(this,t,o,n,i)||this;return a.renderer=r,a.panzoom=null,a.navigateService=i,a}return f(o,e),o.prototype.ngOnInit=function(){this.currentPageNo=1},o.prototype.ngAfterViewInit=function(){var e=this;this.refreshExcelDocHeight(),this.pages.changes.subscribe((function(){e.refreshExcelDocHeight()})),this.navigateService.navigate.subscribe((function(t){t&&e.selectSheet(t)}));var t=this.getScrollBarWidth();this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"right",this.getScrollBarWidth()+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"bottom",this.getScrollBarWidth()+"px"),0===t&&this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"padding-right","17px")},o.prototype.getScrollBarWidth=function(){var e=document.querySelector(".gd-document");return e.offsetWidth-e.clientWidth},o.prototype.refreshExcelDocHeight=function(){this.doc=this._elementRef.nativeElement.children.item(0),this.panzoom=this._elementRef.nativeElement.children.item(0).children.item(0),this.doc.style.height=this.panzoom.scrollHeight+37+"px"},o.prototype.selectSheet=function(e){this.currentPageNo=e},o.prototype.getSheetName=function(e){return e.sheetName?e.sheetName:"Sheet "+e.number},o.decorators=[{type:t.Component,args:[{selector:"gd-excel-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n',styles:[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],o.ctorParameters=function(){return[{type:t.ElementRef},{type:B},{type:x},{type:$},{type:t.Renderer2}]},o.propDecorators={pages:[{type:t.ViewChildren,args:[G]}]},o}(q);var Z=function(){function e(){}return e.prototype.ngOnInit=function(){!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},e.prototype.ngOnChanges=function(e){this.data=null!==this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,"").replace(/href="\/viewer/g,'href="http://localhost:8080/viewer').replace(/src="\/viewer/g,'src="http://localhost:8080/viewer').replace(/data="\/viewer/g,'data="http://localhost:8080/viewer'):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=this.data)},e.decorators=[{type:t.Component,args:[{selector:"gd-page",template:'
\r\n
\r\n \r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={angle:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],number:[{type:t.Input}],data:[{type:t.Input}],isHtml:[{type:t.Input}],editable:[{type:t.Input}]},e}();var Y=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustHtml(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeHtml"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}();var J=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustResourceUrl(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeResourceHtml"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}();var K=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustStyle(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeStyle"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}();var Q=function(){function e(){}return e.prototype.transform=function(e,t){if(!t)return e;var o=new RegExp(t,"gi");return e.replace(o,"$&")},e.decorators=[{type:t.Pipe,args:[{name:"highlight"}]}],e}(),ee=function(){function e(e){this._uploadService=e,this.closeUpload=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.handleFileInput=function(e){this._uploadService.changeFilesList(e),this.onCloseUpload()},e.prototype.onCloseUpload=function(){this.closeUpload.emit(!0)},e.prototype.close=function(e){"gd-dropZone"===e.target.id&&this.onCloseUpload()},e.decorators=[{type:t.Component,args:[{selector:"gd-upload-file-zone",template:'
\r\n
\r\n \r\n
\r\n

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n',styles:[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"]}]}],e.ctorParameters=function(){return[{type:L}]},e.propDecorators={closeUpload:[{type:t.Output}]},e}();var te=function(){function e(e){this._uploadFilesService=e,this.closing=new t.EventEmitter,this.opening=new t.EventEmitter,this.dropped=new t.EventEmitter,this.active=!1,this.dragCounter=0}return e.prototype.onDragEnter=function(e){e.preventDefault(),e.stopPropagation(),this.dragCounter++,this.active=!0,this.opening.emit(!0)},e.prototype.onDragOver=function(e){return e.preventDefault(),e.stopPropagation(),!1},e.prototype.onDragLeave=function(e){e.preventDefault(),e.stopPropagation(),this.dragCounter--,0===this.dragCounter&&(this.active=!1,this.closeArea())},e.prototype.onDrop=function(e){e.preventDefault(),e.stopPropagation();var t=e.dataTransfer.files;t.length>0&&(this.active=!1,this.dropped.emit(!0),this._uploadFilesService.changeFilesList(t),this.closeArea())},e.prototype.onClick=function(e){this.closeArea()},e.prototype.closeArea=function(){this.closing.emit(!0),this.opening.emit(!1)},e.decorators=[{type:t.Directive,args:[{selector:"[gdDnd]"}]}],e.ctorParameters=function(){return[{type:L}]},e.propDecorators={closing:[{type:t.Output}],opening:[{type:t.Output}],dropped:[{type:t.Output}],active:[{type:t.HostBinding,args:["class.active"]}],onDragEnter:[{type:t.HostListener,args:["dragenter",["$event"]]}],onDragOver:[{type:t.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:t.HostListener,args:["dragleave",["$event"]]}],onDrop:[{type:t.HostListener,args:["drop",["$event"]]}],onClick:[{type:t.HostListener,args:["click",["$event"]]}]},e}();var oe=l,ne=function(){function e(){}return e.prototype.checkInViewport=function(e,t,o,n){if(void 0===t&&(t=100),void 0===o&&(o=0),void 0===n&&(n=.5),!e)return!1;var i=n,r=oe(window),a=r.scrollTop(),s=r.scrollLeft()+o,c=r.scrollLeft()+r.width()-10,p=r.scrollTop()+r.height();isNaN(t)&&(t=100);var l=t/100,d=oe(e).outerHeight()*l,u=oe(e).outerWidth()*l;if(!u||!d)return!1;var g=oe(e).offset(),h=g.left*l+u,f=g.top*l+d;if(!!(ch||pf))return!1;var m=parseFloat(Math.min(1,(f-a)/d).toFixed(2)),b=parseFloat(Math.min(1,(p-g.top*l)/d).toFixed(2));return parseFloat(Math.min(1,(h-s)/u).toFixed(2))*parseFloat(Math.min(1,(c-g.left*l)/u).toFixed(2))>=i&&m*b>=.5},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),ie=l,re=function(){function e(e,t,o,n,i,r){var a=this;this._elementRef=e,this._navigateService=t,this._pagePreloadService=o,this._zoomService=n,this._windowService=i,this._viewportService=r,this.zoom=100,this.loadedPagesSet=new Set,this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(e){a.zoom=e||a.zoom,a.refresh()}))}return e.prototype.ngAfterViewInit=function(){var e=this;this.zoom=this._zoomService.zoom?this._zoomService.zoom:this.zoom,this._navigateService.navigate.subscribe((function(t){e.currentPage=t,e.scrollToPage(t)})),this.refresh()},e.prototype.scrolling=function(){this.refresh()},e.prototype.resizing=function(){this.refresh()},e.prototype.scrollToPage=function(e){var t=this._elementRef.nativeElement,o=this.getPage(e),n=e>0?this.getPage(e-1):null,i=n&&ie(n).offset().top===ie(o).offset().top;if(!this._viewportService.checkInViewport(o,this.zoom)||!i){var r={left:0,top:this.calculateOffset(e)};t&&t.scroll(r)}},e.prototype.getChildren=function(){var e=this._elementRef?this._elementRef.nativeElement:null;if(e)return e.children.item(0).children.item(0).children},e.prototype.getPage=function(e){var t=this._elementRef?this._elementRef.nativeElement:null;if(t)return t.children.item(0).children.item(0).children.item(e-1)},e.prototype.calculateOffset=function(e){for(var t=this._windowService.isFirefox()?1:this.countPagesOnWidth(),o=this._windowService.isDesktop()?40:10,n=0,i=1;i0?a*this.getZoom()+o:0}return n},e.prototype.countPagesOnWidth=function(){var e=this.getPage(1);if(e){var t=Math.floor((this.getWidth()-150)/(e.getBoundingClientRect().width*this.getZoom()));if(0!==t)return t}return 1},e.prototype.refresh=function(){var e,t=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(e=1;e0?this.mouseWheelUp.emit(e):t<0&&this.mouseWheelDown.emit(e)},e.decorators=[{type:t.Directive,args:[{selector:"[gdMouseWheel]"}]}],e.propDecorators={mouseWheelUp:[{type:t.Output}],mouseWheelDown:[{type:t.Output}],onMouseWheelChrome:[{type:t.HostListener,args:["mousewheel",["$event"]]}],onMouseWheelFirefox:[{type:t.HostListener,args:["DOMMouseScroll",["$event"]]}],onMouseWheelIE:[{type:t.HostListener,args:["onmousewheel",["$event"]]}]},e}();var se=function(){function e(e,t,o){this._zoomService=e,this._windowService=t,this.zoomActive=!0,this.el=o}return e.prototype.ngOnDestroy=function(){},e.prototype.ngOnChanges=function(){this.setStyles(this._zoomService.zoom),this.resizePages(this._zoomService.zoom)},e.prototype.ngOnInit=function(){var e=this;this.zoomActive&&(this.setStyles(this._zoomService.zoom),this._zoomService.zoomChange.subscribe((function(t){e.setStyles(t),e.resizePages(t)})))},e.prototype.setStyles=function(e){if(this.zoomActive){var t=100===e?1:e/100;this._windowService.isEdge()?this.zoomInt=t:this.zoomInt=null,this._windowService.isEdge()?(this.transform="",this.transformOrigin=""):(this.transform="scale("+t+")",this.transformOrigin="top left");var o=0;this.file.pages.forEach((function(e){e.width>o&&(o=e.width)})),this.minWidth=o+R.find(this.file.guid,!1).unit}},e.prototype.getScrollWidth=function(e){return e.offsetWidth-e.clientWidth},e.prototype.getScrollHeight=function(e){return e.offsetHeight-e.clientHeight},e.prototype.resizePages=function(e){var t=100===e?1:e/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.el.nativeElement.parentElement.offsetHeight,i=this.getScrollWidth(this.el.nativeElement.parentElement),r=this.getScrollHeight(this.el.nativeElement.parentElement);this.width=o/t-i/t+"px",this.height=n/t-r/t+"px"},e.prototype.ngAfterViewInit=function(){this.setStyles(this._zoomService.zoom)},e.decorators=[{type:t.Directive,args:[{selector:"[gdZoom]"}]}],e.ctorParameters=function(){return[{type:B},{type:x},{type:t.ElementRef}]},e.propDecorators={zoomActive:[{type:t.Input}],file:[{type:t.Input}],zoomInt:[{type:t.HostBinding,args:["style.zoom"]}],transform:[{type:t.HostBinding,args:["style.transform"]}],transformOrigin:[{type:t.HostBinding,args:["style.transform-origin"]}],width:[{type:t.HostBinding,args:["style.width"]}],height:[{type:t.HostBinding,args:["style.height"]}],minWidth:[{type:t.HostBinding,args:["style.min-width"]}]},e}();var ce=function(){function e(){this._observer=new n.Subject,this._onClose=this._observer.asObservable()}return Object.defineProperty(e.prototype,"onClose",{get:function(){return this._onClose},enumerable:!0,configurable:!0}),e.prototype.close=function(e){this._observer.next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var pe=function(){function e(e){var o=this;this._onCloseService=e,this.disabled=!1,this.selected=new t.EventEmitter,this.isOpen=!1,e.onClose.subscribe((function(){o.close()}))}return e.prototype.open=function(){this.disabled||(this.isOpen=!0)},e.prototype.close=function(){this.isOpen=!1},e.prototype.onClickOutside=function(e){this.close()},e.prototype.toggle=function(e){e.preventDefault(),e.stopPropagation(),this.disabled||(this.isOpen=!this.isOpen)},e.prototype.select=function(e,t){e.preventDefault(),e.stopPropagation(),this.selected.emit(t),this.close()},e.decorators=[{type:t.Component,args:[{selector:"gd-select",template:'
\r\n
\r\n {{showSelected?.name}}\r\n
\r\n \r\n \r\n \r\n
\r\n',styles:[".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"]}]}],e.ctorParameters=function(){return[{type:ce}]},e.propDecorators={options:[{type:t.Input}],disabled:[{type:t.Input}],showSelected:[{type:t.Input}],selected:[{type:t.Output}],isOpen:[{type:t.Input}],icon:[{type:t.Input}]},e}();var le=function(){function e(){}return e.prototype.updateCursor=function(){this.cursor=!!this.dis},e.prototype.ngOnInit=function(){this.updateCursor()},e.prototype.ngOnChanges=function(e){this.updateCursor()},e.decorators=[{type:t.Directive,args:[{selector:"[gdDisabledCursor]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={dis:[{type:t.Input}],cursor:[{type:t.HostBinding,args:["class.inactive"]}]},e}();var de=function(){function e(){this.withMargin=!0}return e.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)},e.prototype.isLandscape=function(){return this.width>this.height},e.prototype.ngOnInit=function(){this.updateCursor()},e.prototype.ngOnChanges=function(e){this.updateCursor()},e.decorators=[{type:t.Directive,args:[{selector:"[gdRotation]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={angle:[{type:t.Input}],isHtmlMode:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],withMargin:[{type:t.Input}],animation:[{type:t.HostBinding,args:["style.animation"]}],transition:[{type:t.HostBinding,args:["style.transition-property"]}],transform:[{type:t.HostBinding,args:["style.transform"]}],margin:[{type:t.HostBinding,args:["style.margin"]}]},e}();var ue=function(){function e(){this.fileDropped=new t.EventEmitter,this.showUploadFile=!1}return e.prototype.ngOnInit=function(){},e.prototype.dropped=function(e){e&&(this.fileDropped.emit(e),this.showUploadFile=!1)},e.decorators=[{type:t.Component,args:[{selector:"gd-init-state",template:'
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n',styles:[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={icon:[{type:t.Input}],text:[{type:t.Input}],fileDropped:[{type:t.Output}]},e}();var ge=function(){function e(){var e=this;this._render=new n.Observable((function(t){return e._observer=t})),this._renderBlob=new n.Observable((function(t){return e._observerBlob=t}))}return Object.defineProperty(e.prototype,"renderPrint",{get:function(){return this._render},enumerable:!0,configurable:!0}),e.prototype.changePages=function(e){this._observer.next(e)},Object.defineProperty(e.prototype,"renderPrintBlob",{get:function(){return this._renderBlob},enumerable:!0,configurable:!0}),e.prototype.changeBlob=function(e){this._observerBlob.next(e)},e}();var he=function(){function e(e){var t=this;this._renderService=e,e.renderPrint.subscribe((function(e){t.renderPrint(e)})),e.renderPrintBlob.subscribe((function(e){t.renderPrintBlob(e)}))}return e.prototype.renderPrint=function(e){var t,o,n="";try{for(var i=m(e),r=i.next();!r.done;r=i.next()){var a=r.value;n+='
'}}catch(e){t={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}this.openWindow(n,e[0].width,e[0].height)},e.prototype.openWindow=function(e,t,o){var n="";if(t>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 a=window.open("","PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");a.focus(),a.document.writeln(r),a.document.writeln(e),a.document.close(),setTimeout((function(){a.focus(),a.print(),a.close()}),100)},e.prototype.renderPrintBlob=function(e){var t=URL.createObjectURL(e),o=window.open(t,"PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");o.focus(),o.print(),o.close()},e.decorators=[{type:t.Directive,args:[{selector:"[gdRenderPrint]"}]}],e.ctorParameters=function(){return[{type:ge}]},e.propDecorators={htmlMode:[{type:t.Input}]},e}();var fe=function(){function e(){this._observer=new n.BehaviorSubject("Server is not available"),this._messageChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),e.prototype.changeMessage=function(e){this._observer.next(e)},e}();var me=function(){function e(e){var t=this;e.messageChange.subscribe((function(e){return t.message=e}))}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-error-modal",template:'\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : \'Server is not available\'}}
\r\n
\r\n
\r\n
\r\n',styles:[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],e.ctorParameters=function(){return[{type:fe}]},e}();var be=function(){function e(){this._observer=new n.Subject,this._passChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"passChange",{get:function(){return this._passChange},enumerable:!0,configurable:!0}),e.prototype.setPassword=function(e){this._observer.next(e)},e}();var ve=l,xe=function(){function e(e,o){var n=this;this._passwordService=o,this.cancelEvent=new t.EventEmitter,e.messageChange.subscribe((function(e){return n.message=e}))}return e.prototype.ngOnInit=function(){},e.prototype.setPassword=function(e){this._passwordService.setPassword(e)},e.prototype.onCloseOpen=function(e){e?setTimeout((function(){var e=ve("#password");e&&e.focus()}),100):ve("#password").val("")},e.prototype.cancel=function(e){ve("#password").val(""),this.cancelEvent.emit(!0)},e.decorators=[{type:t.Component,args:[{selector:"gd-password-required",template:'\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n',styles:["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"]}]}],e.ctorParameters=function(){return[{type:fe},{type:be}]},e.propDecorators={cancelEvent:[{type:t.Output}]},e}();var we=function(){function e(e,t){this._modalService=e,this._messageService=t}return e.prototype.intercept=function(e,t){var o=this,r="background: maroon; color: white";return t.handle(e).pipe(i.map((function(e){return e})),i.catchError((function(e){if(e instanceof p.HttpErrorResponse)switch(e.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(e.error.message),o._modalService.open(_.ErrorMessage);break;case A.Forbidden:console.error("%c Forbidden 403",r),o._messageService.changeMessage(e.error.message),o._modalService.open(_.PasswordRequired)}return n.throwError(e)})))},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:P},{type:fe}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(P),t.ɵɵinject(fe))},token:e,providedIn:"root"}),e}();var ye=function(){function e(){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(e.prototype,"textChange",{get:function(){return this._textChange},enumerable:!0,configurable:!0}),e.prototype.setText=function(e){this._observer.next(e)},Object.defineProperty(e.prototype,"currentChange",{get:function(){return this._currentChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"totalChange",{get:function(){return this._totalChange},enumerable:!0,configurable:!0}),e.prototype.setCurrent=function(e){this._observerCurrent.next(e)},e.prototype.setTotal=function(e){this._observerTotal.next(e)},e}();var Se=function(){function e(e){var o=this;this._searchService=e,this.hidePanel=new t.EventEmitter(!1),this.current=0,this.total=0,e.totalChange.subscribe((function(e){o.total=e,o.current=0!==e?1:0,o._searchService.setCurrent(o.current)}))}return e.prototype.ngOnInit=function(){},e.prototype.setText=function(e){this._searchService.setText(e)},e.prototype.hide=function(){this.setText(""),this.hidePanel.emit(!0)},e.prototype.prev=function(){this.current>1&&(this.current--,this._searchService.setCurrent(this.current))},e.prototype.next=function(){this.current\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n',styles:[".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"]}]}],e.ctorParameters=function(){return[{type:ye}]},e.propDecorators={hidePanel:[{type:t.Output}],textElement:[{type:t.ViewChild,args:["text",{static:!0}]}]},e}();var ke=l,Ce=function(){function e(e,t,o,n){var i=this;this._elementRef=e,this._searchService=t,this._highlight=o,this._zoomService=n,this.current=0,this.total=0,this.zoom=100,t.currentChange.subscribe((function(e){i.current=e,0!==i.current&&i.moveToCurrent()})),t.textChange.subscribe((function(e){i.text=e,i.highlightSearch()})),this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(e){i.zoom=e||i.zoom}))}return e.prototype.highlightSearch=function(){var e=this._elementRef?this._elementRef.nativeElement:null;if(e){if(this.cleanHighlight(e),this.text){this.highlightEl(e);var t=e.querySelectorAll(".gd-highlight").length;this.total=t}else this.total=0;this._searchService.setTotal(this.total)}},e.prototype.moveToCurrent=function(){if(0!==this.current){this.getZoom();var e=this._elementRef?this._elementRef.nativeElement:null;if(e){e.querySelectorAll(".gd-highlight-select").forEach((function(e){ke(e).removeClass("gd-highlight-select")}));var t=e.querySelectorAll(".gd-highlight")[this.current-1];if(ke(t).addClass("gd-highlight-select"),t){var o={left:0,top:ke(t).offset().top+e.parentElement.parentElement.scrollTop-150};e.parentElement.parentElement.scroll(o)}}}},e.prototype.highlightEl=function(e){var t=ke(e).find("*").contents().filter((function(){var e=this.parentElement.nodeName.toLowerCase(),t=!this.classList||!this.classList.contains("gd-highlight");return 3===this.nodeType&&0!==this.textContent.trim().length&&"style"!==e&&"title"!==e&&"body"!==e&&"script"!==e&&t})),o=this.text,n=this._highlight;t.each((function(){var e=ke(this),t=e.text();t=n.transform(t,o),e.replaceWith(t)})),e.normalize()},e.prototype.cleanHighlight=function(e){for(var t=e.querySelectorAll(".gd-highlight"),o=0;o\r\n \r\n \r\n\r\n',styles:[".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={logo:[{type:t.Input}],icon:[{type:t.Input}]},e}();var Pe=function(){function e(){this._observer=new n.Subject,this._activeTabChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"activeTabChange",{get:function(){return this._activeTabChange},enumerable:!0,configurable:!0}),e.prototype.changeActiveTab=function(e){this._observer.next(e)},e}();var Ee=function(){function e(e){var t=this;this._tabActivatorService=e,this.disabled=!1,this.active=!1,this.content=!0,this._tabActivatorService.activeTabChange.subscribe((function(e){t.activation(e)}))}return e.prototype.activation=function(e){this.id===e?this.active=!0:this.active=!1},e.prototype.ngOnInit=function(){},e.prototype.selectTab=function(){this.disabled||this._tabActivatorService.changeActiveTab(this.id)},e.decorators=[{type:t.Component,args:[{selector:"gd-tab",template:'
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n',styles:[".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],e.ctorParameters=function(){return[{type:Pe}]},e.propDecorators={id:[{type:t.Input}],tabTitle:[{type:t.Input}],icon:[{type:t.Input}],disabled:[{type:t.Input}],active:[{type:t.Input}],content:[{type:t.Input}]},e}();var Ie=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"gd-tabs",template:'
\r\n \r\n
\r\n',styles:[".gd-tabs{display:-webkit-box;display:flex}"]}]}],e.ctorParameters=function(){return[]},e}(),Oe=function(){function e(e,t,o,n,i,r,a,s,c,p){this.fontSize=e,this.color=t,this.bgColor=o,this.bold=n,this.italic=i,this.underline=r,this.font=a,this.strikeout=s,this.align=c,this.list=p}return e.default=function(){return new e(10,"#000000","#FFFFFF",!1,!1,!1,"Arial",!1,"","")},e}();var ze=function(){function e(){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(e.prototype,"formatBoldChange",{get:function(){return this._formatBoldChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatUnderlineChange",{get:function(){return this._formatUnderlineChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatColorChange",{get:function(){return this._formatColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatBgColorChange",{get:function(){return this._formatBgColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatFontSizeChange",{get:function(){return this._formatFontSizeChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatFontChange",{get:function(){return this._formatFontChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"undo",{get:function(){return this._undo},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"redo",{get:function(){return this._redo},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatItalicChange",{get:function(){return this._formatItalicChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatStrikeoutChange",{get:function(){return this._formatStrikeoutChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatAlignChange",{get:function(){return this._formatAlignChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatListChange",{get:function(){return this._formatListChange},enumerable:!0,configurable:!0}),e.createFontSizeOption=function(e){return{value:e,name:e+"px",separator:!1}},e.getFontSizeOptions=function(){return[e.createFontSizeOption(8),e.createFontSizeOption(10),e.createFontSizeOption(12),e.createFontSizeOption(14),e.createFontSizeOption(16),e.createFontSizeOption(18),e.createFontSizeOption(20),e.createFontSizeOption(22),e.createFontSizeOption(24)]},e.createFontOption=function(e){return{value:e,name:e,separator:!1}},e.getFontOptions=function(){var e=this,t=[];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){t.push(e.createFontOption(o))})),t},e.prototype.changeFormatFontSize=function(e){this._observerFontSize.next(e)},e.prototype.changeFormatBold=function(e){this._observerBold.next(e)},e.prototype.changeFormatUnderline=function(e){this._observerUnderline.next(e)},e.prototype.Undo=function(){this._observerUndo.next()},e.prototype.Redo=function(){this._observerRedo.next()},e.prototype.changeFormatItalic=function(e){this._observerItalic.next(e)},e.prototype.changeFormatColor=function(e){this._observerColor.next(e)},e.prototype.changeFormatBgColor=function(e){this._observerBgColor.next(e)},e.prototype.changeFormatFont=function(e){this._observerFont.next(e)},e.prototype.changeFormatStrikeout=function(e){this._observerStrikeout.next(e)},e.prototype.changeFormatAlign=function(e){this._observerAlign.next(e)},e.prototype.changeFormatList=function(e){this._observerList.next(e)},e}();var Fe=["#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"],De=function(){function e(){this.isOpen=!1,this.selectedColor=new t.EventEmitter,this.closeOutside=new t.EventEmitter,this.colors=Fe,this.white="#FFFFFF"}return e.prototype.ngOnInit=function(){},e.prototype.select=function(e,t){e.preventDefault(),e.stopPropagation(),this.selectedColor.emit(t)},e.prototype.close=function(){this.isOpen=!1,this.closeOutside.emit(!0)},e.decorators=[{type:t.Component,args:[{selector:"gd-color-picker",template:'
\r\n
\r\n
\r\n
\r\n
\r\n',styles:[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={isOpen:[{type:t.Input}],selectedColor:[{type:t.Output}],closeOutside:[{type:t.Output}]},e}();var Te=function(e){function o(){return e.call(this)||this}return f(o,e),o.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],o.ctorParameters=function(){return[]},o.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new o},token:o,providedIn:"root"}),o}(ze),Ae=function(){function e(){this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return e.prototype.restoreSelection=function(){(this.selection&&!this.selection.collapsed||this.isIE)&&this.putSelection(this.selection)},e.prototype.captureSelection=function(){var e=window.getSelection();e.rangeCount>0&&(this.selection=e.getRangeAt(0))},e.prototype.putSelection=function(e){var t=window.getSelection();t.removeAllRanges(),t.addRange(e.cloneRange())},e.prototype.refreshSelection=function(){this.captureSelection(),this.restoreSelection()},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var Me=l,Re=function(){function e(e,t,o){this._formattingService=e,this._backFormattingService=t,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 e.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=Me(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)},e.prototype.checkJustify=function(){var e="";return e=document.queryCommandState("justifyCenter")?"center":e,e=document.queryCommandState("justifyFull")?"full":e,e=document.queryCommandState("justifyLeft")?"left":e,e=document.queryCommandState("justifyRight")?"right":e},e.prototype.checkList=function(){var e="";return e=document.queryCommandState("insertUnorderedList")?"unordered":e,e=document.queryCommandState("insertOrderedList")?"ordered":e},e.prototype.reportFontSize=function(){var e,t;if(window.getSelection?(t=window.getSelection()).rangeCount&&3===(e=t.getRangeAt(0).commonAncestorContainer).nodeType&&(e=e.parentNode):(t=document.getSelection())&&"Control"!==t.type&&(e=t.createRange().parentElement()),e)return parseInt(this.getComputedStyleProperty(e,"fontSize").replace("px",""),10)},e.prototype.getComputedStyleProperty=function(e,t){return window.getComputedStyle?window.getComputedStyle(e,null)[t]:e.currentStyle?e.currentStyle[t]:void 0},e.prototype.ngOnInit=function(){var e=this;this._formattingService.undo.subscribe((function(){e.toggleUndo()})),this._formattingService.redo.subscribe((function(){e.toggleRedo()})),this._formattingService.formatBoldChange.subscribe((function(t){e.bold=t,e.toggleBold()})),this._formattingService.formatUnderlineChange.subscribe((function(t){e.underline=t,e.toggleUnderline()})),this._formattingService.formatItalicChange.subscribe((function(t){e.italic=t,e.toggleItalic()})),this._formattingService.formatColorChange.subscribe((function(t){e.color=t,e.setColor(t)})),this._formattingService.formatBgColorChange.subscribe((function(t){e.bgColor=t,e.setBgColor(t)})),this._formattingService.formatFontSizeChange.subscribe((function(t){e.setFontSize(t)})),this._formattingService.formatFontChange.subscribe((function(t){e.font=t,e.setFont(t)})),this._formattingService.formatStrikeoutChange.subscribe((function(t){e.strikeout=t,e.toggleStrikeout()})),this._formattingService.formatAlignChange.subscribe((function(t){e.align=t,e.toggleAlign(e.align)})),this._formattingService.formatListChange.subscribe((function(t){var o=e.list===t;e.list=t,e.toggleList(e.list,o)}))},e.prototype.toggleBold=function(){document.execCommand("bold"),this._selectionService.refreshSelection()},e.prototype.toggleUnderline=function(){document.execCommand("underline"),this._selectionService.refreshSelection()},e.prototype.toggleItalic=function(){document.execCommand("italic"),this._selectionService.refreshSelection()},e.prototype.setBgColor=function(e){document.execCommand("backColor",!1,e),this._selectionService.refreshSelection()},e.prototype.setColor=function(e){document.execCommand("foreColor",!1,e),this._selectionService.refreshSelection()},e.prototype.setFontSize=function(e){if(document.getSelection().toString()){var t=""+document.getSelection()+"";this.bold&&(t=""+t+""),this.italic&&(t=""+t+""),this.underline&&(t=""+t+""),this.strikeout&&(t=""+t+""),document.execCommand("insertHTML",!1,t)}else document.execCommand("fontsize",!1,"7");this._selectionService.refreshSelection()},e.prototype.toggleUndo=function(){document.execCommand("undo")},e.prototype.toggleRedo=function(){document.execCommand("redo")},e.prototype.setFont=function(e){document.execCommand("fontName",!1,e),this._selectionService.refreshSelection()},e.prototype.toggleStrikeout=function(){document.execCommand("strikeThrough"),this._selectionService.refreshSelection()},e.prototype.toggleAlign=function(e){if(this.isIE)this.toggleAlignIE(e);else{switch(document.execCommand("styleWithCSS",!1,"true"),e){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()}},e.prototype.toggleAlignIE=function(e){this._selectionService.restoreSelection(),this._selectionService.captureSelection();var t=window.getSelection().focusNode.parentNode.parentNode;"full"===e&&(e="justify"),Me(t).css("text-align",e),this._selectionService.refreshSelection()},e.prototype.toggleList=function(e,t){switch(e){case"unordered":document.execCommand("insertUnorderedList",t);break;case"ordered":document.execCommand("insertOrderedList",t)}this._selectionService.refreshSelection()},e.decorators=[{type:t.Directive,args:[{selector:"[gdFormatting]"}]}],e.ctorParameters=function(){return[{type:ze},{type:Te},{type:Ae}]},e.propDecorators={mouseup:[{type:t.HostListener,args:["mouseup"]}]},e}();var je=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-success-modal",template:'\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n',styles:[".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"]}]}],e.ctorParameters=function(){return[]},e}(),Le=function(){function e(){this._observer=new n.Subject,this._htmlContent=this._observer.asObservable()}return Object.defineProperty(e.prototype,"observer",{get:function(){return this._observer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"htmlContent",{get:function(){return this._htmlContent},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var He=function(){function e(e,t){this._selectionService=e,this._htmlService=t,this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return e.prototype.onInput=function(e){if(this.text=e.target,this.isIE&&this.text.innerHTML){var t=this.text.innerHTML.toString();this._htmlService.observer.next(t)}},e.prototype.onMouseleave=function(e){this._selectionService.captureSelection(),this.isIE&&this._htmlService.observer.next(e.target.innerHTML.toString())},e.prototype.onBlur=function(e){if(e.preventDefault(),this._selectionService.restoreSelection(),this.text.innerHTML){var t=this.text.innerHTML.toString();this._htmlService.observer.next(t)}else this._htmlService.observer.next(e.target.innerHTML.toString())},e.decorators=[{type:t.Directive,args:[{selector:"[gdEditor]"}]}],e.ctorParameters=function(){return[{type:Ae},{type:Le}]},e.propDecorators={text:[{type:t.Input}],onInput:[{type:t.HostListener,args:["keyup",["$event"]]}],onMouseleave:[{type:t.HostListener,args:["mouseleave",["$event"]]}],onBlur:[{type:t.HostListener,args:["blur",["$event"]]}]},e}();var Ue=function(){function e(){this.onLoadingChanged=new t.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(k.SAVE_TEXT),this.stopList.push(k.SAVE_OPTICAL_CODE),this.stopList.push(k.LOAD_DOCUMENT_PAGE),this.stopList.push(k.LOAD_THUMBNAILS),this.stopList.push(k.GET_FILE_STATUS),this.stopList.push(k.LOAD_PRINT)}return e.prototype.onRequestStart=function(e){this.stopList.find((function(t){return e.url.includes(t)}))||(this.requests.push(e),this.notify())},e.prototype.onRequestFinish=function(e){var t=this.requests.indexOf(e);-1!==t&&this.requests.splice(t,1),this.notify()},e.prototype.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[]},e}();var Ne=function(){function e(e){this._loadingMaskService=e,this.loadingMask=!1}return e.prototype.ngOnInit=function(){},e.prototype.ngAfterViewInit=function(){var e=this;this._loadingMaskService.onLoadingChanged.subscribe((function(t){return e.loadingMask=t}))},e.decorators=[{type:t.Component,args:[{selector:"gd-loading-mask",template:'
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"]}]}],e.ctorParameters=function(){return[{type:Ue}]},e.propDecorators={loadingMask:[{type:t.Input}]},e}();var Be=function(){function e(e){this._loadingMaskService=e}return e.prototype.intercept=function(e,t){var o=this;this._loadingMaskService.onRequestStart(e);return t.handle(e).pipe(i.finalize((function(){return o._loadingMaskService.onRequestFinish(e)})))},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:Ue}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(Ue))},token:e,providedIn:"root"}),e}();var We={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},$e={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},qe=function(){function e(e){var t=this;this.dropdown=e,this.click=function(e){return t.dropdown.toggle(e)}}return e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down-toggle",template:"",encapsulation:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef((function(){return Xe}))]}]}]},e.propDecorators={click:[{type:t.HostListener,args:["click",["$event"]]}]},e}();var Ve=function(){function e(e){this.dropdown=e}return Object.defineProperty(e.prototype,"horizontalAlign",{get:function(){return We[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"verticalAlign",{get:function(){return $e[this.dropdown.getPlacement().v].top},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOpen",{get:function(){return this.dropdown.open},enumerable:!0,configurable:!0}),e.prototype.onClickOutside=function(e){this.dropdown.close()},e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down-items",template:'',encapsulation:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef((function(){return Xe}))]}]}]},e}();var Ge=function(){function e(e){var o=this;this.dropdown=e,this.class="drop-down-item",this.selected=new t.EventEmitter,this.click=function(){return o.selectEntry()}}return e.prototype.selectEntry=function(){this.selected.next(),this.dropdown.close()},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef((function(){return Xe}))]}]}]},e.propDecorators={class:[{type:t.HostBinding,args:["class"]}],selected:[{type:t.Output}],click:[{type:t.HostListener,args:["click"]}]},e}();var Xe=function(){function e(){this.placement={h:"center",v:"bottom"},this.open=!1,this.class="drop-down"}return e.prototype.close=function(){this.open=!1},e.prototype.toggle=function(e){e.stopPropagation(),this.open=!this.open,document.body.click()},e.prototype.getPlacement=function(){return this.placement},e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down",template:'',encapsulation:t.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}"]}]}],e.propDecorators={placement:[{type:t.Input}],open:[{type:t.Input},{type:t.HostBinding,args:["class.show"]}],class:[{type:t.HostBinding,args:["class"]}]},e}();var Ze=function(){function e(){this.showSpinner=!1}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-left-side-bar",template:'
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n',styles:[".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={showSpinner:[{type:t.Input}]},e}();var Ye=function(){function e(){this.showToolTip=new t.EventEmitter}return e.prototype.onHovering=function(){this.showToolTip.emit(!0)},e.prototype.onUnhovering=function(){this.showToolTip.emit(!1)},e.decorators=[{type:t.Directive,args:[{selector:"[gdTooltip]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={showToolTip:[{type:t.Output}],onHovering:[{type:t.HostListener,args:["mouseenter"]}],onUnhovering:[{type:t.HostListener,args:["mouseleave"]}]},e}();var Je=function(){function e(e,t){this._factoryResolver=e,this._appRef=t}return e.prototype.addDynamicComponent=function(e,t){var o=this,n=this._factoryResolver.resolveComponentFactory(t),i=e.createComponent(n);return i.onDestroy((function(){o._appRef.detachView(i.hostView)})),i},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.ComponentFactoryResolver},{type:t.ApplicationRef}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(t.ComponentFactoryResolver),t.ɵɵinject(t.ApplicationRef))},token:e,providedIn:"root"}),e}();var Ke=function(){function e(){this.hosts=[]}return e.prototype.add=function(e){this.hosts=this.hosts.filter((function(t){return t.ident!==e.ident})),this.hosts.push(e)},e.prototype.remove=function(e){this.hosts=this.hosts.filter((function(t){return t.ident!==e.ident}))},e.prototype.find=function(e){return this.hosts.find((function(t){return t.ident===e}))},e}();var Qe=function(){function e(e,t){this.viewContainerRef=e,this._hostingService=t}return e.prototype.ngAfterViewInit=function(){this._hostingService.add(this)},e.prototype.ngOnDestroy=function(){this._hostingService.remove(this),this.viewContainerRef.clear()},e.decorators=[{type:t.Directive,args:[{selector:"[gdHostDynamic]"}]}],e.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:Ke}]},e.propDecorators={ident:[{type:t.Input}]},e}();var et=l,tt=function(){function e(){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 t.EventEmitter,this.offsetY=new t.EventEmitter,this.offsetTop=new t.EventEmitter,this.offsetLeft=new t.EventEmitter,this.release=new t.EventEmitter,this.grab=!1}return e.prototype.ngAfterViewInit=function(){var e=this,t=et(this.getElementId(this.SE)),o=et(this.getElementId(this.NW));if(this.init&&t&&o&&t.offset()&&o.offset()){for(var n=t.offset().left-o.offset().left,i=t.offset().top-o.offset().top;n>=this.pageWidth||i>=this.pageHeight;)n/=2,i/=2;setTimeout((function(){e.offsetX.emit(n),e.offsetY.emit(i)}),100)}},e.prototype.ngOnInit=function(){},e.prototype.catchUp=function(e){e.preventDefault(),e.dataTransfer&&e.dataTransfer.setData("text","foo"),this.grab=!0,this.oldPosition=M.getMousePosition(e)},e.prototype.resize=function(e,t){if(this.grab){var o=M.getMousePosition(e);if(0!==o.x||0!==o.y){var n=this.NE===t||this.NW===t,i=this.SW===t||this.NW===t;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}}},e.prototype.setOffsets=function(e,t,o){var n=t?this.oldPosition.x-e.x:e.x-this.oldPosition.x,i=o?this.oldPosition.y-e.y:e.y-this.oldPosition.y;this.offsetX.emit(n),this.offsetY.emit(i)},e.prototype.end=function(e,t){this.resize(e,t),this.release.emit(!0),this.grab=!1},e.prototype.start=function(e){this.drop(e)},e.prototype.drop=function(e){e.stopPropagation(),e.preventDefault()},e.prototype.getElementId=function(e){return"#"+e+"-"+this.id},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={init:[{type:t.Input}],id:[{type:t.Input}],se:[{type:t.Input}],ne:[{type:t.Input}],sw:[{type:t.Input}],nw:[{type:t.Input}],pageWidth:[{type:t.Input}],pageHeight:[{type:t.Input}],offsetX:[{type:t.Output}],offsetY:[{type:t.Output}],offsetTop:[{type:t.Output}],offsetLeft:[{type:t.Output}],release:[{type:t.Output}]},e}();var ot=function(e){function t(){return e.call(this)||this}return f(t,e),t}(Pe),nt=function(){function e(e,o,n){var i=this;this._tabActivatorService=e,this._modalService=o,this._excMessageService=n,this.disabled=!1,this.activeTab=new t.EventEmitter,this.elementPosition=0,this.active=!1,this.showToolTip=!1,this._tabActivatorService.activeTabChange.subscribe((function(e){i.activation(e),null===e&&i.activeTab.emit("")}))}return e.prototype.activation=function(e){this.id===e?(this.active=!this.active,this.active?this.activeTab.emit(this.id):this.activeTab.emit("")):this.active=!1},e.prototype.ngOnInit=function(){},e.prototype.toggleTab=function(){if(this.disabled)return this._modalService.open(_.ErrorMessage),void this._excMessageService.changeMessage("Please open document first");this._tabActivatorService.changeActiveTab(this.id)},e.decorators=[{type:t.Component,args:[{selector:"gd-top-tab",template:'
\r\n \r\n \r\n
\r\n',styles:[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"]}]}],e.ctorParameters=function(){return[{type:ot},{type:P},{type:fe}]},e.propDecorators={id:[{type:t.Input}],icon:[{type:t.Input}],disabled:[{type:t.Input}],tooltip:[{type:t.Input}],activeTab:[{type:t.Output}],elementPosition:[{type:t.Input}]},e}();var it=l,rt=function(){function e(e,o,n,i,r){var a=this;this._onCloseService=e,this._zoomService=o,this._windowService=n,this._elementRef=i,this.renderer=r,this.decoration=!0,this.showTooltips=!0,this.outFontSize=new t.EventEmitter,this.outFont=new t.EventEmitter,this.outBold=new t.EventEmitter,this.outItalic=new t.EventEmitter,this.outUnderline=new t.EventEmitter,this.outColor=new t.EventEmitter,this.fontSizeOptions=ze.getFontSizeOptions(),this.fontOptions=ze.getFontOptions(),this.colorPickerShow=!1,e.onClose.subscribe((function(){a.colorPickerShow=!1})),this.isMobile=n.isMobile(),n.onResize.subscribe((function(e){a.isMobile=n.isMobile()})),o.zoomChange.subscribe((function(e){a.isMobile&&a.changePosition(e)}))}return e.prototype.ngOnInit=function(){},e.prototype.changePosition=function(e){var t=window.innerHeight-24-this._elementRef.nativeElement.parentElement.getBoundingClientRect().top-this._elementRef.nativeElement.parentElement.getBoundingClientRect().height,o=this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"width",window.innerWidth+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"top",t+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"left",-o+"px")},e.prototype.selectFontSize=function(e){it(".gd-wrapper").off("keyup"),this.outFontSize.emit(e.value),it(".gd-wrapper").on("keyup",(function(){for(var t=document.getElementsByTagName("font"),o=0,n=t.length;o\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n',styles:["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"]}]}],e.ctorParameters=function(){return[{type:ce},{type:B},{type:x},{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={blur:[{type:t.Input}],fontSize:[{type:t.Input}],font:[{type:t.Input}],bold:[{type:t.Input}],italic:[{type:t.Input}],underline:[{type:t.Input}],color:[{type:t.Input}],decoration:[{type:t.Input}],showTooltips:[{type:t.Input}],outFontSize:[{type:t.Output}],outFont:[{type:t.Output}],outBold:[{type:t.Output}],outItalic:[{type:t.Output}],outUnderline:[{type:t.Output}],outColor:[{type:t.Output}]},e}();var at=function(){function e(){}return e.FOR_SIGNATURE="signature",e.FOR_ANNOTATION="annotation",e}();var st=function(){function e(e,o,n,i){var r=this;this._windowService=e,this._zoomService=o,this._elementRef=n,this.renderer=i,this.formatting=Oe.default(),this.lock=!1,this.translation=0,this.changeFormatting=new t.EventEmitter,this.removeItem=new t.EventEmitter,this.copySign=new t.EventEmitter,this.lockOut=new t.EventEmitter,this.comment=new t.EventEmitter,this.isMobile=e.isMobile(),e.onResize.subscribe((function(t){r.isMobile=e.isMobile()})),o.zoomChange.subscribe((function(e){r.isMobile&&r.changeScale(e)}))}return e.prototype.ngOnInit=function(){},e.prototype.changeScale=function(e){this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-context-menu"),"transform","scale("+1/(e/100)+")")},e.prototype.saveChanges=function(){this.changeFormatting.emit(this.formatting)},e.prototype.selectFontSize=function(e){this.formatting.fontSize=e,this.saveChanges()},e.prototype.selectFont=function(e){this.formatting.font=e,this.saveChanges()},e.prototype.selectColor=function(e){this.formatting.color=e,this.saveChanges()},e.prototype.toggleBold=function(e){this.formatting.bold=e,this.saveChanges()},e.prototype.toggleItalic=function(e){this.formatting.italic=e,this.saveChanges()},e.prototype.toggleUnderline=function(e){this.formatting.underline=e,this.saveChanges()},e.prototype.deleteItem=function(){this.removeItem.emit(!0)},e.prototype.toggleLock=function(){this.lock=!this.lock,this.lockOut.emit(this.lock)},e.prototype.onCopySign=function(){this.copySign.emit(!0)},e.prototype.isSignature=function(){return this.menuType===at.FOR_SIGNATURE},e.prototype.isAnnotation=function(){return this.menuType===at.FOR_ANNOTATION},e.prototype.addComment=function(){this.comment.emit(!0)},e.decorators=[{type:t.Component,args:[{selector:"gd-context-menu",template:'
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n',styles:[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"]}]}],e.ctorParameters=function(){return[{type:x},{type:B},{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={formatting:[{type:t.Input}],textMenu:[{type:t.Input}],topPosition:[{type:t.Input}],lock:[{type:t.Input}],translation:[{type:t.Input}],menuType:[{type:t.Input}],changeFormatting:[{type:t.Output}],removeItem:[{type:t.Output}],copySign:[{type:t.Output}],lockOut:[{type:t.Output}],comment:[{type:t.Output}]},e}();var ct=[C,k,P,j,T,R,M,Y,J,K,Q,L,ge,$,W,B,fe,be,we,ye,x,ne,ze,Te,ce,Be,Ue,Pe,Je,Ke,ot,V],pt=function(){function e(){a.library.add(s.fas,c.far)}return e.decorators=[{type:t.NgModule,args:[{imports:[o.CommonModule,r.FontAwesomeModule,g.ClickOutsideModule],declarations:[b,v,w,y,S,E,N,q,X,Z,G,Y,J,K,Q,ee,te,re,ae,se,pe,le,de,ue,he,me,xe,Se,Ce,_e,Ee,Ie,De,Re,je,He,Ne,Xe,Ge,Ve,qe,Ze,Ye,Qe,tt,nt,rt,st],exports:[b,v,w,y,S,E,N,q,X,Z,G,J,K,Q,Y,ee,re,ae,pe,de,ue,he,me,xe,Se,Ce,_e,Ee,Ie,De,Re,je,Ne,te,Xe,Ge,Ve,qe,se,qe,Ze,Ye,Qe,tt,nt,rt,st,He,Re],providers:ct}]}],e.ctorParameters=function(){return[]},e}();e.AddDynamicComponentService=Je,e.Api=k,e.BackFormattingService=Te,e.BrowseFilesModalComponent=N,e.ButtonComponent=w,e.ColorPickerComponent=De,e.CommonComponentsModule=pt,e.CommonModals=_,e.ConfigService=C,e.ContextMenuComponent=st,e.DisabledCursorDirective=le,e.DndDirective=te,e.DocumentComponent=q,e.DropDownComponent=Xe,e.DropDownItemComponent=Ge,e.DropDownItemsComponent=Ve,e.DropDownToggleComponent=qe,e.EditHtmlService=Le,e.EditorDirective=He,e.ErrorInterceptorService=we,e.ErrorModalComponent=me,e.ExcelDocumentComponent=X,e.ExcelPageComponent=G,e.ExcelPageService=V,e.ExceptionMessageService=fe,e.FileCredentials=z,e.FileDescription=D,e.FileModel=T,e.FileService=j,e.FileUtil=R,e.Formatting=Oe,e.FormattingDirective=Re,e.FormattingService=ze,e.HighlightSearchPipe=Q,e.HostDynamicDirective=Qe,e.HostingDynamicComponentService=Ke,e.HttpError=A,e.InitStateComponent=ue,e.LeftSideBarComponent=Ze,e.LoadingMaskComponent=Ne,e.LoadingMaskInterceptorService=Be,e.LoadingMaskService=Ue,e.LogoComponent=y,e.MenuType=at,e.ModalComponent=E,e.ModalService=P,e.MouseWheelDirective=ae,e.NavigateService=$,e.OnCloseService=ce,e.PageComponent=Z,e.PageModel=I,e.PagePreloadService=W,e.PasswordRequiredComponent=xe,e.PasswordService=be,e.RenderPrintDirective=he,e.RenderPrintService=ge,e.RotatedPage=O,e.RotationDirective=de,e.SanitizeHtmlPipe=Y,e.SanitizeResourceHtmlPipe=J,e.SanitizeStylePipe=K,e.SaveFile=F,e.ScrollableDirective=re,e.SearchComponent=Se,e.SearchService=ye,e.SearchableDirective=Ce,e.SelectComponent=pe,e.SelectionService=Ae,e.SidePanelComponent=v,e.SuccessModalComponent=je,e.TabActivatorService=Pe,e.TabComponent=Ee,e.TabbedToolbarsComponent=_e,e.TextMenuComponent=rt,e.TooltipComponent=S,e.TopTabActivatorService=ot,e.TopToolbarComponent=b,e.UploadFileZoneComponent=ee,e.UploadFilesService=L,e.Utils=M,e.ViewportService=ne,e.WindowService=x,e.ZoomDirective=se,e.ZoomService=B,e.ɵa=Ie,e.ɵb=Ye,e.ɵc=tt,e.ɵd=nt,Object.defineProperty(e,"__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 557fa754a..6a10288ed 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js.map +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__values","o","m","Symbol","iterator","i","call","next","length","value","done","TopToolbarComponent","Component","args","selector","template","SidePanelComponent","closable","saveable","hideSidePanel","EventEmitter","saveInSidePanel","onlyTitle","closeSidePanel","emit","saveBySidePanel","toggleTitleMode","Input","Output","WindowService","_this","resizeSubject","Subject","width","window","innerWidth","height","innerHeight","_resize$","fromEvent","pipe","debounceTime","distinctUntilChanged","startWith","target","tap","event","subscribe","defineProperty","asObservable","isMobile","isTablet","isDesktop","getWidth","getHeight","isEdge","navigator","userAgent","toLowerCase","indexOf","isFirefox","ButtonComponent","windowService","iconOnly","intent","disabled","toggle","iconRegular","elementPosition","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","position","visibility","getClass","Api","VIEWER_APP","SIGNATURE_APP","ANNOTATION_APP","SEARCH_APP","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","METADATA_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","LOAD_DOCUMENT_PROPERTIES","LOAD_DOCUMENT_PROPERTIES_NAMES","SAVE_PROPERTY","REMOVE_PROPERTY","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","CREATE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","REMOVE_FROM_INDEX","GET_FILE_STATUS","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","SEARCH","ADD_FILES_TO_INDEX","CLEAN_METADATA","EXPORT_METADATA","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getMetadataApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","getSearchApiEndpoint","Injectable","CommonModals","PasswordRequired","ErrorMessage","BrowseFiles","CreateDocument","OperationSuccess","DrawHandSignature","DrawStampSignature","InformationMessage","ModalService","modals","add","modal","push","remove","id","filter","x","open","close","ModalComponent","modalService","el","visible","cancel","element","nativeElement","document","body","appendChild","console","error","ngOnDestroy","preventDefault","stopPropagation","onClose","$event","cancelClose","ElementRef","RotatedPage","FileCredentials","guid","password","SaveFile","_super","content","tslib_1.__extends","FileDescription","printAllowed","FileModel","HttpError","BadRequest","Unauthorized","Forbidden","NotFound","TimeOut","Conflict","InternalServerError","Utils","getMousePosition","mouse","y","wEvent","ev","pageX","screenX","touches","pageY","screenX_1","screenY","screenY_1","clientX","scrollLeft","clientY","scrollTop","toRgb","color","result","exec","r","parseInt","g","toHex","match","charAt","c","RegExp","$1","$2","$3","pad","len","toString","FileUtil","find","filename","isDirectory","strings","split","name_1","pop","map","folder","format","icon","pdf","unit","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown","FileService","UploadFilesService","_uploadsChange","Observable","observer","_observer","changeFilesList","filesList","$","jquery","uploads_choices","name","BrowseFilesModalComponent","_uploadService","uploads","selectedFileGuid","selectedDirectory","urlForUpload","closing","showUploadUrl","showUploadFile","getSize","size","mb","Math","round","kb","getFormatName","file","directory","getFormatIcon","choose","selectedFile","goUp","selectUpload","trigger","refresh","files","showSpinner","uploadUrl","cleanUpload","handleFileInput","ZoomService","_zoomChange","_zoom","changeZoom","zoom","createZoomOption","sep","separator","zoomOptions","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","DocumentComponent","_elementRef","_zoomService","_windowService","_navigateService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","navigate","selectedPage","ifPresentation","ngOnChanges","ngAfterViewInit","children","item","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","pageNumber","showActiveSlide","isVisible","mode","ifEdge","ngAfterViewChecked","ExcelPageService","getUpdatedPage","data","DOMParser","parseFromString","table","querySelector","numCellsInFirstRow","querySelectorAll","forEach","elm","attributes","newTable","createHeader","replaceWith","XMLSerializer","serializeToString","getPageWithoutHeader","deleteRow","row","deleteCell","numCols","header","createElement","append","th","innerText","colName","setAttribute","colgroup","col","prepend","cnt","div","td","n","ordA","charCodeAt","s","String","fromCharCode","floor","ExcelPageComponent","_excelPageService","test","number","editable","changes","imgData","isHtml","ExcelDocumentComponent","zoomService","navigateService","renderer","panzoom","currentPageNo","refreshExcelDocHeight","pages","selectSheet","scrollbarWidth","getScrollBarWidth","setStyle","documentBox","style","scrollHeight","Renderer2","ViewChildren","PageComponent","SanitizeHtmlPipe","sanitizer","transform","bypassSecurityTrustHtml","Pipe","DomSanitizer","SanitizeResourceHtmlPipe","bypassSecurityTrustResourceUrl","SanitizeStylePipe","bypassSecurityTrustStyle","HighlightSearchPipe","re","UploadFileZoneComponent","closeUpload","onCloseUpload","DndDirective","_uploadFilesService","opening","dropped","active","dragCounter","onDragEnter","evt","onDragOver","onDragLeave","closeArea","onDrop","dataTransfer","onClick","Directive","HostBinding","HostListener","ViewportService","checkInViewport","leftOffset","deltaX","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","min","toFixed","ScrollableDirective","_viewportService","loadedPagesSet","Set","scrollToPage","scrolling","resizing","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","has","MouseWheelDirective","mouseWheelUp","mouseWheelDown","onMouseWheelChrome","mouseWheelFunc","onMouseWheelFirefox","onMouseWheelIE","delta","max","wheelDelta","detail","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","minWidth","getScrollWidth","getScrollHeight","viewPortWidth","parentElement","viewPortHeight","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","pages_1","tslib_1.__values","pages_1_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","setTimeout","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","changeMessage","message","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","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","normalize","nodeListOf","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","center","verticalAlignment","DropDownToggleComponent","dropdown","click","encapsulation","ViewEncapsulation","None","Inject","forwardRef","DropDownComponent","DropDownItemsComponent","getPlacement","h","v","DropDownItemComponent","class","selectEntry","placement","LeftSideBarComponent","TooltipDirective","AddDynamicComponentService","_factoryResolver","_appRef","addDynamicComponent","viewContainerRef","component","factory","resolveComponentFactory","componentRef","createComponent","onDestroy","detachView","hostView","ComponentFactoryResolver","ApplicationRef","HostingDynamicComponentService","hosts","host","ident","HostDynamicDirective","_hostingService","clear","ViewContainerRef","ResizingComponent","se","ne","sw","nw","SE","NE","SW","NW","offsetX","offsetY","offsetTop","offsetLeft","release","grab","elSE","getElementId","elNW","init","width_1","height_1","pageWidth","pageHeight","catchUp","setData","oldPosition","resize","notSW","notNE","setOffsets","end","start","drop","TopTabActivatorService","TopTabComponent","_excMessageService","activeTab","toggleTab","TextMenuComponent","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","changePosition","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","changeScale","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__values","o","m","Symbol","iterator","i","call","next","length","value","done","TopToolbarComponent","Component","args","selector","template","SidePanelComponent","closable","saveable","hideSidePanel","EventEmitter","saveInSidePanel","onlyTitle","closeSidePanel","emit","saveBySidePanel","toggleTitleMode","Input","Output","WindowService","_this","resizeSubject","Subject","width","window","innerWidth","height","innerHeight","_resize$","fromEvent","pipe","debounceTime","distinctUntilChanged","startWith","target","tap","event","subscribe","defineProperty","asObservable","isMobile","isTablet","isDesktop","getWidth","getHeight","isEdge","navigator","userAgent","toLowerCase","indexOf","isFirefox","ButtonComponent","windowService","iconOnly","intent","disabled","toggle","iconRegular","elementPosition","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","position","visibility","getClass","Api","VIEWER_APP","SIGNATURE_APP","ANNOTATION_APP","SEARCH_APP","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","METADATA_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","LOAD_DOCUMENT_PROPERTIES","LOAD_DOCUMENT_PROPERTIES_NAMES","SAVE_PROPERTY","REMOVE_PROPERTY","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","CREATE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","REMOVE_FROM_INDEX","GET_FILE_STATUS","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","SEARCH","ADD_FILES_TO_INDEX","CLEAN_METADATA","EXPORT_METADATA","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getMetadataApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","getSearchApiEndpoint","Injectable","CommonModals","PasswordRequired","ErrorMessage","BrowseFiles","CreateDocument","OperationSuccess","DrawHandSignature","DrawStampSignature","InformationMessage","ModalService","modals","add","modal","push","remove","id","filter","x","open","close","ModalComponent","modalService","el","visible","cancel","element","nativeElement","document","body","appendChild","console","error","ngOnDestroy","preventDefault","stopPropagation","onClose","$event","cancelClose","ElementRef","RotatedPage","FileCredentials","guid","password","SaveFile","_super","content","tslib_1.__extends","FileDescription","printAllowed","FileModel","HttpError","BadRequest","Unauthorized","Forbidden","NotFound","TimeOut","Conflict","InternalServerError","Utils","getMousePosition","mouse","y","wEvent","ev","pageX","screenX","touches","pageY","screenX_1","screenY","screenY_1","clientX","scrollLeft","clientY","scrollTop","toRgb","color","result","exec","r","parseInt","g","toHex","match","charAt","c","RegExp","$1","$2","$3","pad","len","toString","FileUtil","find","filename","isDirectory","strings","split","name_1","pop","map","folder","format","icon","pdf","unit","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown","FileService","UploadFilesService","_uploadsChange","Observable","observer","_observer","changeFilesList","filesList","$","jquery","uploads_choices","name","BrowseFilesModalComponent","_uploadService","uploads","selectedFileGuid","selectedDirectory","urlForUpload","closing","showUploadUrl","showUploadFile","getSize","size","mb","Math","round","kb","getFormatName","file","directory","getFormatIcon","choose","selectedFile","goUp","selectUpload","trigger","refresh","files","showSpinner","uploadUrl","cleanUpload","handleFileInput","ZoomService","_zoomChange","_zoom","changeZoom","zoom","createZoomOption","sep","separator","zoomOptions","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","DocumentComponent","_elementRef","_zoomService","_windowService","_navigateService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","navigate","selectedPage","ifPresentation","ngOnChanges","ngAfterViewInit","children","item","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","pageNumber","showActiveSlide","isVisible","mode","ifEdge","ngAfterViewChecked","ExcelPageService","getUpdatedPage","data","DOMParser","parseFromString","table","querySelector","numCellsInFirstRow","querySelectorAll","forEach","elm","attributes","newTable","createHeader","replaceWith","XMLSerializer","serializeToString","getPageWithoutHeader","deleteRow","row","deleteCell","numCols","header","createElement","append","th","innerText","colName","setAttribute","colgroup","col","prepend","cnt","div","td","n","ordA","charCodeAt","s","String","fromCharCode","floor","ExcelPageComponent","_excelPageService","test","number","editable","changes","imgData","isHtml","ExcelDocumentComponent","zoomService","navigateService","renderer","panzoom","currentPageNo","refreshExcelDocHeight","pages","selectSheet","scrollbarWidth","getScrollBarWidth","setStyle","documentBox","style","scrollHeight","getSheetName","sheetName","Renderer2","ViewChildren","PageComponent","SanitizeHtmlPipe","sanitizer","transform","bypassSecurityTrustHtml","Pipe","DomSanitizer","SanitizeResourceHtmlPipe","bypassSecurityTrustResourceUrl","SanitizeStylePipe","bypassSecurityTrustStyle","HighlightSearchPipe","re","UploadFileZoneComponent","closeUpload","onCloseUpload","DndDirective","_uploadFilesService","opening","dropped","active","dragCounter","onDragEnter","evt","onDragOver","onDragLeave","closeArea","onDrop","dataTransfer","onClick","Directive","HostBinding","HostListener","ViewportService","checkInViewport","leftOffset","deltaX","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","min","toFixed","ScrollableDirective","_viewportService","loadedPagesSet","Set","scrollToPage","scrolling","resizing","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","has","MouseWheelDirective","mouseWheelUp","mouseWheelDown","onMouseWheelChrome","mouseWheelFunc","onMouseWheelFirefox","onMouseWheelIE","delta","max","wheelDelta","detail","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","minWidth","getScrollWidth","getScrollHeight","viewPortWidth","parentElement","viewPortHeight","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","pages_1","tslib_1.__values","pages_1_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","setTimeout","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","changeMessage","message","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","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","normalize","nodeListOf","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","center","verticalAlignment","DropDownToggleComponent","dropdown","click","encapsulation","ViewEncapsulation","None","Inject","forwardRef","DropDownComponent","DropDownItemsComponent","getPlacement","h","v","DropDownItemComponent","class","selectEntry","placement","LeftSideBarComponent","TooltipDirective","AddDynamicComponentService","_factoryResolver","_appRef","addDynamicComponent","viewContainerRef","component","factory","resolveComponentFactory","componentRef","createComponent","onDestroy","detachView","hostView","ComponentFactoryResolver","ApplicationRef","HostingDynamicComponentService","hosts","host","ident","HostDynamicDirective","_hostingService","clear","ViewContainerRef","ResizingComponent","se","ne","sw","nw","SE","NE","SW","NW","offsetX","offsetY","offsetTop","offsetLeft","release","grab","elSE","getElementId","elNW","init","width_1","height_1","pageWidth","pageHeight","catchUp","setData","oldPosition","resize","notSW","notNE","setOffsets","end","start","drop","TopTabActivatorService","TopTabComponent","_excMessageService","activeTab","toggleTab","TextMenuComponent","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","changePosition","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","changeScale","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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oBAC3CC,aAAc,CACZ1/B,EACAK,EACA6C,EACAmB,EACAE,EACA8F,EACA2K,EACAuD,EACA0F,EACAmB,EACA3B,EACA4B,EACAM,EACAE,EACAE,EACAE,GACAG,GACAqC,GACAyB,GACAW,GACAgB,GACAM,GACAI,GACAO,GACAQ,GACAwB,GACAO,GACA4B,GACAQ,GACAwB,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAgB,GACAiB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA0B,IAEF6B,QAAS,CACP3/B,EACAK,EACA6C,EACAmB,EACAE,EACA8F,EACA2K,EACAuD,EACA0F,EACAmB,EACA3B,EACAkC,EACAE,EACAE,EACAV,EACAY,GACAwC,GACAyB,GACA2B,GACAU,GACAO,GACAQ,GACAwB,GACAO,GACA4B,GACAQ,GACAwB,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAmB,GACAvW,GACAwX,GACAK,GACAJ,GACAT,GACAvS,GACAuS,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA0B,GACAnI,GACAnD,IACFwM,UAAWA,6CAMbC,EA5GA","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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/excel-document/excel-document.component.js b/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js index ff74cd943..aee50511b 100644 --- a/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js +++ b/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js @@ -2,7 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { Component, ElementRef, ViewChildren, QueryList } from '@angular/core'; +import { Component, ElementRef, ViewChildren, QueryList, Renderer2 } from '@angular/core'; import { DocumentComponent } from '../document/document.component'; import { WindowService } from '../window.service'; import { NavigateService } from '../navigate.service'; @@ -14,9 +14,11 @@ export class ExcelDocumentComponent extends DocumentComponent { * @param {?} zoomService * @param {?} windowService * @param {?} navigateService + * @param {?} renderer */ - constructor(_elementRef, zoomService, windowService, navigateService) { + constructor(_elementRef, zoomService, windowService, navigateService, renderer) { super(_elementRef, zoomService, windowService, navigateService); + this.renderer = renderer; this.panzoom = null; this.navigateService = navigateService; } @@ -42,8 +44,27 @@ export class ExcelDocumentComponent extends DocumentComponent { * @return {?} */ value => { - this.selectSheet(value); + if (value) { + this.selectSheet(value); + } })); + /** @type {?} */ + const scrollbarWidth = this.getScrollBarWidth(); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px'); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px'); + if (scrollbarWidth === 0) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px'); + } + } + /** + * @return {?} + */ + getScrollBarWidth() { + /** @type {?} */ + const documentBox = (/** @type {?} */ (document.querySelector('.gd-document'))); + /** @type {?} */ + const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth; + return scrollbarWidth; } /** * @return {?} @@ -62,12 +83,19 @@ export class ExcelDocumentComponent extends DocumentComponent { selectSheet(number) { this.currentPageNo = number; } + /** + * @param {?} page + * @return {?} + */ + getSheetName(page) { + return page.sheetName ? page.sheetName : "Sheet " + page.number; + } } ExcelDocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-document', - template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", - styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.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
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; /** @nocollapse */ @@ -75,7 +103,8 @@ ExcelDocumentComponent.ctorParameters = () => [ { type: ElementRef }, { type: ZoomService }, { type: WindowService }, - { type: NavigateService } + { type: NavigateService }, + { type: Renderer2 } ]; ExcelDocumentComponent.propDecorators = { pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }] @@ -89,5 +118,10 @@ if (false) { ExcelDocumentComponent.prototype.panzoom; /** @type {?} */ ExcelDocumentComponent.prototype.navigateService; + /** + * @type {?} + * @private + */ + ExcelDocumentComponent.prototype.renderer; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsWUFBWSxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU8saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFPeEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjs7Ozs7OztJQU8zRCxZQUFZLFdBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLGFBQTRCLEVBQzVCLGVBQWdDO1FBQzFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQVBsRSxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBUWIsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7SUFDekMsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7O0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVM7OztRQUFDLEdBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNqQyxDQUFDLEVBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVM7Ozs7UUFDdEMsS0FBSyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsRUFBQyxDQUFDO0lBQ04sQ0FBQzs7OztJQUVELHFCQUFxQjtRQUNuQixnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNoRSxDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQzlCLENBQUM7OztZQTlDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IscWhDQUE4Qzs7YUFFL0M7Ozs7WUFYbUIsVUFBVTtZQUlyQixXQUFXO1lBRlgsYUFBYTtZQUNiLGVBQWU7OztvQkFVckIsWUFBWSxTQUFDLGtCQUFrQjs7OztJQUFoQyx1Q0FBdUU7O0lBRXZFLCtDQUFzQjs7SUFDdEIseUNBQWU7O0lBQ2YsaURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vZG9jdW1lbnQvZG9jdW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uL3dpbmRvdy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbmF2aWdhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFpvb21TZXJ2aWNlIH0gZnJvbSAgJy4uL3pvb20uc2VydmljZSc7XHJcbmltcG9ydCB7IEV4Y2VsUGFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2V4Y2VsLXBhZ2UvZXhjZWwtcGFnZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnZC1leGNlbC1kb2N1bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leGNlbC1kb2N1bWVudC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhjZWxEb2N1bWVudENvbXBvbmVudCBleHRlbmRzIERvY3VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0ICB7XHJcbiAgQFZpZXdDaGlsZHJlbihFeGNlbFBhZ2VDb21wb25lbnQpIHBhZ2VzOiBRdWVyeUxpc3Q8RXhjZWxQYWdlQ29tcG9uZW50PjsgXHJcbiAgXHJcbiAgY3VycmVudFBhZ2VObzogbnVtYmVyO1xyXG4gIHBhbnpvb20gPSBudWxsO1xyXG4gIG5hdmlnYXRlU2VydmljZTogTmF2aWdhdGVTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICAgICAgICAgICAgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgbmF2aWdhdGVTZXJ2aWNlOiBOYXZpZ2F0ZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCB6b29tU2VydmljZSwgd2luZG93U2VydmljZSwgbmF2aWdhdGVTZXJ2aWNlKTtcclxuICAgIHRoaXMubmF2aWdhdGVTZXJ2aWNlID0gbmF2aWdhdGVTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IDE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgdGhpcy5wYWdlcy5jaGFuZ2VzLnN1YnNjcmliZSgoKT0+e1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm5hdmlnYXRlU2VydmljZS5uYXZpZ2F0ZS5zdWJzY3JpYmUoXHJcbiAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgICB0aGlzLnNlbGVjdFNoZWV0KHZhbHVlKTtcclxuICAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hFeGNlbERvY0hlaWdodCgpIHtcclxuICAgIC8vIEZvciBjdXJyZW50IGl0ZXJhdGlvbiB3ZSdsbCBjaGFuZ2UgYWN0dWFsIGhlaWdodCBvZiAuZG9jdW1lbnRcclxuICAgIHRoaXMuZG9jID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICB0aGlzLnBhbnpvb20gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKS5jaGlsZHJlbi5pdGVtKDApO1xyXG4gICAgLy8gbWFnaWMgbnVtYmVyIDM3IGlzIHRoZSBoZWlnaHQgb2YgdGhlIGJvdHRvbS1iYXIgd2l0aCBuYXZpZ2F0aW9uIGJldHdlZW4gcGFnZXNcclxuICAgIHRoaXMuZG9jLnN0eWxlLmhlaWdodCA9IHRoaXMucGFuem9vbS5zY3JvbGxIZWlnaHQgKyAzNyArIFwicHhcIjtcclxuICB9XHJcblxyXG4gIHNlbGVjdFNoZWV0KG51bWJlcil7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSBudW1iZXI7XHJcbiAgfVxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsWUFBWSxFQUFFLFNBQVMsRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFPLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBUXhFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxpQkFBaUI7Ozs7Ozs7O0lBTzNELFlBQVksV0FBb0MsRUFDcEMsV0FBd0IsRUFDeEIsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDeEIsUUFBbUI7UUFDckMsS0FBSyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRDlDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFQdkMsWUFBTyxHQUFHLElBQUksQ0FBQztRQVNiLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO0lBQ3pDLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQzs7OztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTOzs7UUFBQyxHQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDakMsQ0FBQyxFQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTOzs7O1FBQ3RDLEtBQUssQ0FBQyxFQUFFO1lBQ04sSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6QjtRQUNILENBQUMsRUFBQyxDQUFDOztjQUVFLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMxSCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzNILElBQUksY0FBYyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzFHO0lBQ0gsQ0FBQzs7OztJQUVELGlCQUFpQjs7Y0FDVCxXQUFXLEdBQUcsbUJBQUEsUUFBUSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBZTs7Y0FDbkUsY0FBYyxHQUFHLFdBQVcsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLFdBQVc7UUFDeEUsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQzs7OztJQUVELHFCQUFxQjtRQUNuQixnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNoRSxDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQzlCLENBQUM7Ozs7O0lBRUQsWUFBWSxDQUFDLElBQUk7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2xFLENBQUM7OztZQWxFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0Isc2hDQUE4Qzs7YUFFL0M7Ozs7WUFabUIsVUFBVTtZQUlyQixXQUFXO1lBRlgsYUFBYTtZQUNiLGVBQWU7WUFId0QsU0FBUzs7O29CQWN0RixZQUFZLFNBQUMsa0JBQWtCOzs7O0lBQWhDLHVDQUF1RTs7SUFFdkUsK0NBQXNCOztJQUN0Qix5Q0FBZTs7SUFDZixpREFBaUM7Ozs7O0lBTXJCLDBDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3SW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vZG9jdW1lbnQvZG9jdW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uL3dpbmRvdy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbmF2aWdhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFpvb21TZXJ2aWNlIH0gZnJvbSAgJy4uL3pvb20uc2VydmljZSc7XHJcbmltcG9ydCB7IEV4Y2VsUGFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2V4Y2VsLXBhZ2UvZXhjZWwtcGFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlTW9kZWwgfSBmcm9tICcuLi9maWxlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnZC1leGNlbC1kb2N1bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leGNlbC1kb2N1bWVudC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhjZWxEb2N1bWVudENvbXBvbmVudCBleHRlbmRzIERvY3VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0ICB7XHJcbiAgQFZpZXdDaGlsZHJlbihFeGNlbFBhZ2VDb21wb25lbnQpIHBhZ2VzOiBRdWVyeUxpc3Q8RXhjZWxQYWdlQ29tcG9uZW50PjsgXHJcbiAgXHJcbiAgY3VycmVudFBhZ2VObzogbnVtYmVyO1xyXG4gIHBhbnpvb20gPSBudWxsO1xyXG4gIG5hdmlnYXRlU2VydmljZTogTmF2aWdhdGVTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICAgICAgICAgICAgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgbmF2aWdhdGVTZXJ2aWNlOiBOYXZpZ2F0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgem9vbVNlcnZpY2UsIHdpbmRvd1NlcnZpY2UsIG5hdmlnYXRlU2VydmljZSk7XHJcbiAgICB0aGlzLm5hdmlnYXRlU2VydmljZSA9IG5hdmlnYXRlU2VydmljZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSAxO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5yZWZyZXNoRXhjZWxEb2NIZWlnaHQoKTtcclxuICAgIHRoaXMucGFnZXMuY2hhbmdlcy5zdWJzY3JpYmUoKCk9PntcclxuICAgICAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5uYXZpZ2F0ZVNlcnZpY2UubmF2aWdhdGUuc3Vic2NyaWJlKFxyXG4gICAgIHZhbHVlID0+IHtcclxuICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICB0aGlzLnNlbGVjdFNoZWV0KHZhbHVlKTtcclxuICAgICAgIH1cclxuICAgICB9KTtcclxuXHJcbiAgICBjb25zdCBzY3JvbGxiYXJXaWR0aCA9IHRoaXMuZ2V0U2Nyb2xsQmFyV2lkdGgoKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVldHMnKSwgJ3JpZ2h0JywgdGhpcy5nZXRTY3JvbGxCYXJXaWR0aCgpICsgJ3B4Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2hlZXRzJyksICdib3R0b20nLCB0aGlzLmdldFNjcm9sbEJhcldpZHRoKCkgKyAncHgnKTtcclxuICAgIGlmIChzY3JvbGxiYXJXaWR0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2hlZXRzJyksICdwYWRkaW5nLXJpZ2h0JywgJzE3cHgnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFNjcm9sbEJhcldpZHRoKCkge1xyXG4gICAgY29uc3QgZG9jdW1lbnRCb3ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZ2QtZG9jdW1lbnQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gZG9jdW1lbnRCb3gub2Zmc2V0V2lkdGggLSBkb2N1bWVudEJveC5jbGllbnRXaWR0aDtcclxuICAgIHJldHVybiBzY3JvbGxiYXJXaWR0aDtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hFeGNlbERvY0hlaWdodCgpIHtcclxuICAgIC8vIEZvciBjdXJyZW50IGl0ZXJhdGlvbiB3ZSdsbCBjaGFuZ2UgYWN0dWFsIGhlaWdodCBvZiAuZG9jdW1lbnRcclxuICAgIHRoaXMuZG9jID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICB0aGlzLnBhbnpvb20gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKS5jaGlsZHJlbi5pdGVtKDApO1xyXG4gICAgLy8gbWFnaWMgbnVtYmVyIDM3IGlzIHRoZSBoZWlnaHQgb2YgdGhlIGJvdHRvbS1iYXIgd2l0aCBuYXZpZ2F0aW9uIGJldHdlZW4gcGFnZXNcclxuICAgIHRoaXMuZG9jLnN0eWxlLmhlaWdodCA9IHRoaXMucGFuem9vbS5zY3JvbGxIZWlnaHQgKyAzNyArIFwicHhcIjtcclxuICB9XHJcblxyXG4gIHNlbGVjdFNoZWV0KG51bWJlcil7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSBudW1iZXI7XHJcbiAgfVxyXG5cclxuICBnZXRTaGVldE5hbWUocGFnZSkge1xyXG4gICAgcmV0dXJuIHBhZ2Uuc2hlZXROYW1lID8gcGFnZS5zaGVldE5hbWUgOiBcIlNoZWV0IFwiICsgcGFnZS5udW1iZXI7XHJcbiAgfVxyXG59XHJcbiJdfQ== \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js b/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js index 5a52c0ff3..fe2eeb7c8 100644 --- a/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js +++ b/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js @@ -3,7 +3,7 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; -import { Component, ElementRef, ViewChildren, QueryList } from '@angular/core'; +import { Component, ElementRef, ViewChildren, QueryList, Renderer2 } from '@angular/core'; import { DocumentComponent } from '../document/document.component'; import { WindowService } from '../window.service'; import { NavigateService } from '../navigate.service'; @@ -11,8 +11,9 @@ import { ZoomService } from '../zoom.service'; import { ExcelPageComponent } from '../excel-page/excel-page.component'; var ExcelDocumentComponent = /** @class */ (function (_super) { tslib_1.__extends(ExcelDocumentComponent, _super); - function ExcelDocumentComponent(_elementRef, zoomService, windowService, navigateService) { + function ExcelDocumentComponent(_elementRef, zoomService, windowService, navigateService, renderer) { var _this = _super.call(this, _elementRef, zoomService, windowService, navigateService) || this; + _this.renderer = renderer; _this.panzoom = null; _this.navigateService = navigateService; return _this; @@ -46,8 +47,30 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { * @return {?} */ function (value) { - _this.selectSheet(value); + if (value) { + _this.selectSheet(value); + } })); + /** @type {?} */ + var scrollbarWidth = this.getScrollBarWidth(); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px'); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px'); + if (scrollbarWidth === 0) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px'); + } + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.getScrollBarWidth = /** + * @return {?} + */ + function () { + /** @type {?} */ + var documentBox = (/** @type {?} */ (document.querySelector('.gd-document'))); + /** @type {?} */ + var scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth; + return scrollbarWidth; }; /** * @return {?} @@ -73,11 +96,22 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { function (number) { this.currentPageNo = number; }; + /** + * @param {?} page + * @return {?} + */ + ExcelDocumentComponent.prototype.getSheetName = /** + * @param {?} page + * @return {?} + */ + function (page) { + return page.sheetName ? page.sheetName : "Sheet " + page.number; + }; ExcelDocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-document', - template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sheet {{page.number}}\r\n
\r\n
\r\n
\r\n", - styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:flex;border-top:1px solid #e7e7e7;position:fixed;bottom:17px;right:17px;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:flex}.page{position:relative;display:inline-block;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 50% 0;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.panzoom{flex-direction:column}.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
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; /** @nocollapse */ @@ -85,7 +119,8 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { { type: ElementRef }, { type: ZoomService }, { type: WindowService }, - { type: NavigateService } + { type: NavigateService }, + { type: Renderer2 } ]; }; ExcelDocumentComponent.propDecorators = { pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }] @@ -102,5 +137,10 @@ if (false) { ExcelDocumentComponent.prototype.panzoom; /** @type {?} */ ExcelDocumentComponent.prototype.navigateService; + /** + * @type {?} + * @private + */ + ExcelDocumentComponent.prototype.renderer; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFlBQVksRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFPLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXhFO0lBSzRDLGtEQUFpQjtJQU8zRCxnQ0FBWSxXQUFvQyxFQUNwQyxXQUF3QixFQUN4QixhQUE0QixFQUM1QixlQUFnQztRQUg1QyxZQUlFLGtCQUFNLFdBQVcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxTQUVoRTtRQVRELGFBQU8sR0FBRyxJQUFJLENBQUM7UUFRYixLQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQzs7SUFDekMsQ0FBQzs7OztJQUVELHlDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxnREFBZTs7O0lBQWY7UUFBQSxpQkFVQztRQVRDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVM7OztRQUFDO1lBQ3pCLEtBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUzs7OztRQUN0QyxVQUFBLEtBQUs7WUFDRCxLQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsRUFBQyxDQUFDO0lBQ04sQ0FBQzs7OztJQUVELHNEQUFxQjs7O0lBQXJCO1FBQ0UsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDaEUsQ0FBQzs7Ozs7SUFFRCw0Q0FBVzs7OztJQUFYLFVBQVksTUFBTTtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztJQUM5QixDQUFDOztnQkE5Q0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLHFoQ0FBOEM7O2lCQUUvQzs7OztnQkFYbUIsVUFBVTtnQkFJckIsV0FBVztnQkFGWCxhQUFhO2dCQUNiLGVBQWU7Ozt3QkFVckIsWUFBWSxTQUFDLGtCQUFrQjs7SUF5Q2xDLDZCQUFDO0NBQUEsQUEvQ0QsQ0FLNEMsaUJBQWlCLEdBMEM1RDtTQTFDWSxzQkFBc0I7OztJQUNqQyx1Q0FBdUU7O0lBRXZFLCtDQUFzQjs7SUFDdEIseUNBQWU7O0lBQ2YsaURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vZG9jdW1lbnQvZG9jdW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uL3dpbmRvdy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbmF2aWdhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFpvb21TZXJ2aWNlIH0gZnJvbSAgJy4uL3pvb20uc2VydmljZSc7XHJcbmltcG9ydCB7IEV4Y2VsUGFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2V4Y2VsLXBhZ2UvZXhjZWwtcGFnZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnZC1leGNlbC1kb2N1bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leGNlbC1kb2N1bWVudC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhjZWxEb2N1bWVudENvbXBvbmVudCBleHRlbmRzIERvY3VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0ICB7XHJcbiAgQFZpZXdDaGlsZHJlbihFeGNlbFBhZ2VDb21wb25lbnQpIHBhZ2VzOiBRdWVyeUxpc3Q8RXhjZWxQYWdlQ29tcG9uZW50PjsgXHJcbiAgXHJcbiAgY3VycmVudFBhZ2VObzogbnVtYmVyO1xyXG4gIHBhbnpvb20gPSBudWxsO1xyXG4gIG5hdmlnYXRlU2VydmljZTogTmF2aWdhdGVTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICAgICAgICAgICAgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgbmF2aWdhdGVTZXJ2aWNlOiBOYXZpZ2F0ZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCB6b29tU2VydmljZSwgd2luZG93U2VydmljZSwgbmF2aWdhdGVTZXJ2aWNlKTtcclxuICAgIHRoaXMubmF2aWdhdGVTZXJ2aWNlID0gbmF2aWdhdGVTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IDE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgdGhpcy5wYWdlcy5jaGFuZ2VzLnN1YnNjcmliZSgoKT0+e1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm5hdmlnYXRlU2VydmljZS5uYXZpZ2F0ZS5zdWJzY3JpYmUoXHJcbiAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgICB0aGlzLnNlbGVjdFNoZWV0KHZhbHVlKTtcclxuICAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hFeGNlbERvY0hlaWdodCgpIHtcclxuICAgIC8vIEZvciBjdXJyZW50IGl0ZXJhdGlvbiB3ZSdsbCBjaGFuZ2UgYWN0dWFsIGhlaWdodCBvZiAuZG9jdW1lbnRcclxuICAgIHRoaXMuZG9jID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICB0aGlzLnBhbnpvb20gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKS5jaGlsZHJlbi5pdGVtKDApO1xyXG4gICAgLy8gbWFnaWMgbnVtYmVyIDM3IGlzIHRoZSBoZWlnaHQgb2YgdGhlIGJvdHRvbS1iYXIgd2l0aCBuYXZpZ2F0aW9uIGJldHdlZW4gcGFnZXNcclxuICAgIHRoaXMuZG9jLnN0eWxlLmhlaWdodCA9IHRoaXMucGFuem9vbS5zY3JvbGxIZWlnaHQgKyAzNyArIFwicHhcIjtcclxuICB9XHJcblxyXG4gIHNlbGVjdFNoZWV0KG51bWJlcil7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSBudW1iZXI7XHJcbiAgfVxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFlBQVksRUFBRSxTQUFTLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTyxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd4RTtJQUs0QyxrREFBaUI7SUFPM0QsZ0NBQVksV0FBb0MsRUFDcEMsV0FBd0IsRUFDeEIsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDeEIsUUFBbUI7UUFKdkMsWUFLRSxrQkFBTSxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsU0FFaEU7UUFIbUIsY0FBUSxHQUFSLFFBQVEsQ0FBVztRQVB2QyxhQUFPLEdBQUcsSUFBSSxDQUFDO1FBU2IsS0FBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7O0lBQ3pDLENBQUM7Ozs7SUFFRCx5Q0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7O0lBRUQsZ0RBQWU7OztJQUFmO1FBQUEsaUJBbUJDO1FBbEJDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FB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LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlclZpZXdJbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9kb2N1bWVudC9kb2N1bWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vd2luZG93LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0ZVNlcnZpY2UgfSBmcm9tICcuLi9uYXZpZ2F0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWm9vbVNlcnZpY2UgfSBmcm9tICAnLi4vem9vbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXhjZWxQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhZ2VNb2RlbCB9IGZyb20gJy4uL2ZpbGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dkLWV4Y2VsLWRvY3VtZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeGNlbERvY3VtZW50Q29tcG9uZW50IGV4dGVuZHMgRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQgIHtcclxuICBAVmlld0NoaWxkcmVuKEV4Y2VsUGFnZUNvbXBvbmVudCkgcGFnZXM6IFF1ZXJ5TGlzdDxFeGNlbFBhZ2VDb21wb25lbnQ+OyBcclxuICBcclxuICBjdXJyZW50UGFnZU5vOiBudW1iZXI7XHJcbiAgcGFuem9vbSA9IG51bGw7XHJcbiAgbmF2aWdhdGVTZXJ2aWNlOiBOYXZpZ2F0ZVNlcnZpY2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgICAgICAgICAgICB6b29tU2VydmljZTogWm9vbVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgd2luZG93U2VydmljZTogV2luZG93U2VydmljZSxcclxuICAgICAgICAgICAgICBuYXZpZ2F0ZVNlcnZpY2U6IE5hdmlnYXRlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCB6b29tU2VydmljZSwgd2luZG93U2VydmljZSwgbmF2aWdhdGVTZXJ2aWNlKTtcclxuICAgIHRoaXMubmF2aWdhdGVTZXJ2aWNlID0gbmF2aWdhdGVTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IDE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgdGhpcy5wYWdlcy5jaGFuZ2VzLnN1YnNjcmliZSgoKT0+e1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm5hdmlnYXRlU2VydmljZS5uYXZpZ2F0ZS5zdWJzY3JpYmUoXHJcbiAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgIHRoaXMuc2VsZWN0U2hlZXQodmFsdWUpO1xyXG4gICAgICAgfVxyXG4gICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gdGhpcy5nZXRTY3JvbGxCYXJXaWR0aCgpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNoZWV0cycpLCAncmlnaHQnLCB0aGlzLmdldFNjcm9sbEJhcldpZHRoKCkgKyAncHgnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVldHMnKSwgJ2JvdHRvbScsIHRoaXMuZ2V0U2Nyb2xsQmFyV2lkdGgoKSArICdweCcpO1xyXG4gICAgaWYgKHNjcm9sbGJhcldpZHRoID09PSAwKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVldHMnKSwgJ3BhZGRpbmctcmlnaHQnLCAnMTdweCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0U2Nyb2xsQmFyV2lkdGgoKSB7XHJcbiAgICBjb25zdCBkb2N1bWVudEJveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5nZC1kb2N1bWVudCcpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29uc3Qgc2Nyb2xsYmFyV2lkdGggPSBkb2N1bWVudEJveC5vZmZzZXRXaWR0aCAtIGRvY3VtZW50Qm94LmNsaWVudFdpZHRoO1xyXG4gICAgcmV0dXJuIHNjcm9sbGJhcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCkge1xyXG4gICAgLy8gRm9yIGN1cnJlbnQgaXRlcmF0aW9uIHdlJ2xsIGNoYW5nZSBhY3R1YWwgaGVpZ2h0IG9mIC5kb2N1bWVudFxyXG4gICAgdGhpcy5kb2MgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIHRoaXMucGFuem9vbSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApLmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICAvLyBtYWdpYyBudW1iZXIgMzcgaXMgdGhlIGhlaWdodCBvZiB0aGUgYm90dG9tLWJhciB3aXRoIG5hdmlnYXRpb24gYmV0d2VlbiBwYWdlc1xyXG4gICAgdGhpcy5kb2Muc3R5bGUuaGVpZ2h0ID0gdGhpcy5wYW56b29tLnNjcm9sbEhlaWdodCArIDM3ICsgXCJweFwiO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0U2hlZXQobnVtYmVyKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IG51bWJlcjtcclxuICB9XHJcblxyXG4gIGdldFNoZWV0TmFtZShwYWdlKSB7XHJcbiAgICByZXR1cm4gcGFnZS5zaGVldE5hbWUgPyBwYWdlLnNoZWV0TmFtZSA6IFwiU2hlZXQgXCIgKyBwYWdlLm51bWJlcjtcclxuICB9XHJcbn1cclxuIl19 \ 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 a7e2ec1a0..ab992e879 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 @@ -2171,11 +2171,18 @@ class ExcelDocumentComponent extends DocumentComponent { selectSheet(number) { this.currentPageNo = number; } + /** + * @param {?} page + * @return {?} + */ + getSheetName(page) { + return page.sheetName ? page.sheetName : "Sheet " + page.number; + } } ExcelDocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-document', - template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{page.sheetName}}\r\n
\r\n
\r\n
\r\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n", styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; 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 9b16ba182..9000dbf29 100644 --- a/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js.map +++ b/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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":";;;;;;;;;;;;;;;;;;AAAA,MAOa,mBAAmB;IAE9B;KACC;;;YARF,SAAS,SAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,0IAA2C;;aAE5C;;;;;;;;;ACND,MAQa,kBAAkB;IAU7B;QAPS,aAAQ,GAAG,IAAI,CAAC;QAChB,aAAQ,GAAG,IAAI,CAAC;QACf,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;QAC5C,oBAAe,GAAG,IAAI,YAAY,EAAW,CAAC;QAExD,cAAS,GAAG,KAAK,CAAC;KAGjB;;;;IAED,cAAc;QACZ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;;;;IAED,eAAe;QACb,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjC;;;;IAED,eAAe;QACb,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;SAClC;KACF;;;YA/BF,SAAS,SAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,4xBAA0C;;aAE3C;;;;;oBAGE,KAAK;mBACL,KAAK;uBACL,KAAK;uBACL,KAAK;4BACL,MAAM;8BACN,MAAM;;;;IALP,mCAAuB;;IACvB,kCAAsB;;IACtB,sCAAyB;;IACzB,sCAAyB;;IACzB,2CAAsD;;IACtD,6CAAwD;;IAExD,uCAAkB;;;;;;;AChBpB;MAGM,gBAAgB,GAAG,GAAG;;MACtB,gBAAgB,GAAG,IAAI;AAE7B,MAAa,aAAa;IAOxB;QALQ,kBAAa,GAAoB,IAAI,OAAO,EAAE,CAAC;QAMrD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QAEjC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;aACxC,IAAI,CACH,YAAY,CAAC,GAAG,CAAC,EACjB,oBAAoB,EAAE,EACtB,SAAS,CAAC,EAAC,MAAM,EAAE,EAAC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAC,EAAC,CAAC,EACrF,GAAG;;;;QAAC,KAAK;YACP,IAAI,CAAC,aAAa,CAAC,IAAI,oBAAS,KAAK,CAAC,MAAM,GAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG,oBAAC,KAAK,CAAC,MAAM,IAAY,UAAU,CAAC;YACjD,IAAI,CAAC,MAAM,GAAG,oBAAC,KAAK,CAAC,MAAM,IAAY,WAAW,CAAC;SACpD,EAAC,CACH,CAAC;QACJ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;KAC3B;;;;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KAC1C;;;;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC;KACvC;;;;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC;KACvC;;;;IAED,SAAS;QACP,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;KAC7C;;;;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;;;;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;;;;IAED,MAAM;QACJ,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KACtE;;;;IAED,SAAS;QACP,OAAO,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KAClE;CACF;;;;;;IAtDC,sCAAuD;;;;;IACvD,iCAAiB;;;;;IACjB,8BAAsB;;;;;IACtB,+BAAuB;;;;;;;ACXzB,MAQa,eAAe;;;;IAgB1B,YAAY,aAA4B;QAf/B,aAAQ,GAAG,IAAI,CAAC;QAChB,WAAM,GAAG,SAAS,CAAC;QACnB,aAAQ,GAAG,KAAK,CAAC;QAKjB,WAAM,GAAG,KAAK,CAAC;QAEf,gBAAW,GAAG,KAAK,CAAC;QACpB,oBAAe,GAAG,CAAC,CAAC;QAE7B,gBAAW,GAAG,KAAK,CAAC;QAIlB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;QAC3C,aAAa,CAAC,QAAQ,CAAC,SAAS;;;;QAAC,CAAC,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;SAC5C,EAAC,CAAC;KACJ;;;;IAED,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,EAAE,CAAC;KAC3C;;;;IAED,UAAU;QACR,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;SAC7B;KACF;;;;IAED,YAAY;QACV,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SAC3D;KACF;;;;;;;IAEO,QAAQ,CAAC,GAAW,EAAE,GAAW;QACvC,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YACrC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;SAC5B;QACD,OAAO,GAAG,CAAC;KACZ;;;YAjDF,SAAS,SAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,ynBAAsC;;aAEvC;;;;YANO,aAAa;;;uBAQlB,KAAK;qBACL,KAAK;uBACL,KAAK;mBACL,KAAK;wBACL,KAAK;sBACL,KAAK;wBACL,KAAK;qBACL,KAAK;uBACL,KAAK;0BACL,KAAK;8BACL,KAAK;;;;IAVN,mCAAyB;;IACzB,iCAA4B;;IAC5B,mCAA0B;;IAC1B,+BAAsB;;IACtB,oCAA2B;;IAC3B,kCAAyB;;IACzB,oCAA2B;;IAC3B,iCAAwB;;IACxB,mCAA0B;;IAC1B,sCAA6B;;IAC7B,0CAA6B;;IAE7B,sCAAoB;;;;;IACpB,oCAA2B;;;;;;;ACtB7B,MAOa,aAAa;IAKxB,iBAAiB;;;;IAEjB,QAAQ;KACP;;;YAbF,SAAS,SAAC;gBACT,QAAQ,EAAE,SAAS;gBACnB,8MAAoC;;aAErC;;;;;mBAGE,KAAK;mBACL,KAAK;;;;IADN,6BAAc;;IACd,6BAAc;;;;;;;ACVhB,MAOa,gBAAgB;IAM3B;QAHS,aAAQ,GAAG,CAAC,CAAC;QACtB,eAAU,GAAG,QAAQ,CAAC;KAGrB;;;;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;YACvB,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,UAAU,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,cAAc,GAAG,eAAe,CAAC,CAAC;KAC5E;;;;;IAED,IACI,IAAI,CAAC,KAAc;QACrB,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;KAC9C;;;;IAED,QAAQ;KACP;;;YA3BF,SAAS,SAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,kGAAuC;;aAExC;;;;;mBAGE,KAAK;uBACL,KAAK;mBAaL,KAAK;;;;IAdN,gCAAsB;;IACtB,oCAAsB;;IACtB,sCAAsB;;;;;;;ACXxB,MAGa,GAAG;;AACA,cAAU,GAAG,SAAS,CAAC;AACvB,iBAAa,GAAG,YAAY,CAAC;AAC7B,kBAAc,GAAG,aAAa,CAAC;AAC/B,cAAU,GAAG,SAAS,CAAC;AACvB,cAAU,GAAG,SAAS,CAAC;AACvB,kBAAc,GAAG,aAAa,CAAC;AAC/B,kBAAc,GAAG,aAAa,CAAC;AAC/B,gBAAY,GAAG,WAAW,CAAC;AAC3B,wBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5C,kBAAc,GAAG,eAAe,CAAC;AACjC,eAAW,GAAG,aAAa,CAAC;AAC5B,6BAAyB,GAAG,0BAA0B,CAAC;AACvD,sBAAkB,GAAG,mBAAmB,CAAC;AACzC,4BAAwB,GAAG,iBAAiB,CAAC;AAC7C,kCAA8B,GAAG,sBAAsB,CAAC;AACxD,iBAAa,GAAG,eAAe,CAAC;AAChC,mBAAe,GAAG,iBAAiB,CAAC;AACpC,wBAAoB,GAAG,sBAAsB,CAAC;AAC9C,oBAAgB,GAAG,iBAAiB,CAAC;AACrC,sBAAkB,GAAG,mBAAmB,CAAC;AACzC,cAAU,GAAG,YAAY,CAAC;AAC1B,kBAAc,GAAG,WAAW,CAAC;AAC7B,mBAAe,GAAG,iBAAiB,CAAC;AACpC,gBAAY,GAAG,cAAc,CAAC;AAC9B,aAAS,GAAG,WAAW,CAAC;AACxB,eAAW,GAAG,aAAa,CAAC;AAC5B,iBAAa,GAAG,UAAU,CAAC;AAC3B,gBAAY,GAAG,UAAU,CAAC;AAC1B,yBAAqB,GAAG,sBAAsB,CAAC;AAC/C,qBAAiB,GAAG,kBAAkB,CAAC;AACvC,mBAAe,GAAG,gBAAgB,CAAC;AACnC,qBAAiB,GAAG,kBAAkB,CAAC;AACvC,aAAS,GAAG,WAAW,CAAC;AACxB,cAAU,GAAG,YAAY,CAAC;AAC1B,cAAU,GAAG,YAAY,CAAC;AAC1B,QAAI,GAAG,OAAO,CAAC;AACf,mBAAe,GAAG,iBAAiB,CAAC;AACpC,wBAAoB,GAAG,qBAAqB,CAAC;AAC7C,YAAQ,GAAG,WAAW,CAAC;AACvB,UAAM,GAAG,SAAS,CAAC;AACnB,sBAAkB,GAAG,kBAAkB,CAAC;AACxC,kBAAc,GAAG,QAAQ,CAAC;AAC1B,mBAAe,GAAG,SAAS,CAAC;AAE5B,mBAAe,GAAG;IAC9B,OAAO,EAAE,IAAI,WAAW,CAAC;QACvB,cAAc,EAAE,kBAAkB;KACnC,CAAC;CACH,CAAC;AACY,mCAA+B,GAAG;IAC9C,OAAO,EAAE,IAAI,WAAW,CAAC;QACvB,cAAc,EAAE,kBAAkB;KACnC,CAAC;IACF,YAAY,qBAAE,MAAM,EAAU;CAC/B,CAAC;;;IAtDF,eAAqC;;IACrC,kBAA2C;;IAC3C,mBAA6C;;IAC7C,eAAqC;;IACrC,eAAqC;;IACrC,mBAA6C;;IAC7C,mBAA6C;;IAC7C,iBAAyC;;IACzC,yBAA0D;;IAC1D,mBAA+C;;IAC/C,gBAA0C;;IAC1C,8BAAqE;;IACrE,uBAAuD;;IACvD,6BAA2D;;IAC3D,mCAAsE;;IACtE,kBAA8C;;IAC9C,oBAAkD;;IAClD,yBAA4D;;IAC5D,qBAAmD;;IACnD,uBAAuD;;IACvD,eAAwC;;IACxC,mBAA2C;;IAC3C,oBAAkD;;IAClD,iBAA4C;;IAC5C,cAAsC;;IACtC,gBAA0C;;IAC1C,kBAAyC;;IACzC,iBAAwC;;IACxC,0BAA6D;;IAC7D,sBAAqD;;IACrD,oBAAiD;;IACjD,sBAAqD;;IACrD,cAAsC;;IACtC,eAAwC;;IACxC,eAAwC;;IACxC,SAA6B;;IAC7B,oBAAkD;;IAClD,yBAA2D;;IAC3D,aAAqC;;IACrC,WAAiC;;IACjC,uBAAsD;;IACtD,mBAAwC;;IACxC,oBAA0C;;IAE1C,oBAIE;;IACF,oCAKE;;AAIJ,MAAa,aAAa;IAIxB;QACE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,oBAAoB,CAAC;KAC7C;;;;;IAED,IAAI,WAAW,CAAC,GAAW;QACzB,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;KAC9F;;;;;IAED,iBAAiB,CAAC,GAAG;QACnB,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;KACvG;;;;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;KAC5G;;;;IAED,oBAAoB;QAClB,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;KACnH;;;;IAED,wBAAwB;QACtB,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;KAC3H;;;;IAED,wBAAwB;QACtB,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;KAC3H;;;;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;KACvH;;;;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;;;;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,aAAa,CAAC;KAClH;;;;IAED,wBAAwB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,cAAc,CAAC;KACpH;;;;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;KAC5G;;;YAnDF,UAAU;;;;;;;;;IAGT,qCAA6B;;;;;;;AChE/B,MAAa,YAAY;;AAChB,6BAAgB,GAAG,sBAAsB,CAAC;AAC1C,yBAAY,GAAG,kBAAkB,CAAC;AAClC,wBAAW,GAAG,iBAAiB,CAAC;AAChC,2BAAc,GAAG,oBAAoB,CAAC;AACtC,6BAAgB,GAAG,kBAAkB,CAAC;AACtC,8BAAiB,GAAG,wBAAwB,CAAC;AAC7C,+BAAkB,GAAG,yBAAyB,CAAC;AAC/C,+BAAkB,GAAG,wBAAwB,CAAC;;;IAPrD,8BAAiD;;IACjD,0BAAyC;;IACzC,yBAAuC;;IACvC,4BAA6C;;IAC7C,8BAA6C;;IAC7C,+BAAoD;;IACpD,gCAAsD;;IACtD,gCAAqD;;AAGvD,MAAa,YAAY;IAAzB;QACU,WAAM,GAAU,EAAE,CAAC;KAuB5B;;;;;IArBC,GAAG,CAAC,KAAU;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;;;;;IAED,MAAM,CAAC,EAAU;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;;;;QAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAC,CAAC;KACpD;;;;;IAED,IAAI,CAAC,EAAU;;cACP,KAAK,GAAQ,IAAI,CAAC,MAAM,CAAC,MAAM;;;;QAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,IAAI,EAAE,CAAC;SACd;KACF;;;;;IAED,KAAK,CAAC,EAAU;;cACR,KAAK,GAAQ,IAAI,CAAC,MAAM,CAAC,MAAM;;;;QAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,KAAK,EAAE,CAAC;SACf;KACF;CACF;;;;;;IAvBC,8BAA2B;;;;;;;ACZ7B,MAQa,cAAc;;;;;IAQzB,YAAoB,YAA0B,EAAE,EAAc;QAA1C,iBAAY,GAAZ,YAAY,CAAc;QALpC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QACtC,WAAM,GAAG,IAAI,YAAY,EAAW,CAAC;QAC/C,eAAU,GAAG,KAAK,CAAC;QAIjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC;KACjC;;;;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACvC,OAAO;SACR;QAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAC7B;;;;IAED,WAAW;QACT,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;KACvB;;;;IAED,IAAI;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;;;;IAED,KAAK;QACH,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;;;;;IAED,OAAO,CAAC,MAAkB;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,oBAAU,MAAM,CAAC,MAAM,IAAE,EAAE,KAAK,aAAa,EAAE;YAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;KACF;;;;IAED,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;;;YAvDF,SAAS,SAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,knBAAqC;;aAEtC;;;;YANO,YAAY;YADD,UAAU;;;iBAS1B,KAAK;oBACL,KAAK;sBACL,MAAM;qBACN,MAAM;;;;IAHP,4BAAoB;;IACpB,+BAAuB;;IACvB,iCAAgD;;IAChD,gCAA+C;;IAC/C,oCAAmB;;;;;IACnB,iCAAqB;;;;;IAET,sCAAkC;;;;;;;AChBhD,MAAa,SAAS;CAOrB;;;IANC,yBAAa;;IACb,0BAAc;;IACd,0BAAc;;IACd,2BAAe;;IACf,2BAAe;;IACf,6BAAkB;;AAGpB,MAAa,WAAW;CAGvB;;;IAFC,iCAAmB;;IACnB,4BAAc;;AAGhB,MAAa,eAAe;;;;;IAI1B,YAAY,IAAY,EAAE,QAAgB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;CACF;;;IAPC,+BAAa;;IACb,mCAAiB;;AAQnB,MAAa,QAAS,SAAQ,eAAe;;;;;;IAG3C,YAAY,IAAY,EAAE,QAAgB,EAAE,OAAe;QACzD,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KACxB;CACF;;;IANC,2BAAgB;;AAQlB,MAAa,eAAe;IAA5B;QAGE,iBAAY,GAAG,IAAI,CAAC;KAGrB;CAAA;;;IALC,+BAAa;;IACb,gCAAmB;;IACnB,uCAAoB;;IACpB,wCAAuB;;IACvB,qCAAwB;;AAG1B,MAAa,SAAS;CAMrB;;;IALC,yBAAa;;IACb,yBAAa;;IACb,8BAAmB;;IACnB,yBAAa;;IACb,gCAAqB;;AAGvB,MAAa,SAAS;;AACb,oBAAU,GAAG,GAAG,CAAC;AACjB,sBAAY,GAAG,GAAG,CAAC;AACnB,mBAAS,GAAG,GAAG,CAAC;AAChB,kBAAQ,GAAG,GAAG,CAAC;AACf,iBAAO,GAAG,GAAG,CAAC;AACd,kBAAQ,GAAG,GAAG,CAAC;AACf,6BAAmB,GAAG,GAAG,CAAC;;;IANjC,qBAAwB;;IACxB,uBAA0B;;IAC1B,oBAAuB;;IACvB,mBAAsB;;IACtB,kBAAqB;;IACrB,mBAAsB;;IACtB,8BAAiC;;AAGnC,MAAa,KAAK;;;;;IACT,OAAO,gBAAgB,CAAC,KAAK;;cAC5B,KAAK,GAAG;YACZ,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL;;cACK,MAAM,sBAAyB,MAAM,CAAC,KAAK,EAAA;;cAC3C,EAAE,GAAG,KAAK,IAAI,MAAM;QAC1B,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;;;kBAChG,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,KAAK,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;;kBACnF,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,KAAK,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;;kBACnF,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;;kBACvE,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;YAC7E,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC3E,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC5E;aAAM,IAAI,EAAE,CAAC,OAAO,EAAE;YACrB,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YAChD,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;SAChD;QACD,OAAO,KAAK,CAAC;KACd;;;;;IAEM,OAAO,KAAK,CAAC,KAAa;;cACzB,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,KAAK,CAAC;QACtE,IAAI,MAAM,EAAE;;kBACJ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;;kBAC3B,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;;kBAC3B,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACjC,OAAO,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;SAC3D;QACD,OAAO,KAAK,CAAC;KACd;;;;;IAEM,OAAO,KAAK,CAAC,KAAa;;QAE/B,IAAI,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE;YAC5C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC;;SAE1D;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,0DAA0D,CAAC,EAAE;;kBAC5E,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;;kBACrF,GAAG;;;;YAAG,UAAU,GAAG;gBACjB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;wBAClD,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;qBACjB;iBACF;gBACD,OAAO,GAAG,CAAC;aACZ,CAAA;YACH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;;sBACZ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;;sBAC9B,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;;sBAC1B,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC5B,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACxB;;SAEF;aAAM;YACL,OAAO,EAAE,CAAC;SACX;KACF;CACF;AAED,MAAa,QAAQ;;;;;;IA8EZ,OAAO,IAAI,CAAC,QAAgB,EAAE,WAAoB;QACvD,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE;;kBACtB,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;;kBAC7B,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACxC,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;gBAC7C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC9E;iBAAM;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC3B;SACF;aAAM;YACL,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC/B;KACF;;AAzFa,YAAG,GAAG;IAClB,QAAQ,EAAE,EAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAC;IAC1C,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;IAC/E,KAAK,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACtE,MAAM,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,MAAM,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACtE,MAAM,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,MAAM,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACxE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACzE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACzE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACzE,SAAS,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IAC5E,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACzE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACzE,KAAK,EAAE,EAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;IAClF,MAAM,EAAE,EAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;IACnF,KAAK,EAAE,EAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;IAClF,MAAM,EAAE,EAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;IACnF,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACxE,MAAM,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;IACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;IACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;IACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;IACxE,MAAM,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;IACzE,KAAK,EAAE,EAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACzE,KAAK,EAAE,EAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IAC1E,KAAK,EAAE,EAAC,QAAQ,EAAE,6BAA6B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACnF,KAAK,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IAClF,KAAK,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;IACxF,KAAK,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;IACxF,KAAK,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;IACxF,MAAM,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;IACzF,MAAM,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;IACzF,MAAM,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;IACzF,MAAM,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAC;IACzF,KAAK,EAAE,EAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;IACtE,KAAK,EAAE,EAAC,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IAC/E,MAAM,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IAClF,KAAK,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACjF,OAAO,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IACnF,KAAK,EAAE,EAAC,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IAClF,KAAK,EAAE,EAAC,QAAQ,EAAE,yBAAyB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAC;IAC/E,KAAK,EAAE,EAAC,QAAQ,EAAE,6BAA6B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACpF,KAAK,EAAE,EAAC,QAAQ,EAAE,6BAA6B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACpF,KAAK,EAAE,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACvE,KAAK,EAAE,EAAC,QAAQ,EAAE,6BAA6B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACpF,KAAK,EAAE,EAAC,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACzF,KAAK,EAAE,EAAC,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACzF,MAAM,EAAE,EAAC,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IAC1F,MAAM,EAAE,EAAC,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IAC1F,KAAK,EAAE,EAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IAClF,MAAM,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IAClF,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACjF,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACjF,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACjF,KAAK,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACjF,MAAM,EAAE,EAAC,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;IAC9E,KAAK,EAAE,EAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IACrE,MAAM,EAAE,EAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC;IAC1E,MAAM,EAAE,EAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;IACxE,KAAK,EAAE,EAAC,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;IAC5E,MAAM,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC;IAChF,SAAS,EAAE,EAAC,QAAQ,EAAE,8BAA8B,EAAE,MAAM,EAAE,MAAM,EAAC;CACtE,CAAC;;;IA3EF,aA2EE;;AAiBJ,MAAa,WAAW;IAEtB;KACC;CACF;;;;;;ACzND,MAEa,kBAAkB;IAI7B;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,UAAU;;;;QAAC,QAAQ,IAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,EAAC,CAAC;KAC9B;;;;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;;;;;IAED,eAAe,CAAC,SAAmB;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAChC;CACF;;;;;;IAfC,4CAA6C;;;;;IAC7C,uCAAsC;;;;;;;ACJxC;MAIM,CAAC,GAAG,MAAM;;MAEV,WAAW,GAAG,MAAM;;MAEpB,UAAU,GAAG,KAAK;;MAElB,eAAe,GAAG,CAAC,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC;AAO5F,MAAa,yBAAyB;;;;IAapC,YAAoB,cAAkC;QAAlC,mBAAc,GAAd,cAAc,CAAoB;QAZtD,YAAO,GAAG,eAAe,CAAC;QAIhB,qBAAgB,GAAG,IAAI,YAAY,EAAU,CAAC;QAC9C,sBAAiB,GAAG,IAAI,YAAY,EAAU,CAAC;QAC/C,iBAAY,GAAG,IAAI,YAAY,EAAU,CAAC;QAC1C,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QAEhD,kBAAa,GAAG,KAAK,CAAC;QACtB,mBAAc,GAAG,KAAK,CAAC;KAGtB;;;;IAED,QAAQ;KACP;;;;;IAED,OAAO,CAAC,IAAY;;cACZ,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;QAC7B,IAAI,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC;SAC7C;aAAM;;kBACC,EAAE,GAAG,IAAI,GAAG,IAAI;YACtB,IAAI,EAAE,GAAG,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC;aAC7C;SACF;QACD,OAAO,IAAI,GAAG,QAAQ,CAAC;KACxB;;;;;IAED,aAAa,CAAC,IAAe;QAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;KACxD;;;;;IAED,aAAa,CAAC,IAAe;QAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;KACtD;;;;;IAED,MAAM,CAAC,IAAe;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE;YACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvC;KACF;;;;IAED,IAAI;QACF,IAAI,IAAI,CAAC,YAAY,EAAE;;gBACjB,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI;YACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC/C,IAAI,GAAG,EAAE,CAAC;aACX;iBAAM;gBACL,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;KACF;;;;;IAED,YAAY,CAAC,MAAc;QACzB,IAAI,UAAU,KAAK,MAAM,EAAE;YACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACxC;KACF;;;;;IAED,OAAO,CAAC,MAAM;QAEZ,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;KACF;;;;IAED,WAAW;QACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;KACpB;;;;;IAED,SAAS,CAAC,GAAW;QACnB,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;KACF;;;;;IAED,eAAe,CAAC,KAAe;QAC7B,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;KAC5C;;;;IAED,WAAW;QACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B;;;YAzGF,SAAS,SAAC;gBACT,QAAQ,EAAE,uBAAuB;gBACjC,otGAAkD;;aAEnD;;;;YAdO,kBAAkB;;;oBAkBvB,KAAK;2BACL,KAAK;+BACL,MAAM;gCACN,MAAM;2BACN,MAAM;sBACN,MAAM;;;;IAPP,4CAA0B;;IAE1B,0CAAe;;IACf,iDAAsB;;IACtB,qDAAwD;;IACxD,sDAAyD;;IACzD,iDAAoD;;IACpD,4CAAgD;;;;;IAChD,iDAAgC;;IAChC,kDAAsB;;IACtB,mDAAuB;;;;;IAEX,mDAA0C;;;;;;;AC9BxD,MAEa,WAAW;IAKtB;QAJQ,cAAS,GAAoB,IAAI,OAAO,EAAE,CAAC;QAClC,gBAAW,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KAIhF;;;;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;;;;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;;;;;IAED,UAAU,CAAC,IAAY;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;;;;;;;;IAEO,gBAAgB,CAAC,GAAQ,EAAE,IAAY,EAAE,MAAe,KAAK;QACnE,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAC,CAAA;KAChD;;;;;;IAED,WAAW,CAAC,KAAK,EAAE,MAAM;QACvB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC;YAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAC,MAAM,CAAC;YACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;KAChD;CACF;;;;;;IAnCC,gCAAmD;;;;;IACnD,kCAAiF;;;;;IACjF,4BAAsB;;;;;;;ACLxB,MAEa,kBAAkB;IAI7B;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU;;;;QAAC,QAAQ,IAC1C,IAAI,CAAC,SAAS,GAAG,QAAQ,EAAC,CAAC;KAC9B;;;;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;;;;;IAED,oBAAoB,CAAC,IAAY;QAC/B,IAAG,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;KACF;CACF;;;;;;IAjBC,2CAAmD;;;;;IACnD,uCAAoC;;;;;;;ACJtC,MAOa,eAAe;;;;IAM1B,YAAoB,mBAAuC;QAAvC,wBAAmB,GAAnB,mBAAmB,CAAoB;QALnD,iBAAY,GAAG,CAAC,CAAC;QACjB,gBAAW,GAAG,CAAC,CAAC;QAChB,cAAS,GAAoB,IAAI,OAAO,EAAU,CAAC;QACnD,cAAS,GAAuB,IAAI,CAAC,SAAS,CAAC;KAGtD;;;;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;;;;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;;;;;IAED,IAAI,UAAU,CAAC,KAAa;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC1B;;;;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;;;;;IAED,IAAI,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC3B;;;;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE;YACxC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpC;KACF;;;;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;YACzB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpC;KACF;;;;IAED,UAAU;QACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACpC;;;;IAED,WAAW;QACT,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACpC;;;;;IAED,UAAU,CAAC,IAAY;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;;;YA5DF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;YALO,kBAAkB;;;;;;;;IAOxB,uCAAyB;;;;;IACzB,sCAAwB;;;;;IACxB,oCAA2D;;;;;IAC3D,oCAAuD;;;;;IAE3C,8CAA+C;;;;;;;ACb7D;MAgBMA,GAAC,GAAG,MAAM;AAOhB,MAAa,iBAAiB;;;;;;;IA4B5B,YAAsB,WAAoC,EACtC,YAAyB,EACzB,cAA6B,EAC7B,gBAAiC;QAH/B,gBAAW,GAAX,WAAW,CAAyB;QACtC,iBAAY,GAAZ,YAAY,CAAa;QACzB,mBAAc,GAAd,cAAc,CAAe;QAC7B,qBAAgB,GAAhB,gBAAgB,CAAiB;QAxBrD,SAAI,GAAG,KAAK,CAAC;QAGb,aAAQ,GAAG,IAAI,CAAC;QAChB,cAAS,GAAG,IAAI,CAAC;QACjB,kBAAa,GAAG,IAAI,CAAC;QACrB,mBAAc,GAAG,IAAI,CAAC;QACtB,UAAK,GAAG,IAAI,CAAC;QACb,cAAS,GAAG,IAAI,CAAC;QACjB,cAAS,GAAG,IAAI,CAAC;QACjB,QAAG,GAAG,IAAI,CAAC;QACX,MAAC,GAAG,CAAC,CAAC;QACN,UAAK,GAAG,CAAC,CAAC;QACV,MAAC,GAAG,CAAC,CAAC;QACN,UAAK,GAAG,CAAC,CAAC;QACV,gBAAW,GAAG,IAAI,CAAC;QACnB,sBAAiB,GAAG,IAAI,CAAC;QACzB,aAAQ,GAAG,CAAC,CAAC;QACb,cAAS,GAAG,CAAC,CAAC;QAOZ,YAAY,CAAC,UAAU,CAAC,SAAS;;;;QAAC,CAAC,GAAW;YAC5C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;SACjB,EAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;QAE5C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS;;;;QACtC,KAAK;YACH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B,IAAG,CAAC;KACR;;;;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,cAAc,EAAE,EACzB;YACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;SACvD;KACF;;;;IAED,WAAW;KACV;;;;IAED,eAAe;;QAEb,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;QAE5E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;QAEhD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;;QAG1C,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;QAEjF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;;cAEvC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;KAC1C;;;;;IAGD,OAAO;QACL,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,iBAAiB,CAAC;KAC1E;;;;IAED,cAAc;QACZ,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,sBAAsB,CAAC;KAC/E;;;;;;IAED,oBAAoB,CAAC,KAAa,EAAE,UAAkB;QACpD,OAAO,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;KAClK;;;;IAED,MAAM;QACJ,OAAO,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KAC/D;;;;IAED,kBAAkB;;;;;;;KAOjB;;;;;IAED,SAAS,CAAC,UAAU;QAClB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,OAAO,UAAU,KAAK,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,KAAK,CAAC;SACxD;aACI;YACH,OAAO,IAAI,CAAC;SACb;KACF;;;YAjHF,SAAS,SAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,mgCAAwC;;aAEzC;;;;YAnBC,UAAU;YAOJ,WAAW;YAEX,aAAa;YAEZ,eAAe;;;mBAWrB,KAAK;+BACL,KAAK;mBACL,KAAK;2BACL,KAAK;8BACL,KAAK;;;;IAJN,iCAAuB;;IACvB,6CAAkC;;IAClC,iCAA+B;;IAC/B,yCAA8B;;IAC9B,4CAAkC;;IAClC,iCAAa;;IACb,iCAAa;;IAEb,qCAAgB;;IAChB,sCAAiB;;IACjB,0CAAqB;;IACrB,2CAAsB;;IACtB,kCAAa;;IACb,sCAAiB;;IACjB,sCAAiB;;IACjB,gCAAW;;IACX,8BAAM;;IACN,kCAAU;;IACV,8BAAM;;IACN,kCAAU;;IACV,wCAAmB;;IACnB,8CAAyB;;IACzB,qCAAa;;IACb,sCAAc;;IACd,sCAAmB;;;;;IAEP,wCAA8C;;;;;IAC9C,yCAAiC;;;;;IACjC,2CAAqC;;;;;IACrC,6CAAyC;;;;;;;ACtDvD,MAKa,gBAAgB;IAC3B;KACC;;;;;IAED,cAAc,CAAC,IAAI;;cACX,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC;;cACxD,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC;;YACpC,kBAAkB,GAAG,CAAC;;cACpB,iBAAiB,GAAG,GAAG,CAAC,gBAAgB,CAAC,mCAAmC,CAAC;QAEnF,iBAAiB,CAAC,OAAO;;;;QAAC,GAAG;YAC3B,kBAAkB,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;SACrG,EAAC,CAAC;;cAEG,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,CAAC;QAC7D,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;;cAE3C,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC;;;;QAE7D,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAC,EAAE,CAAC,CAAC;KACzD;;;;;IAED,oBAAoB,CAAC,IAAI;;cACjB,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC;QAC9D,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;;cACjC,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC;QAC3C,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEtB,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO;;;;QAAC,GAAG;YACzC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SACnB,EAAC,CAAC;QAEH,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;;cAE3C,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAC7D,OAAO,UAAU,CAAC;KACnB;;;;;;IAED,YAAY,CAAC,OAAO,EAAE,KAAK;;cACnB,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5C,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC,EAAC;;kBACxB,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;YACvC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACvC;;cAEK,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC;;cAC1C,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACzC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC;QACnB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEtB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;YAElB,GAAG,GAAG,CAAC;QACX,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO;;;;QAAC,GAAG;;kBAChC,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;YACzC,IAAI,GAAG,KAAK,CAAC,EAAE;;sBACP,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;gBACvC,EAAE,CAAC,SAAS,GAAG,OAAO,CAAA;gBACtB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACf,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC/B,GAAG,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACjB;iBACI;;sBACG,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;gBACvC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACf,GAAG,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACjB;YACD,GAAG,EAAE,CAAC;SACP,EAAC,CAAC;QAEH,OAAO,KAAK,CAAC;KACd;;;;;IAED,OAAO,CAAC,CAAC;;cACD,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;;cACxB,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;;cACxB,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC;;YAEvB,CAAC,GAAG,EAAE;QACV,OAAM,CAAC,IAAI,CAAC,EAAE;YACZ,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;SAC7B;QACD,OAAO,CAAC,CAAC;KACV;;;YA7FF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;ACJD,MAQa,kBAAkB;;;;IAW7B,YAAoB,iBAAmC;QAAnC,sBAAiB,GAAjB,iBAAiB,CAAkB;KACtD;;;;IAED,QAAQ;;cACA,IAAI,gBAAe,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QACxF,IAAG,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;KACF;;;;;IAED,WAAW,CAAC,OAAsB;;;QAGhC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAC,IAAI,CAAC;aACtB,OAAO,CAAC,SAAS,EAAC,EAAE,CAAC;aACrB,OAAO,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;aAChE,OAAO,CAAC,gBAAgB,EAAE,mCAAmC,CAAC;aAC9D,OAAO,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;cAC1E,IAAI,CAAC;;cAChC,kBAAkB,GAAG,wBAAwB;QACnD,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;SAC3B;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;KAC/G;;;YA1CF,SAAS,SAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,unBAA0C;;aAE3C;;;;YANQ,gBAAgB;;;oBAStB,KAAK;oBACL,KAAK;qBACL,KAAK;qBACL,KAAK;mBACL,KAAK;qBACL,KAAK;uBACL,KAAK;;;;IANN,mCAAuB;;IACvB,mCAAuB;;IACvB,oCAAwB;;IACxB,oCAAwB;;IACxB,kCAAsB;;IACtB,oCAAyB;;IACzB,sCAA2B;;IAC3B,qCAAgB;;;;;IAEJ,+CAA2C;;;;;;;ACnBzD,MAYa,sBAAuB,SAAQ,iBAAiB;;;;;;;;IAO3D,YAAY,WAAoC,EACpC,WAAwB,EACxB,aAA4B,EAC5B,eAAgC,EACxB,QAAmB;QACrC,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;QAD9C,aAAQ,GAAR,QAAQ,CAAW;QAPvC,YAAO,GAAG,IAAI,CAAC;QASb,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;KACxC;;;;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;KACxB;;;;IAED,eAAe;QACb,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS;;;QAAC;YACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAChC,EAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS;;;;QACtC,KAAK;YACH,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aACzB;SACF,EAAC,CAAC;;cAEE,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE;QAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1H,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3H,IAAI,cAAc,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;SAC1G;KACF;;;;IAED,iBAAiB;;cACT,WAAW,sBAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,EAAe;;cACnE,cAAc,GAAG,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW;QACxE,OAAO,cAAc,CAAC;KACvB;;;;IAED,qBAAqB;;QAEnB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;QAEhF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC;KAC/D;;;;;IAED,WAAW,CAAC,MAAM;QAChB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;KAC7B;;;YA9DF,SAAS,SAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,khCAA8C;;aAE/C;;;;YAXmB,UAAU;YAIrB,WAAW;YAFX,aAAa;YACb,eAAe;YAHwD,SAAS;;;oBAatF,YAAY,SAAC,kBAAkB;;;;IAAhC,uCAAuE;;IAEvE,+CAAsB;;IACtB,yCAAe;;IACf,iDAAiC;;;;;IAMrB,0CAA2B;;;;;;;ACvBzC,MAOa,aAAa;IAWxB;KACC;;;;IAED,QAAQ;;cACA,IAAI,gBAAe,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QACxF,IAAG,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;KACF;;;;;IAED,WAAW,CAAC,OAAsB;;;QAGhC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAC,IAAI,CAAC;aACtB,OAAO,CAAC,SAAS,EAAC,EAAE,CAAC;aACrB,OAAO,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;aAChE,OAAO,CAAC,gBAAgB,EAAE,mCAAmC,CAAC;aAC9D,OAAO,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;cAC1E,IAAI,CAAC;;cAChC,kBAAkB,GAAG,wBAAwB;QACnD,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;SAC3B;KACF;;;YAxCF,SAAS,SAAC;gBACT,QAAQ,EAAE,SAAS;gBACnB,unBAAoC;;aAErC;;;;;oBAGE,KAAK;oBACL,KAAK;qBACL,KAAK;qBACL,KAAK;mBACL,KAAK;qBACL,KAAK;uBACL,KAAK;;;;IANN,8BAAuB;;IACvB,8BAAuB;;IACvB,+BAAwB;;IACxB,+BAAwB;;IACxB,6BAAsB;;IACtB,+BAAyB;;IACzB,iCAA2B;;IAC3B,gCAAgB;;;;;;;AChBlB,MAIa,gBAAgB;;;;IAC3B,YAAoB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;KAC1C;;;;;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACrD;;;YAPF,IAAI,SAAC,EAAC,IAAI,EAAE,UAAU,EAAC;;;;YAFhB,YAAY;;;;;;;IAIN,qCAA+B;;AAS7C,MAAa,wBAAwB;;;;IACnC,YAAoB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;KAC1C;;;;;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;KAC5D;;;YAPF,IAAI,SAAC,EAAC,IAAI,EAAE,kBAAkB,EAAC;;;;YAZxB,YAAY;;;;;;;IAcN,6CAA+B;;AAS7C,MAAa,iBAAiB;;;;IAC5B,YAAoB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;KAC1C;;;;;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;KACtD;;;YAPF,IAAI,SAAC,EAAC,IAAI,EAAE,WAAW,EAAC;;;;YAtBjB,YAAY;;;;;;;IAwBN,sCAA+B;;AAS7C,MAAa,mBAAmB;;;;;;IAE9B,SAAS,CAAC,KAAa,EAAE,IAAY;QACnC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAC;SACd;;cACK,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;QACjC,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,sCAAsC,CAAC,CAAC;KAClE;;;YATF,IAAI,SAAC,EAAC,IAAI,EAAE,WAAW,EAAC;;;;;;;ACjCzB,MAQa,uBAAuB;;;;IAIlC,YAAoB,cAAkC;QAAlC,mBAAc,GAAd,cAAc,CAAoB;QAF5C,gBAAW,GAAG,IAAI,YAAY,EAAW,CAAC;KAEO;;;;IAE3D,QAAQ;KACP;;;;;IAED,eAAe,CAAC,KAAe;QAC7B,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;;;;IAED,aAAa;QACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC7B;;;;;IAED,KAAK,CAAC,MAAM;QACV,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,aAAa,EAAE;YACtC,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;KACF;;;YA3BF,SAAS,SAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,2pBAAgD;;aAEjD;;;;YANO,kBAAkB;;;0BASvB,MAAM;;;;IAAP,8CAAoD;;;;;IAExC,iDAA0C;;;;;;;ACZxD,MAMa,YAAY;;;;IAUvB,YAAsB,mBAAuC;QAAvC,wBAAmB,GAAnB,mBAAmB,CAAoB;QARnD,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QACtC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QACtC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QAEnB,WAAM,GAAG,KAAK,CAAC;QAEpC,gBAAW,GAAG,CAAC,CAAC;KAGvB;;;;;IAGM,WAAW,CAAC,GAAG;QACpB,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;;;;;IAGM,UAAU,CAAC,GAAG;QACnB,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;KACd;;;;;IAGM,WAAW,CAAC,GAAG;QACpB,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;KACF;;;;;IAGM,MAAM,CAAC,GAAG;QACf,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;;cAChB,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK;QACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;KACF;;;;;IAGM,OAAO,CAAC,KAAK;QAClB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;;;;;IAEO,SAAS;QACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;;;YAhEF,SAAS,SAAC;gBACT,QAAQ,EAAE,SAAS;aACpB;;;;YAJO,kBAAkB;;;sBAOvB,MAAM;sBACN,MAAM;sBACN,MAAM;qBAEN,WAAW,SAAC,cAAc;0BAO1B,YAAY,SAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;yBASpC,YAAY,SAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;0BAOnC,YAAY,SAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;qBAWpC,YAAY,SAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;sBAa/B,YAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;;IAnDjC,+BAAgD;;IAChD,+BAAgD;;IAChD,+BAAgD;;IAEhD,8BAA4C;;;;;IAE5C,mCAAwB;;;;;IAEZ,2CAAiD;;;;;;;AChB/D;MAEMA,GAAC,GAAG,MAAM;AAKhB,MAAa,eAAe;IAE1B;KACC;;;;;;;;IAED,eAAe,CAAC,EAAE,EAAE,OAAe,GAAG,EAAE,aAAqB,CAAC,EAAE,SAAiB,GAAG;QAClF,IAAI,CAAC,EAAE,EAAE;YACP,OAAO,KAAK,CAAC;SACd;;cACK,CAAC,GAAG,MAAM;;cACV,CAAC,GAAG,GAAG;;cAEP,GAAG,GAAGA,GAAC,CAAC,MAAM,CAAC;;cAEf,QAAQ,GAAG;YACf,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE;YACpB,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,UAAU;YACnC,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE;YAC1C,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE;SACvC;QAGD,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;YACf,IAAI,GAAG,GAAG,CAAC;SACZ;;cAEK,KAAK,GAAG,IAAI,GAAG,GAAG;;cAClB,MAAM,GAAGA,GAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC;;cACtC,KAAK,GAAGA,GAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC;QAE1C,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;YACrB,OAAO,KAAK,CAAC;SACd;;cAEK,MAAM,GAAGA,GAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;;cACvB,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK;;cACvC,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,MAAM;;cAExC,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;QAE3J,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,KAAK,CAAC;SACd;;cAEK,MAAM,GAAG;YACb,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;YACzE,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;YAC/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;YACzE,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;SAC9F;QAED,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;KAC/E;;;YAvDF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;ACND;MAgBMA,GAAC,GAAG,MAAM;AAKhB,MAAa,mBAAmB;;;;;;;;;IAM9B,YAAoB,WAAoC,EACpC,gBAAiC,EACjC,mBAAuC,EACvC,YAAyB,EACzB,cAA6B,EAC7B,gBAAiC;QALjC,gBAAW,GAAX,WAAW,CAAyB;QACpC,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,wBAAmB,GAAnB,mBAAmB,CAAoB;QACvC,iBAAY,GAAZ,YAAY,CAAa;QACzB,mBAAc,GAAd,cAAc,CAAe;QAC7B,qBAAgB,GAAhB,gBAAgB,CAAiB;QAR7C,SAAI,GAAG,GAAG,CAAC;QACX,mBAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QASjC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9D,YAAY,CAAC,UAAU,CAAC,SAAS;;;;QAAC,CAAC,GAAW;YAC5C,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB,EAAC,CAAC;KACJ;;;;IAED,eAAe;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS;;;;QAAE,KAAK;YAC7C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B,GAAE,CAAC;QACJ,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;;;;IAEuB,SAAS;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;;;;IAE8B,QAAQ;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;;;;;IAED,YAAY,CAAC,UAAkB;;cACvB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa;;cACnC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;;cAC/B,IAAI,GAAG,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI;;cAC3D,SAAS,IAAI,IAAI,IAAIA,GAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAKA,GAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;QACzE,IAAI,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE;YACvE,OAAO;SACR;;cACK,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;;cAC9C,OAAO,GAAG;YACd,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,WAAW;SACjB;QACD,IAAG,EAAE,EAAC;;YAEJ,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACpB;KACF;;;;;IAEO,WAAW;;cACX,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;QACnE,IAAI,EAAE,EAAE;;YAEN,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACtD;KACF;;;;;;IAEO,OAAO,CAAC,UAAkB;;cAC1B,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;QACnE,IAAI,EAAE,EAAE;YACN,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;SAC3E;KACF;;;;;;IAEO,eAAe,CAAC,UAAkB;;cAClC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE;;cACtE,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE;;YACpD,WAAW,GAAG,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;;kBACrC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;;kBACtB,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC;YACjD,WAAW,IAAI,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;SAC9E;QACD,OAAO,WAAW,CAAC;KACpB;;;;;IAEO,iBAAiB;;cACjB,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;;cACxB,MAAM,GAAG,GAAG;QAClB,IAAI,MAAM,EAAE;;kBACJ,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,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,CAAC,CAAC;KACV;;;;IAED,OAAO;;YACD,IAAI;;YACJ,cAAc,GAAG,KAAK;;cACpB,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;;cACzC,eAAe,GAAG,IAAI,CAAC,WAAW,IAAI,QAAQ,GAAG,QAAQ,CAAC,qBAAqB,EAAE,GAAG,IAAI;QAC9F,KAAK,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE;;kBACrD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,IAAI,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC7D,IAAI,CAAC,cAAc,EAAE;oBACnB,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;wBAC1I,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBACxB,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,KAAK,CAAC,EAAE;4BAC3C,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;yBAC1C;qBACF;oBACD,cAAc,GAAG,IAAI,CAAC;iBACvB;gBACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAClC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBACpD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBAC/B;aACF;SACF;KACF;;;;;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;;;;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KACzE;;;;;IAGO,QAAQ;QACd,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;KAC1F;;;;;IAEO,OAAO;QACb,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;KACxB;;;YA1IF,SAAS,SAAC;gBACT,QAAQ,EAAE,gBAAgB;aAC3B;;;;YAjBC,UAAU;YAOJ,eAAe;YACf,kBAAkB;YAClB,WAAW;YACX,aAAa;YACb,eAAe;;;wBAoCpB,YAAY,SAAC,QAAQ;uBAIrB,YAAY,SAAC,eAAe;;;;;;;IA/B7B,0CAA4B;;;;;IAC5B,mCAAmB;;;;;IACnB,6CAAmC;;;;;IAEvB,0CAA4C;;;;;IAC5C,+CAAyC;;;;;IACzC,kDAA+C;;;;;IAC/C,2CAAiC;;;;;IACjC,6CAAqC;;;;;IACrC,+CAAyC;;;;;;;AChCvD;MAMMA,GAAC,GAAG,MAAM;AAKhB,MAAa,mBAAmB;IAHhC;QAIY,iBAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,mBAAc,GAAG,IAAI,YAAY,EAAE,CAAC;KAuB/C;;;;;IArByC,kBAAkB,CAAC,KAAU;QACnE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAC5B;;;;;IAE2C,mBAAmB,CAAC,KAAU;QACxE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAC5B;;;;;IAEyC,cAAc,CAAC,KAAU;QACjE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAC5B;;;;;IAED,cAAc,CAAC,KAAU;QACvB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE;;cAChB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5E,IAAG,KAAK,GAAG,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;aAAM,IAAG,KAAK,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnC;KACF;;;YA3BF,SAAS,SAAC;gBACT,QAAQ,EAAE,gBAAgB;aAC3B;;;2BAEE,MAAM;6BACN,MAAM;iCAEN,YAAY,SAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;kCAIrC,YAAY,SAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;6BAIzC,YAAY,SAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;;;IAXxC,2CAA4C;;IAC5C,6CAA8C;;;;;;;ACbhD,MAQa,aAAa;;;;;;IAaxB,YAAoB,YAAyB,EAAU,cAA6B,EAAE,EAAc;QAAhF,iBAAY,GAAZ,YAAY,CAAa;QAAU,mBAAc,GAAd,cAAc,CAAe;QAX3E,eAAU,GAAG,IAAI,CAAC;QAYzB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KACd;;;;IAED,WAAW;KACV;;;;IAED,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAC1C;;;;IAED,QAAQ;QACN,IAAI,CAAE,IAAI,CAAC,UAAU,EAAE;YACrB,OAAO;SACR;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS;;;;QAAC,CAAC,IAAI;YAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACxB,EAAC,CAAC;KACJ;;;;;;IAEO,SAAS,CAAC,IAAI;QACpB,IAAI,CAAE,IAAI,CAAC,UAAU,EAAE;YACrB,OAAO;SACR;;cAEK,OAAO,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG;QAE7C,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE;YAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;aACI;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,GAAG,CAAC;YAC1C,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;SACnC;aACI;YACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SAC3B;;YAEG,QAAQ,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;;;;QAAC,IAAI;YAC1B;gBACE,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,EAAC;oBACxB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;iBACvB;aACF;SACF,EAAC,CAAC;;QAGH,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC;KACtE;;;;;;IAEO,cAAc,CAAC,GAAG;QACxB,OAAO,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;KAC1C;;;;;;IAEO,eAAe,CAAC,GAAG;QACzB,OAAO,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;KAC5C;;;;;;IAEO,WAAW,CAAC,IAAI;;cAChB,OAAO,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG;;cAEvC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW;;cAC/D,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY;;cACjE,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC;;cACtE,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC;QAC9E,IAAI,CAAC,KAAK,GAAG,CAAC,aAAa,GAAC,OAAO,GAAG,WAAW,GAAC,OAAO,IAAI,IAAI,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,CAAC,cAAc,GAAC,OAAO,GAAG,YAAY,GAAC,OAAO,IAAI,IAAI,CAAC;KACtE;;;;IAED,eAAe;QACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KACxC;;;YAjGF,SAAS,SAAC;gBACT,QAAQ,EAAE,UAAU;aACrB;;;;YANO,WAAW;YAEV,aAAa;YAHmD,UAAU;;;yBAUhF,KAAK;mBACL,KAAK;sBAEL,WAAW,SAAC,YAAY;wBACxB,WAAW,SAAC,iBAAiB;8BAC7B,WAAW,SAAC,wBAAwB;oBACpC,WAAW,SAAC,aAAa;qBACzB,WAAW,SAAC,cAAc;uBAC1B,WAAW,SAAC,iBAAiB;;;;IAR9B,mCAA2B;;IAC3B,6BAAc;;IAEd,gCAA2C;;IAC3C,kCAAkD;;IAClD,wCAA+D;;IAC/D,8BAA0C;;IAC1C,+BAA4C;;IAC5C,iCAAiD;;IACjD,2BAAoB;;;;;IAER,qCAAiC;;;;;IAAE,uCAAqC;;;;;;;ACrBtF,MAMa,cAAc;IAIzB;QAHQ,cAAS,GAAqB,IAAI,OAAO,EAAE,CAAC;QACnC,aAAQ,GAAwB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KAG9E;;;;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;;;;;IAED,KAAK,CAAC,KAAc;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC3B;;;YAhBF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;IAEC,mCAAoD;;;;;IACpD,kCAA+E;;;;;;;ACRjF;;;AAGA,qBAIC;;;IAHC,sBAAa;;IACb,uBAAW;;IACX,2BAAmB;;AAQrB,MAAa,eAAe;;;;IAS1B,YAAsB,eAA+B;QAA/B,oBAAe,GAAf,eAAe,CAAgB;QAN5C,aAAQ,GAAG,KAAK,CAAC;QAEhB,aAAQ,GAAsB,IAAI,YAAY,EAAE,CAAC;QAClD,WAAM,GAAG,KAAK,CAAC;QAItB,eAAe,CAAC,OAAO,CAAC,SAAS;;;QAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;SACd,EAAC,CAAC;KACJ;;;;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;KACF;;;;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;;;;;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;;;;;IAED,MAAM,CAAC,MAAM;;QAEX,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;SAC5B;KACF;;;;;;IAED,MAAM,CAAC,MAAM,EAAE,KAAa;QAC1B,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;;;YAhDF,SAAS,SAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,82BAAsC;;aAEvC;;;;YAZO,cAAc;;;sBAenB,KAAK;uBACL,KAAK;2BACL,KAAK;uBACL,MAAM;qBACN,KAAK;mBACL,KAAK;;;;IALN,kCAA2B;;IAC3B,mCAA0B;;IAC1B,uCAA8B;;IAC9B,mCAA2D;;IAC3D,iCAAwB;;IACxB,+BAAsB;;;;;IAEV,0CAAyC;;;;;;;ACvBvD,MAKa,uBAAuB;IAIlC;KACC;;;;;IAIO,YAAY;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;KACvC;;;;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;;;;;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,CAAC,YAAY,EAAE,CAAA;KACpB;;;YAtBF,SAAS,SAAC;gBACT,QAAQ,EAAE,oBAAoB;aAC/B;;;;;kBAGE,KAAK;qBAKL,WAAW,SAAC,gBAAgB;;;;IAL7B,sCAAsB;;IAKtB,yCAA+C;;;;;;;ACZjD,MAKa,iBAAiB;IAc5B;QARS,eAAU,GAAG,IAAI,CAAC;KAS1B;;;;;IAEO,YAAY;QAClB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAC;YACjC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SACvC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;SAClD;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,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;gBACxF,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;wBACtB,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;qBAC7B;yBAAM;wBACL,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;qBAC9B;iBACF;qBAAM;oBACL,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;wBACtB,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;qBACnC;yBAAM;wBACL,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;qBACnC;iBACF;aACF;iBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,EAAE;gBACpD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;SACF;KAEF;;;;IAED,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;KACjC;;;;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;;;;;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,CAAC,YAAY,EAAE,CAAA;KACpB;;;YArEF,SAAS,SAAC;gBACT,QAAQ,EAAE,cAAc;aACzB;;;;;oBAGE,KAAK;yBACL,KAAK;oBACL,KAAK;qBACL,KAAK;yBACL,KAAK;wBAEL,WAAW,SAAC,iBAAiB;yBAC7B,WAAW,SAAC,2BAA2B;wBACvC,WAAW,SAAC,iBAAiB;qBAE7B,WAAW,SAAC,cAAc;;;;IAV3B,kCAAuB;;IACvB,uCAA6B;;IAC7B,kCAAuB;;IACvB,mCAAwB;;IACxB,uCAA2B;;IAE3B,sCAAkD;;IAClD,uCAA6D;;IAC7D,sCAAkD;;IAElD,mCAA4C;;;;;;;ACjB9C,MAOa,kBAAkB;IAM7B;QAHU,gBAAW,GAAG,IAAI,YAAY,EAAW,CAAC;QACpD,mBAAc,GAAG,KAAK,CAAC;KAGtB;;;;IAED,QAAQ;KACP;;;;;IAED,OAAO,CAAC,MAAM;QACZ,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;KACF;;;YAtBF,SAAS,SAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,wjBAA0C;;aAE3C;;;;;mBAEE,KAAK;mBACL,KAAK;0BACL,MAAM;;;;IAFP,kCAAsB;;IACtB,kCAAsB;;IACtB,yCAAoD;;IACpD,4CAAuB;;;;;;;ACXzB,MAGa,kBAAkB;IAM7B;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU;;;;QAAC,QAAQ,IACpC,IAAI,CAAC,SAAS,GAAG,QAAQ,EAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU;;;;QAAC,QAAQ,IACxC,IAAI,CAAC,aAAa,GAAG,QAAQ,EAAC,CAAC;KAClC;;;;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;;;;;IAED,WAAW,CAAC,KAAkB;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;;;;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;;;;;IAED,UAAU,CAAC,IAAU;QACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;CACF;;;;;;IA3BC,qCAAyC;;;;;IACzC,uCAAyC;;;;;IACzC,yCAAsC;;;;;IACtC,2CAAsC;;;;;;;ACPxC,MAOa,oBAAoB;;;;IAG/B,YAAoB,cAAkC;QAAlC,mBAAc,GAAd,cAAc,CAAoB;QACpD,cAAc,CAAC,WAAW,CAAC,SAAS;;;;QAAC,KAAK;YACxC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACzB,EAAC,CAAC;QACH,cAAc,CAAC,eAAe,CAAC,SAAS;;;;QAAC,IAAI;YAC3C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAC5B,EAAC,CAAC;KACJ;;;;;;IAEO,WAAW,CAAC,KAAkB;;YAChC,SAAS,GAAG,EAAE;QAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,SAAS,IAAI,mBAAmB,GAAG,IAAI,CAAC,MAAM,GAAG,oBAAoB;gBACnE,oHAAoH,GAAG,IAAI,CAAC,IAAI,GAAG,sBAAsB;gBACzJ,QAAQ,CAAC;SACZ;QAED,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;KAC7D;;;;;;;;IAEO,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM;;cACnC,QAAQ,GAAG,GAAG;;cACd,OAAO,GAAG,GAAG;;YACf,eAAe,GAAG,EAAE;QACxB,IAAG,KAAK,GAAG,OAAO,IAAI,MAAM,GAAG,QAAQ,EAAC;;kBAChC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,GAAG;YAChD,eAAe,GAAG,qDAAqD,CAAC;YACxE,IAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAC;gBAC3D,eAAe,GAAG,kCAAkC,GAAG,IAAI,GAAG,KAAK,CAAC;aACrE;SACF;;YACG,QAAQ,GAAG,SAAS;YACtB,iFAAiF;YACjF,gDAAgD,GAAG,eAAe;QACpE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;;cAE3B,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,0FAA0F,CAAC;QAC/I,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9B,UAAU;;;QAAC;YACT,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,YAAY,CAAC,KAAK,EAAE,CAAC;SACtB,GAAE,GAAG,CAAC,CAAC;KACT;;;;;;IAEO,eAAe,CAAC,IAAU;;cAC1B,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;;cACnC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,0FAA0F,CAAC;QACpJ,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,YAAY,CAAC,KAAK,EAAE,CAAC;KACtB;;;YA7DF,SAAS,SAAC;gBACT,QAAQ,EAAE,iBAAiB;aAC5B;;;;YAJO,kBAAkB;;;uBAMvB,KAAK;;;;IAAN,wCAA2B;;;;;IAEf,8CAA0C;;;;;;;ACVxD,MAEa,uBAAuB;IAIlC;QAHQ,cAAS,GAA4B,IAAI,eAAe,CAAC,yBAAyB,CAAC,CAAC;QACpF,mBAAc,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KAG1E;;;;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;;;;;IAED,aAAa,CAAC,OAAe;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC9B;CACF;;;;;;IAbC,4CAA4F;;;;;IAC5F,iDAA2E;;;;;;;ACJ7E,MAQa,mBAAmB;;;;IAI9B,YAAY,cAAuC;QACjD,cAAc,CAAC,aAAa,CAAC,SAAS;;;;QAAC,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,EAAC,CAAC;KAC3E;;;;IAED,QAAQ;KACP;;;YAdF,SAAS,SAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,qbAA2C;;aAE5C;;;;YANO,uBAAuB;;;;IAS7B,sCAAgB;;;;;;;ACVlB,MAEa,eAAe;IAI1B;QAHQ,cAAS,GAAoB,IAAI,OAAO,EAAE,CAAC;QAClC,gBAAW,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KAGhF;;;;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;;;;;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;CACF;;;;;;IAbC,oCAAmD;;;;;IACnD,sCAAiF;;;;;;;ACJnF;MAKMA,GAAC,GAAG,MAAM;AAOhB,MAAa,yBAAyB;;;;;IAIpC,YAAY,cAAuC,EAAU,gBAAiC;QAAjC,qBAAgB,GAAhB,gBAAgB,CAAiB;QAFpF,gBAAW,GAAG,IAAI,YAAY,EAAE,CAAC;QAGzC,cAAc,CAAC,aAAa,CAAC,SAAS;;;;QAAC,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,EAAC,CAAC;KAC3E;;;;IAED,QAAQ;KACP;;;;;IAED,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC1C;;;;;IAED,WAAW,CAAC,MAAe;QACzB,IAAI,MAAM,EAAE;YACV,UAAU;;;YAAC;;sBACH,OAAO,GAAGA,GAAC,CAAC,WAAW,CAAC;gBAC9B,IAAI,OAAO,EAAE;oBACX,OAAO,CAAC,KAAK,EAAE,CAAC;iBACjB;aACF,GAAE,GAAG,CAAC,CAAC;SACT;aAAM;YACLA,GAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACxB;KACF;;;;;IAED,MAAM,CAAC,MAAe;QACpBA,GAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC7B;;;YApCF,SAAS,SAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,otBAAiD;;aAElD;;;;YAVO,uBAAuB;YACvB,eAAe;;;0BAYpB,MAAM;;;;IADP,4CAAgB;;IAChB,gDAA2C;;;;;IAEU,qDAAyC;;;;;;;AChBhG,MAWa,uBAAuB;;;;;IAElC,YAAoB,aAA2B,EAAU,eAAwC;QAA7E,kBAAa,GAAb,aAAa,CAAc;QAAU,oBAAe,GAAf,eAAe,CAAyB;KAChG;;;;;;IAED,SAAS,CAAC,GAAqB,EAAE,IAAiB;;cAC1C,SAAS,GAAG,kCAAkC;QAEpD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;aACpB,IAAI,CAAC,GAAG;;;;QAAC,IAAI;YACV,OAAO,IAAI,CAAC;SACb,EAAC,EACF,UAAU;;;;QAAC,CAAC,SAAyB;YACnC,IAAI,SAAS,YAAY,iBAAiB,EAAE;gBAC1C,QAAQ,SAAS,CAAC,MAAM;oBAEtB,KAAK,SAAS,CAAC,UAAU;wBACvB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;wBAC/C,MAAM;oBACR,KAAK,SAAS,CAAC,YAAY;wBACzB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;wBAChD,MAAM;oBACR,KAAK,SAAS,CAAC,QAAQ;wBACrB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;wBAC7C,MAAM;oBACR,KAAK,SAAS,CAAC,OAAO;wBACpB,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;wBAC3C,MAAM;oBACR,KAAK,SAAS,CAAC,mBAAmB;wBAChC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;wBAC3C,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;wBACnD,MAAM;oBAER,KAAK,SAAS,CAAC,SAAS;wBACtB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;wBAC7C,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;wBACvD,MAAM;iBACT;aACF;YACD,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;SAC9B,EAAC,CAAC,CAAC;KACT;;;YA9CF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;YAJqB,YAAY;YAF1B,uBAAuB;;;;;;;;IASjB,gDAAmC;;;;;IAAE,kDAAgD;;;;;;;ACbnG,MAEa,aAAa;IAUxB;QATQ,cAAS,GAAoB,IAAI,OAAO,EAAE,CAAC;QAClC,gBAAW,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAEzE,qBAAgB,GAAoB,IAAI,OAAO,EAAE,CAAC;QACzC,mBAAc,GAAuB,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAEnF,mBAAc,GAAoB,IAAI,OAAO,EAAE,CAAC;QACvC,iBAAY,GAAuB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KAGtF;;;;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;;;;;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;;;;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;;;;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;;;;;IAED,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrC;;;;;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;CACF;;;;;;IAnCC,kCAAmD;;;;;IACnD,oCAAiF;;;;;IAEjF,yCAA0D;;;;;IAC1D,uCAA2F;;;;;IAE3F,uCAAwD;;;;;IACxD,qCAAuF;;;;;;;ACVzF,MAQa,eAAe;;;;IAW1B,YAAoB,cAA6B;QAA7B,mBAAc,GAAd,cAAc,CAAe;QATvC,cAAS,GAAG,IAAI,YAAY,CAAU,KAAK,CAAC,CAAC;QAEvD,YAAO,GAAG,CAAC,CAAC;QACZ,UAAK,GAAG,CAAC,CAAC;QAOR,cAAc,CAAC,WAAW,CAAC,SAAS;;;;QAAC,CAAC,KAAa;YACjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;aAClB;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;aAClB;YACD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9C,EAAC,CAAC;KACJ;;;;IAED,QAAQ;KACP;;;;;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACnC;;;;IAED,IAAI;QACF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;;;;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9C;KACF;;;;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9C;KACF;;;;IAED,eAAe;QACb,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACxC;;;YAxDF,SAAS,SAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,sqBAAsC;;aAEvC;;;;YANO,aAAa;;;wBASlB,MAAM;0BAKN,SAAS,SAAC,MAAM,EAAC;oBAChB,MAAM,EAAG,IAAI;iBACd;;;;IAPD,oCAAuD;;IAEvD,kCAAY;;IACZ,gCAAU;;IAEV,sCAE2B;;;;;IAEf,yCAAqC;;;;;;;ACnBnD;MAKMA,GAAC,GAAG,MAAM;AAKhB,MAAa,mBAAmB;;;;;;;IAO9B,YAAoB,WAAoC,EACpC,cAA6B,EAC7B,UAA+B,EAC/B,YAAyB;QAHzB,gBAAW,GAAX,WAAW,CAAyB;QACpC,mBAAc,GAAd,cAAc,CAAe;QAC7B,eAAU,GAAV,UAAU,CAAqB;QAC/B,iBAAY,GAAZ,YAAY,CAAa;QAP7C,YAAO,GAAG,CAAC,CAAC;QACZ,UAAK,GAAG,CAAC,CAAC;QACF,SAAI,GAAG,GAAG,CAAC;QAMjB,cAAc,CAAC,aAAa,CAAC,SAAS;;;;QAAC,CAAC,OAAe;YACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;gBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF,EAAC,CAAC;QAEH,cAAc,CAAC,UAAU,CAAC,SAAS;;;;QAAC,CAAC,IAAY;YAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB,EAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9D,YAAY,CAAC,UAAU,CAAC,SAAS;;;;QAAC,CAAC,GAAW;YAC5C,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;SACnC,EAAC,CAAC;KACJ;;;;;IAEO,eAAe;;cACf,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;QACnE,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;;sBACf,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,MAAM;gBACzD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACpB;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aAChB;YACD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1C;KACF;;;;;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;YACtB,OAAO;SACR;;cACK,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE;;cAC5B,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI;QACnE,IAAI,EAAE,EAAE;YACN,EAAE,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,OAAO;;;;YAAC,UAAU,KAAK;gBACjEA,GAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;aAC7C,EAAC,CAAC;;kBACG,SAAS,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACxEA,GAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAC7C,IAAI,SAAS,EAAE;;sBACP,OAAO,GAAG;oBACd,IAAI,EAAE,CAAC;oBACP,GAAG,EAAE,CAACA,GAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,GAAG,GAAG;iBAClF;;gBAED,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAChD;SACF;KACF;;;;;;IAEO,WAAW,CAAC,EAAW;;cACvB,SAAS,GAAGA,GAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM;;;QAAC;;kBAC5C,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE;;kBACpD,UAAU,GAAG,oBAAU,IAAI,IAAE,SAAS,GAAG,CAAC,oBAAU,IAAI,IAAE,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI;YACzG,OAAO,IAAI,CAAC,QAAQ,KAAK,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBACpC,QAAQ,KAAK,OAAO;gBACpB,QAAQ,KAAK,OAAO;gBACpB,QAAQ,KAAK,MAAM;gBACnB,QAAQ,KAAK,QAAQ;gBACrB,UAAU,CAAC;SACd,EAAC;;cACI,IAAI,GAAG,IAAI,CAAC,IAAI;;cAChB,SAAS,GAAG,IAAI,CAAC,UAAU;QACjC,SAAS,CAAC,IAAI;;;QAAC;;kBACP,KAAK,GAAGA,GAAC,CAAC,IAAI,CAAC;;gBACjB,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE;YAC1B,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC7C,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAC5B,EAAC,CAAC;QACH,EAAE,CAAC,SAAS,EAAE,CAAC;KAChB;;;;;;IAEO,cAAc,CAAC,EAAe;;cAC9B,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;;kBACpC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAClC,OAAO,CAAC,WAAW,CAAC,oBAAc,OAAO,IAAE,SAAS,CAAC,CAAC;SACvD;QACD,EAAE,CAAC,SAAS,EAAE,CAAC;KAChB;;;;;IAEO,OAAO;QACb,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;KACxB;;;YAxGF,SAAS,SAAC;gBACT,QAAQ,EAAE,gBAAgB;aAC3B;;;;YATkB,UAAU;YACrB,aAAa;YACb,mBAAmB;YACnB,WAAW;;;;IASjB,mCAAa;;IACb,sCAAY;;IACZ,oCAAU;;;;;IACV,mCAAmB;;;;;IAEP,0CAA4C;;;;;IAC5C,6CAAqC;;;;;IACrC,yCAAuC;;;;;IACvC,2CAAiC;;;;;;;ACpB/C,MAOa,uBAAuB;IAIlC;KACC;;;;IAED,QAAQ;KACP;;;YAbF,SAAS,SAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,2IAA+C;;aAEhD;;;;;mBAEE,KAAK;mBACL,KAAK;;;;IADN,uCAAsB;;IACtB,uCAAsB;;;;;;;ACTxB,MAEa,mBAAmB;IAI9B;QAHQ,cAAS,GAAoB,IAAI,OAAO,EAAE,CAAC;QAClC,qBAAgB,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KAGrF;;;;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAC9B;;;;;IAED,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;CACF;;;;;;IAbC,wCAAmD;;;;;IACnD,+CAAsF;;;;;;;ACJxF,MAQa,YAAY;;;;IAQvB,YAAoB,oBAAyC;QAAzC,yBAAoB,GAApB,oBAAoB,CAAqB;QAJpD,aAAQ,GAAG,KAAK,CAAC;QACjB,WAAM,GAAG,KAAK,CAAC;QACf,YAAO,GAAG,IAAI,CAAC;QAGtB,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,SAAS;;;;QAAC,CAAC,KAAa;YAChE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACxB,EAAC,CAAC;KACJ;;;;;;IAEO,UAAU,CAAC,KAAa;QAC9B,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;KACF;;;;IAED,QAAQ;KACP;;;;IAED,SAAS;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACpD;;;YAnCF,SAAS,SAAC;gBACT,QAAQ,EAAE,QAAQ;gBAClB,uZAAmC;;aAEpC;;;;YANO,mBAAmB;;;iBAQxB,KAAK;uBACL,KAAK;mBACL,KAAK;uBACL,KAAK;qBACL,KAAK;sBACL,KAAK;;;;IALN,0BAAoB;;IACpB,gCAA0B;;IAC1B,4BAAsB;;IACtB,gCAA0B;;IAC1B,8BAAwB;;IACxB,+BAAwB;;;;;IAEZ,4CAAiD;;;;;;;AChB/D,MAOa,aAAa;IACxB;KACC;;;YAPF,SAAS,SAAC;gBACT,QAAQ,EAAE,SAAS;gBACnB,gFAAoC;;aAErC;;;;;;;;;ACND,MAEa,UAAU;;;;;;;;;;;;;IACrB,YAAY,QAAgB,EAAE,KAAa,EAAE,OAAe,EAAE,IAAa,EAAE,MAAe,EAAE,SAAkB,EAAE,IAAY,EAAE,SAAkB,EAAE,KAAa,EAAE,IAAY;QAC7K,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAClB;;;;IAaM,OAAO,OAAO;QACnB,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;KAC9F;CACF;;;IAdC,0BAAc;;IACd,4BAAgB;;IAChB,+BAAmB;;IACnB,8BAAiB;;IACjB,2BAAc;;IACd,6BAAgB;;IAChB,0BAAa;;IACb,+BAAmB;;IACnB,2BAAc;;IACd,0BAAa;;AAOf,MAAa,iBAAiB;IA0B5B;QAzBQ,kBAAa,GAAqB,IAAI,OAAO,EAAE,CAAC;QACvC,sBAAiB,GAAwB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACpF,uBAAkB,GAAqB,IAAI,OAAO,EAAE,CAAC;QAC5C,2BAAsB,GAAwB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QAC9F,kBAAa,GAAqB,IAAI,OAAO,EAAE,CAAC;QACvC,UAAK,GAAwB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACxE,kBAAa,GAAqB,IAAI,OAAO,EAAE,CAAC;QACvC,UAAK,GAAwB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACxE,oBAAe,GAAqB,IAAI,OAAO,EAAE,CAAC;QACzC,wBAAmB,GAAwB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QACxF,mBAAc,GAAoB,IAAI,OAAO,EAAE,CAAC;QACvC,uBAAkB,GAAuB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACrF,qBAAgB,GAAoB,IAAI,OAAO,EAAE,CAAC;QACzC,yBAAoB,GAAuB,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QACzF,sBAAiB,GAAoB,IAAI,OAAO,EAAE,CAAC;QAC1C,0BAAqB,GAAuB,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAC3F,kBAAa,GAAoB,IAAI,OAAO,EAAE,CAAC;QACtC,sBAAiB,GAAuB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACnF,uBAAkB,GAAqB,IAAI,OAAO,EAAE,CAAC;QAC5C,2BAAsB,GAAwB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QAC9F,mBAAc,GAAoB,IAAI,OAAO,EAAE,CAAC;QACvC,uBAAkB,GAAuB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACrF,kBAAa,GAAoB,IAAI,OAAO,EAAE,CAAC;QACtC,sBAAiB,GAAuB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KAG1F;;;;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KAC/B;;;;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACpC;;;;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAChC;;;;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;KAClC;;;;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;KACnC;;;;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KAC/B;;;;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;;;;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;;;;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACjC;;;;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACpC;;;;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAChC;;;;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KAC/B;;;;;IAED,OAAO,oBAAoB,CAAC,GAAW;QACrC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAC,CAAA;KACxD;;;;IAED,OAAO,kBAAkB;QACvB,OAAO;YACL,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACzC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;SAC3C,CAAC;KACH;;;;;IAED,OAAO,gBAAgB,CAAC,GAAW;QACjC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAC,CAAA;KACjD;;;;IAED,OAAO,cAAc;;cACb,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;YACnL,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC;;cAC5E,WAAW,GAAG,EAAE;QACtB,KAAK,CAAC,OAAO;;;;QAAC,IAAI;YAChB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;SAC/C,EAAC,CAAA;QAEF,OAAO,WAAW,CAAC;KACpB;;;;;IAED,oBAAoB,CAAC,MAAc;QACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACrC;;;;;IAED,gBAAgB,CAAC,IAAa;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;;;;;IAED,qBAAqB,CAAC,SAAkB;QACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;;;;IAED,IAAI;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC3B;;;;IAED,IAAI;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC3B;;;;;IAED,kBAAkB,CAAC,MAAe;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACnC;;;;;IAED,iBAAiB,CAAC,KAAa;QAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;;;;;IAED,mBAAmB,CAAC,OAAe;QACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrC;;;;;IAED,gBAAgB,CAAC,IAAY;QAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;;;;;IAED,qBAAqB,CAAC,SAAkB;QACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;;;;;IAED,iBAAiB,CAAC,KAAa;QAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;;;;;IAED,gBAAgB,CAAC,IAAY;QAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;CACF;;;;;;IA5JC,0CAAwD;;;;;IACxD,8CAA4F;;;;;IAC5F,+CAA6D;;;;;IAC7D,mDAAsG;;;;;IACtG,0CAAwD;;;;;IACxD,kCAAgF;;;;;IAChF,0CAAwD;;;;;IACxD,kCAAgF;;;;;IAChF,4CAA0D;;;;;IAC1D,gDAAgG;;;;;IAChG,2CAAwD;;;;;IACxD,+CAA6F;;;;;IAC7F,6CAA0D;;;;;IAC1D,iDAAiG;;;;;IACjG,8CAA2D;;;;;IAC3D,kDAAmG;;;;;IACnG,0CAAuD;;;;;IACvD,8CAA2F;;;;;IAC3F,+CAA6D;;;;;IAC7D,mDAAsG;;;;;IACtG,2CAAwD;;;;;IACxD,+CAA6F;;;;;IAC7F,0CAAuD;;;;;IACvD,8CAA2F;;;;;;;ACxD7F;MAEM,cAAc,GAAG;IACrB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;CAC7G;AAOD,MAAa,oBAAoB;IAO/B;QANS,WAAM,GAAG,KAAK,CAAC;QACd,kBAAa,GAAG,IAAI,YAAY,EAAU,CAAC;QAC3C,iBAAY,GAAG,IAAI,YAAY,EAAW,CAAC;QACrD,WAAM,GAAQ,cAAc,CAAC;QAC7B,UAAK,GAAG,SAAS,CAAC;KAGjB;;;;IAED,QAAQ;KACP;;;;;;IAED,MAAM,CAAC,MAAM,EAAE,KAAa;QAC1B,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;;;;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;;;YA3BF,SAAS,SAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,ycAA4C;;aAE7C;;;;;qBAEE,KAAK;4BACL,MAAM;2BACN,MAAM;;;;IAFP,sCAAwB;;IACxB,6CAAqD;;IACrD,4CAAqD;;IACrD,sCAA6B;;IAC7B,qCAAkB;;;;;;;ACvBpB,MAMa,qBAAsB,SAAQ,iBAAiB;IAE1D;QACE,KAAK,EAAE,CAAC;KACT;;;YAPF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;ACLD,MAKa,gBAAgB;IAH7B;QAKE,SAAI,GAAe,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KAyBpF;;;;IAvBC,gBAAgB;QACd,IAAG,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAG,CAAC;SACrC;KACF;;;;IAED,gBAAgB;;cACR,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE;QACvC,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC1C;KACF;;;;;;IAEO,YAAY,CAAC,SAAS;;cACtB,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE;QACjC,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;KACtC;;;;IAED,gBAAgB;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;;;YA7BF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;IAEC,qCAAiB;;IACjB,gCAAmF;;;;;;;ACPrF;MAIMA,GAAC,GAAG,MAAM;AAChB,MAKa,mBAAmB;;;;;;IAa9B,YAAoB,kBAAqC,EACrC,sBAA6C,EAC7C,iBAAmC;QAFnC,uBAAkB,GAAlB,kBAAkB,CAAmB;QACrC,2BAAsB,GAAtB,sBAAsB,CAAuB;QAC7C,sBAAiB,GAAjB,iBAAiB,CAAkB;QAb/C,SAAI,GAAG,KAAK,CAAC;QACb,WAAM,GAAG,KAAK,CAAC;QACf,cAAS,GAAG,KAAK,CAAC;QAIlB,cAAS,GAAG,KAAK,CAAC;QAGlB,SAAI,GAAG,KAAK,CAAC;QAKnB,IAAI,CAAC,IAAI,gBAAe,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KACzF;;;;IAEwB,OAAO;QAE9B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;;QAG7B,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,EAAE;YAClC,IAAI,CAAC,OAAO,GAAGA,GAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;SACjG;QACD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrE,IAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAC;YACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzD;;;;;IAEO,YAAY;;YACd,KAAK,GAAG,EAAE;QACd,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC;QACvE,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;QACnE,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;QACnE,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC;QACrE,OAAO,KAAK,CAAC;KACd;;;;;IAEO,SAAS;;YACX,IAAI,GAAG,EAAE;QACb,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;QAC9E,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;QAC1E,OAAO,IAAI,CAAC;KACb;;;;IAED,cAAc;;YACR,WAAW;;YAAE,GAAG;QACpB,IAAI,MAAM,CAAC,YAAY,EAAE;YACvB,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,UAAU,EAAE;gBAClB,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;;gBAExD,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE;oBAC9B,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;iBACtC;aACF;SACF;aAAM,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;YACpE,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;SACjD;QAED,IAAI,WAAW,EAAE;YACf,OAAO,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;SAC/F;KACF;;;;;;IAED,wBAAwB,CAAC,EAAE,EAAE,QAAQ;QACnC,IAAI,MAAM,CAAC,gBAAgB,EAAE;YAC3B,OAAO,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;SACpD;aAAM,IAAI,EAAE,CAAC,YAAY,EAAE;YAC1B,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAClC;KACF;;;;IAED,QAAQ;QACN,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS;;;QAAC;YACrC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS;;;QAAC;YACrC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS;;;;QAAC,CAAC,IAAa;YAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS;;;;QAAC,CAAC,SAAkB;YACzE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,SAAS;;;;QAAC,CAAC,MAAe;YACnE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS;;;;QAAE,CAAC,KAAa;YACjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACtB,GAAE,CAAC;QACJ,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,SAAS;;;;QAAE,CAAC,OAAe;YACrE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC1B,GAAE,CAAC;QACJ,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,SAAS;;;;QAAE,CAAC,QAAgB;YACvE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC5B,GAAE,CAAC;QAEJ,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS;;;;QAAE,CAAC,IAAY;YAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpB,GAAE,CAAC;QACJ,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS;;;;QAAC,CAAC,SAAkB;YACzE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS;;;;QAAC,CAAC,KAAa;YAChE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9B,EAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS;;;;QAAC,CAAC,IAAY;;kBACxD,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACpC,EAAC,CAAC;KACJ;;;;;IAEO,UAAU;QAChB,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;IAEO,eAAe;QACrB,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;IAEO,YAAY;QAClB,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;;IAEO,UAAU,CAAC,OAAe;QAChC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;;IAEO,QAAQ,CAAC,KAAa;QAC5B,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;;IAEO,WAAW,CAAC,QAAgB;QAClC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE;;gBAClC,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;gBAChK,QAAQ,CAAC,YAAY,EAAE,GAAG,SAAS;YACrC,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;aAC1C;YACD,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;aAC1C;YACD,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;aAC1C;YACD,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;aACpD;YACD,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;SACvD;aAAM;YACL,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SAC9C;QACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;IAEO,UAAU;QAChB,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KAC9B;;;;;IAEO,UAAU;QAChB,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KAC9B;;;;;;IAEO,OAAO,CAAC,IAAY;QAC1B,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;IAEO,eAAe;QACrB,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;;IAEO,WAAW,CAAC,KAAa;QAC/B,IAAG,IAAI,CAAC,IAAI,EAAE;YACZ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO;SACR;QACD,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,QAAQ,KAAK;YACX,KAAK,QAAQ;gBACX,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,MAAM;gBACT,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,MAAM;gBACT,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBACrC,MAAM;SACT;QACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;;;;IAEO,aAAa,CAAC,KAAa;QACjC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;QACzC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;;cACnC,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU;QACvE,IAAG,KAAK,KAAK,MAAM,EAAC;YAClB,KAAK,GAAG,SAAS,CAAC;SACnB;QACDA,GAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;KAC1C;;;;;;;IAEO,UAAU,CAAC,IAAY,EAAE,MAAe;QAC9C,QAAQ,IAAI;YACV,KAAK,WAAW;gBACd,QAAQ,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,SAAS;gBACZ,QAAQ,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;gBAClD,MAAM;SACT;QACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;KAC3C;;;YAjQF,SAAS,SAAC;gBACT,QAAQ,EAAE,gBAAgB;aAC3B;;;;YARO,iBAAiB;YACjB,qBAAqB;YAGrB,gBAAgB;;;sBAwBrB,YAAY,SAAC,SAAS;;;;;;;IAjBvB,mCAAqB;;;;;IACrB,qCAAuB;;;;;IACvB,wCAA0B;;;;;IAC1B,oCAAsB;;;;;IACtB,sCAAwB;;;;;IACxB,mCAAqB;;;;;IACrB,wCAA0B;;;;;IAC1B,oCAAsB;;;;;IACtB,mCAAqB;;;;;IACrB,mCAAqB;;;;;IAET,iDAA6C;;;;;IAC7C,qDAAqD;;;;;IACrD,gDAA2C;;;;;;;ACzBzD,MAOa,qBAAqB;IAEhC,iBAAiB;;;;IAEjB,QAAQ;KACP;;;YAVF,SAAS,SAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,wcAA6C;;aAE9C;;;;;;;;;ACND,MAMa,eAAe;IAI1B;QAHQ,cAAS,GAAoB,IAAI,OAAO,EAAE,CAAC;QAClC,iBAAY,GAAuB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KAGjF;;;;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;;;;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;;;YAhBF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;IAEC,oCAAmD;;;;;IACnD,uCAAkF;;;;;;;ACRpF,MAOa,eAAe;;;;;IAK1B,YAAoB,iBAAmC,EAAU,YAA6B;QAA1E,sBAAiB,GAAjB,iBAAiB,CAAkB;QAAU,iBAAY,GAAZ,YAAY,CAAiB;QAFtF,SAAI,GAAwB,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KAGnG;;;;;IAGM,OAAO,CAAC,KAAK;QAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,IAAG,IAAI,CAAC,IAAI,EAAC;YACX,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;;sBACjB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvC;SACF;KACF;;;;;IAGM,YAAY,CAAC,KAAK;QACvB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;;QAE1C,IAAG,IAAI,CAAC,IAAI,EAAC;YACX,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;SACpE;KACF;;;;;IAGM,MAAM,CAAC,KAAK;QACjB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;;kBACjB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;SACpE;KACF;;;YAzCF,SAAS,SAAC;gBACT,QAAQ,EAAE,YAAY;aACvB;;;;YALO,gBAAgB;YAChB,eAAe;;;mBAMpB,KAAK;sBAOL,YAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;2BAWhC,YAAY,SAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;qBASrC,YAAY,SAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;;;;IA3BhC,+BAAmB;;;;;IAEnB,+BAAoG;;;;;IAExF,4CAA2C;;;;;IAAE,uCAAqC;;;;;;;ACZhG,MAKa,kBAAkB;IAM7B;QALA,qBAAgB,GAA0B,IAAI,YAAY,EAAW,CAAC;QAE9D,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAuB,EAAE,CAAC;QAGxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KACpC;;;;;IAED,cAAc,CAAC,GAAqB;;cAC5B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI;;;;QAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC;QACzD,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;KACF;;;;;IAED,eAAe,CAAC,GAAqB;;cAC7B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAChC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;;;;;IAEO,MAAM;QACZ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;KACxD;;;YAlCF,UAAU;;;;;;IAET,8CAAsE;;;;;IAEtE,sCAAsB;;;;;IACtB,sCAA0C;;;;;;;ACT5C,MASa,oBAAoB;;;;IAG/B,YAAoB,mBAAuC;QAAvC,wBAAmB,GAAnB,mBAAmB,CAAoB;QAFlD,gBAAW,GAAG,KAAK,CAAC;KAG5B;;;;IAED,QAAQ;KACP;;;;IAED,eAAe;QACb,IAAI,CAAC,mBAAmB;aACrB,gBAAgB;aAChB,SAAS;;;;QAAC,CAAC,OAAgB,KAAK,IAAI,CAAC,WAAW,GAAG,OAAO,EAAC,CAAC;KAChE;;;YAnBF,SAAS,SAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,mPAA4C;;aAE7C;;;;YANO,kBAAkB;;;0BASvB,KAAK;;;;IAAN,2CAA6B;;;;;IAEjB,mDAA+C;;;;;;;ACZ7D,MASa,6BAA6B;;;;IAExC,YAAoB,mBAAuC;QAAvC,wBAAmB,GAAnB,mBAAmB,CAAoB;KAC1D;;;;;;IAED,SAAS,CAAC,GAAqB,EAAE,IAAiB;QAChD,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;;cACvC,QAAQ;;;QAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QACpE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAE,QAAQ,CAAE,QAAQ,CAAC,CAAC,CAAC;KACpD;;;YAZF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;YAJO,kBAAkB;;;;;;;;IAOZ,4DAA+C;;;;;;;ACX7D;MAaM,mBAAmB,GAAG;IAC1B,MAAM,EAAG;QACP,KAAK,EAAE,MAAM;KACd;IACD,IAAI,EAAG;QACL,KAAK,EAAE,MAAM;KACd;IACD,KAAK,EAAG;QACN,KAAK,EAAE,OAAO;KACf;CACF;;MAEK,iBAAiB,GAAG;IACxB,MAAM,EAAG;QACP,GAAG,EAAG,KAAK;KACZ;IACD,GAAG,EAAG;QACJ,GAAG,EAAG,OAAO;QACb,KAAK,EAAE,MAAM;KACd;IACD,MAAM,EAAG;QACP,GAAG,EAAE,OAAO;KACb;CACF;;;;AAWD,MAAa,uBAAuB;;;;IAGlC,YAAgE,QAAQ;QAAR,aAAQ,GAAR,QAAQ,CAAA;QADxE,UAAK;;;;QAAG,CAAC,KAAU,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC;KACwB;;;YAT7E,SAAS,SAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,QAAQ,EAAE,2BAA2B;gBAErC,aAAa,EAAG,iBAAiB,CAAC,IAAI;;aACvC;;;;4CAIc,MAAM,SAAC,UAAU;;;oBAAC,MAAM,iBAAiB,EAAC;;;oBAFtD,YAAY,SAAC,OAAO,EAAC,CAAC,QAAQ,CAAC;;;;IAAhC,wCACoD;;IACxC,2CAA4D;;;;;AAY1E,MAAa,sBAAsB;;;;IAcjC,YAAgE,QAAQ;QAAR,aAAQ,GAAR,QAAQ,CAAA;KAAI;;;;IAZ5E,IAAI,eAAe;QACjB,OAAO,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;KAClE;;;;IAED,IAAI,aAAa;QACf,OAAO,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;KAC9D;;;;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC3B;;;;;IAID,cAAc,CAAC,KAAa;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;KACzB;;;YAxBF,SAAS,SAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,QAAQ,EAAE,iMAAiM;gBAE3M,aAAa,EAAG,iBAAiB,CAAC,IAAI;;aACvC;;;;4CAec,MAAM,SAAC,UAAU;;;oBAAC,MAAM,iBAAiB,EAAC;;;;IAA3C,0CAA4D;;;;;AAe1E,MAAa,qBAAqB;;;;IAUhC,YAAgE,QAAQ;QAAR,aAAQ,GAAR,QAAQ,CAAA;QARxE,UAAK,GAAG,gBAAgB,CAAC;QAGzB,aAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAG9B,UAAK;;;QAAG,MAAM,IAAI,CAAC,WAAW,EAAE,EAAC;KAE2C;;;;IAE5E,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;KACvB;;;YApBF,SAAS,SAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,QAAQ,EAAE,6DAA6D;;aAExE;;;;4CAWc,MAAM,SAAC,UAAU;;;oBAAC,MAAM,iBAAiB,EAAC;;;oBATtD,WAAW,SAAC,OAAO;uBAGnB,MAAM;oBAGN,YAAY,SAAC,OAAO;;;;IANrB,sCACyB;;IAEzB,yCAC8B;;IAE9B,sCACiC;;IAErB,yCAA4D;;;;;AAiB1E,MAAa,iBAAiB;IAN9B;QAQE,cAAS,GAAG;YACV,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,QAAQ;SACZ,CAAC;QAKF,SAAI,GAAG,KAAK,CAAC;QAGb,UAAK,GAAG,WAAW,CAAC;KAerB;;;;IAbC,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;;;;;IAED,MAAM,CAAC,KAAkB;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;KACvB;;;;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;;;YAjCF,SAAS,SAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,wDAAwD;gBAElE,aAAa,EAAG,iBAAiB,CAAC,IAAI;;aACvC;;;wBAEE,KAAK;mBAOL,KAAK,YACL,WAAW,SAAC,YAAY;oBAGxB,WAAW,SAAC,OAAO;;;;IAXpB,sCAIE;;IAGF,iCAEa;;IAEb,kCACoB;;;;;;;ACnItB,MAOa,oBAAoB;IAG/B;QAFS,gBAAW,GAAG,KAAK,CAAC;KAG5B;;;;IAED,QAAQ;KACP;;;YAZF,SAAS,SAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,mRAA6C;;aAE9C;;;;;0BAEE,KAAK;;;;IAAN,2CAA6B;;;;;;;ACR/B,MAKa,gBAAgB;IAI3B;QAFU,gBAAW,GAAG,IAAI,YAAY,EAAW,CAAC;KAGnD;;;;IAGM,UAAU;QACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC7B;;;;IAGM,YAAY;QACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9B;;;YAlBF,SAAS,SAAC;gBACT,QAAQ,EAAE,aAAa;aACxB;;;;;0BAGE,MAAM;yBAKN,YAAY,SAAC,YAAY;2BAKzB,YAAY,SAAC,YAAY;;;;IAV1B,uCAAoD;;;;;;;ACPtD,MAUa,0BAA0B;;;;;IAErC,YAAoB,gBAA0C,EAC1C,OAAuB;QADvB,qBAAgB,GAAhB,gBAAgB,CAA0B;QAC1C,YAAO,GAAP,OAAO,CAAgB;KAC1C;;;;;;IAED,mBAAmB,CAAC,gBAAkC,EAAE,SAAc;;cAC9D,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,SAAS,CAAC;;cAClE,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC;QAE9D,YAAY,CAAC,SAAS;;;QAAC;YACrB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAChD,EAAC,CAAC;QAEH,OAAO,YAAY,CAAC;KACrB;;;YAlBF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;YAPC,wBAAwB;YADxB,cAAc;;;;;;;;IAWF,sDAAkD;;;;;IAClD,6CAA+B;;;;;;;ACX7C,MAAa,8BAA8B;IAGzC;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;;;;;IAED,GAAG,CAAC,IAA0B;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;;;;QAAC,UAAU,CAAC;YACxC,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;SAC/B,EAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACvB;;;;;IAED,MAAM,CAAC,IAA0B;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;;;;QAAC,UAAU,CAAC;YACxC,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;SAC/B,EAAC,CAAC;KACJ;;;;;IAED,IAAI,CAAC,KAAa;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI;;;;QAAC,UAAU,CAAC;YAChC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;SAC1B,EAAC,CAAC;KACJ;CACF;;;;;;IAxBC,+CAAsC;;;;;;;ACHxC,MAMa,oBAAoB;;;;;IAG/B,YAAmB,gBAAkC,EACjC,eAA+C;QADhD,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,oBAAe,GAAf,eAAe,CAAgC;KAClE;;;;IAED,eAAe;QACb,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAChC;;;;IAED,WAAW;QACT,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;KAC/B;;;YAjBF,SAAS,SAAC;gBACT,QAAQ,EAAE,iBAAiB;aAC5B;;;;YALmD,gBAAgB;YAC5D,8BAA8B;;;oBAMnC,KAAK;;;;IAAN,qCAAuB;;IAEX,gDAAyC;;;;;IACzC,+CAAuD;;;;;;;ACVrE;MAIMA,GAAC,GAAG,MAAM;AAOhB,MAAa,iBAAiB;IAwB5B;QApBS,OAAE,GAAG,KAAK,CAAC;QACX,OAAE,GAAG,KAAK,CAAC;QACX,OAAE,GAAG,KAAK,CAAC;QACX,OAAE,GAAG,KAAK,CAAC;QAGpB,OAAE,GAAG,IAAI,CAAC;QACV,OAAE,GAAG,IAAI,CAAC;QACV,OAAE,GAAG,IAAI,CAAC;QACV,OAAE,GAAG,IAAI,CAAC;QAEA,YAAO,GAAG,IAAI,YAAY,EAAU,CAAC;QACrC,YAAO,GAAG,IAAI,YAAY,EAAU,CAAC;QACrC,cAAS,GAAG,IAAI,YAAY,EAAU,CAAC;QACvC,eAAU,GAAG,IAAI,YAAY,EAAU,CAAC;QACxC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QAExC,SAAI,GAAG,KAAK,CAAC;KAIpB;;;;IAED,eAAe;;cACP,IAAI,GAAGA,GAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;cACpC,IAAI,GAAGA,GAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;;gBAC3D,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI;;gBAC/C,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG;YAClD,OAAO,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC3D,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;gBAClB,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;aACrB;YACD,UAAU;;;YAAC;gBACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC3B,GAAE,GAAG,CAAC,CAAC;SACT;KACF;;;;IAED,QAAQ;KACP;;;;;IAED,OAAO,CAAC,MAAiB;;QAEvB,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,YAAY,EAAE;YACvB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;KACnD;;;;;;IAED,MAAM,CAAC,MAAiB,EAAE,EAAU;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,OAAO;SACR;;cACK,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC/C,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE;YACxC,OAAO;SACR;;cACK,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;;cACxC,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;QAC9C,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACtD;QACD,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACvD;QACD,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;KAC7B;;;;;;;;IAEO,UAAU,CAAC,QAAQ,EAAE,CAAU,EAAE,CAAU;;cAC3C,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;;cAC/E,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACrF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC5B;;;;;;IAED,GAAG,CAAC,MAAiB,EAAE,EAAU;;QAE/B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;;;;;IAED,KAAK,CAAC,MAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACnB;;;;;IAED,IAAI,CAAC,MAAiB;QACpB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,MAAM,CAAC,cAAc,EAAE,CAAC;KACzB;;;;;;IAEO,YAAY,CAAC,EAAU;QAC7B,OAAO,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;KACjC;;;YA3GF,SAAS,SAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,y7CAAwC;;aAEzC;;;;;mBAGE,KAAK;iBACL,KAAK;iBACL,KAAK;iBACL,KAAK;iBACL,KAAK;iBACL,KAAK;wBACL,KAAK;yBACL,KAAK;sBAML,MAAM;sBACN,MAAM;wBACN,MAAM;yBACN,MAAM;sBACN,MAAM;;;;IAjBP,iCAAuB;;IACvB,+BAAoB;;IACpB,+BAAoB;;IACpB,+BAAoB;;IACpB,+BAAoB;;IACpB,+BAAoB;;IACpB,sCAA2B;;IAC3B,uCAA4B;;IAC5B,+BAAU;;IACV,+BAAU;;IACV,+BAAU;;IACV,+BAAU;;IAEV,oCAA+C;;IAC/C,oCAA+C;;IAC/C,sCAAiD;;IACjD,uCAAkD;;IAClD,oCAAgD;;;;;IAEhD,iCAAqB;;;;;IACrB,wCAA8C;;;;;;;ACjChD,MAEa,sBAAuB,SAAQ,mBAAmB;IAE7D;QACE,KAAK,EAAE,CAAC;KACT;CACF;;;;;;ACPD,MAUa,eAAe;;;;;;IAU1B,YAAoB,oBAA4C,EAC5C,aAA2B,EAC3B,kBAA2C;QAF3C,yBAAoB,GAApB,oBAAoB,CAAwB;QAC5C,kBAAa,GAAb,aAAa,CAAc;QAC3B,uBAAkB,GAAlB,kBAAkB,CAAyB;QATtD,aAAQ,GAAG,KAAK,CAAC;QAEhB,cAAS,GAAG,IAAI,YAAY,EAAU,CAAC;QACxC,oBAAe,GAAG,CAAC,CAAC;QACtB,WAAM,GAAG,KAAK,CAAC;QACf,gBAAW,GAAG,KAAK,CAAC;QAKzB,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,SAAS;;;;QAAC,CAAC,KAAa;YAChE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACzB;SACF,EAAC,CAAC;KACJ;;;;;;IAEO,UAAU,CAAC,KAAa;QAC9B,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE;YACrB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACzB;SACF;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;KACF;;;;IAED,QAAQ;KACP;;;;IAED,SAAS;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACnD,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;YACpE,OAAO;SACR;QACD,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACpD;;;YAjDF,SAAS,SAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,6eAAuC;;aAExC;;;;YAPO,sBAAsB;YACtB,YAAY;YAFZ,uBAAuB;;;iBAU5B,KAAK;mBACL,KAAK;uBACL,KAAK;sBACL,KAAK;wBACL,MAAM;8BACN,KAAK;;;;IALN,6BAAoB;;IACpB,+BAAsB;;IACtB,mCAA0B;;IAC1B,kCAAyB;;IACzB,oCAAiD;;IACjD,0CAA6B;;IAC7B,iCAAsB;;IACtB,sCAA2B;;;;;IAEf,+CAAoD;;;;;IACpD,wCAAmC;;;;;IACnC,6CAAmD;;;;;;;ACtBjE;MAQMA,GAAC,GAAG,MAAM;AAOhB,MAAa,iBAAiB;;;;;;;;IAwB5B,YAAoB,eAA+B,EAC/B,YAAyB,EACzB,cAA6B,EAC3B,WAAoC,EACtC,QAAmB;QAJnB,oBAAe,GAAf,eAAe,CAAgB;QAC/B,iBAAY,GAAZ,YAAY,CAAa;QACzB,mBAAc,GAAd,cAAc,CAAe;QAC3B,gBAAW,GAAX,WAAW,CAAyB;QACtC,aAAQ,GAAR,QAAQ,CAAW;QApB9B,eAAU,GAAG,IAAI,CAAC;QAClB,iBAAY,GAAG,IAAI,CAAC;QAEnB,gBAAW,GAAG,IAAI,YAAY,EAAU,CAAC;QACzC,YAAO,GAAG,IAAI,YAAY,EAAU,CAAC;QACrC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QACtC,cAAS,GAAG,IAAI,YAAY,EAAW,CAAC;QACxC,iBAAY,GAAG,IAAI,YAAY,EAAW,CAAC;QAC3C,aAAQ,GAAG,IAAI,YAAY,EAAU,CAAC;QAEhD,oBAAe,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;QACzD,gBAAW,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;QACjD,oBAAe,GAAG,KAAK,CAAC;QAUrB,eAAe,CAAC,OAAO,CAAC,SAAS;;;QAAC;YACjC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B,EAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC1C,cAAc,CAAC,QAAQ,CAAC,SAAS;;;;QAAC,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;SAC3C,EAAC,CAAC;QAEH,YAAY,CAAC,UAAU,CAAC,SAAS;;;;QAAC,CAAC,GAAW;YAC5C,IAAI,IAAI,CAAC,QAAQ,EACjB;gBACE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;aAC1B;SACF,EAAC,CAAC;KACJ;;;;IAED,QAAQ;KACP;;;;;IAED,cAAc,CAAC,GAAW;;cAClB,GAAG,IAAI,MAAM,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;;cACxL,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI;QACtF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QACzH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;QACzG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;KAC7G;;;;;IAED,cAAc,CAAC,MAAc;QAC3BA,GAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpCA,GAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,OAAO;;;QAAE;;kBACrB,YAAY,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;gBACvD,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;oBAChD,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBACxC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;iBAChD;aACF;SACF,EAAC,CAAC;KACJ;;;;;IAED,UAAU,CAAC,MAAc;QACvB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACjC;;;;;IAED,iBAAiB,CAAC,MAAM;QACtB,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;KAC9C;;;;;IAED,WAAW,CAAC,MAAc;QACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5B;;;;;IAED,UAAU,CAAC,KAAK;QACd,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;;;;;IAED,YAAY,CAAC,KAAK;QAChB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACnC;;;;;IAED,eAAe,CAAC,KAAK;QACnB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;;;;;IAED,WAAW,CAAC,MAAM;QAChB,IAAI,CAAC,eAAe,GAAG,CAAC,MAAM,CAAC;KAChC;;;YAlHF,SAAS,SAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,8qDAAyC;;aAE1C;;;;YAXO,cAAc;YAEb,WAAW;YACX,aAAa;YANkC,UAAU;YAAE,SAAS;;;mBAgB1E,KAAK;uBACL,KAAK;mBACL,KAAK;mBACL,KAAK;qBACL,KAAK;wBACL,KAAK;oBACL,KAAK;yBACL,KAAK;2BACL,KAAK;0BAEL,MAAM;sBACN,MAAM;sBACN,MAAM;wBACN,MAAM;2BACN,MAAM;uBACN,MAAM;;;;IAfP,iCAAuB;;IACvB,qCAA0B;;IAC1B,iCAAsB;;IACtB,iCAAuB;;IACvB,mCAAyB;;IACzB,sCAA4B;;IAC5B,kCAAuB;;IACvB,uCAA2B;;IAC3B,yCAA6B;;IAE7B,wCAAmD;;IACnD,oCAA+C;;IAC/C,oCAAgD;;IAChD,sCAAkD;;IAClD,yCAAqD;;IACrD,qCAAgD;;IAEhD,4CAAyD;;IACzD,wCAAiD;;IACjD,4CAAwB;;IAExB,qCAAkB;;;;;IAEN,4CAAuC;;;;;IACvC,yCAAiC;;;;;IACjC,2CAAqC;;;;;IACrC,wCAA8C;;;;;IAC9C,qCAA2B;;;;;;;AC3CzC,MAKa,QAAQ;;AACL,sBAAa,GAAG,WAAW,CAAC;AAC5B,uBAAc,GAAG,YAAY,CAAC;;;IAD5C,uBAA0C;;IAC1C,wBAA4C;;AAQ9C,MAAa,oBAAoB;;;;;;;IAe/B,YAAoB,cAA6B,EAC7B,YAAyB,EACvB,WAAoC,EACtC,QAAmB;QAHnB,mBAAc,GAAd,cAAc,CAAe;QAC7B,iBAAY,GAAZ,YAAY,CAAa;QACvB,gBAAW,GAAX,WAAW,CAAyB;QACtC,aAAQ,GAAR,QAAQ,CAAW;QAjB9B,eAAU,GAAe,UAAU,CAAC,OAAO,EAAE,CAAC;QAG9C,SAAI,GAAG,KAAK,CAAC;QACb,gBAAW,GAAG,CAAC,CAAC;QAEf,qBAAgB,GAAG,IAAI,YAAY,EAAc,CAAC;QAClD,eAAU,GAAG,IAAI,YAAY,EAAW,CAAC;QACzC,aAAQ,GAAG,IAAI,YAAY,EAAW,CAAC;QACvC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QACtC,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QAQ9C,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC1C,cAAc,CAAC,QAAQ,CAAC,SAAS;;;;QAAC,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;SAC3C,EAAC,CAAC;QAEH,YAAY,CAAC,UAAU,CAAC,SAAS;;;;QAAC,CAAC,GAAW;YAC5C,IAAI,IAAI,CAAC,QAAQ,EACjB;gBACE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aACvB;SACF,EAAC,CAAC;KACJ;;;;IAED,QAAQ;KACP;;;;;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,WAAW,EAAE,QAAQ,GAAG,CAAC,IAAE,GAAG,GAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;KACrI;;;;IAED,WAAW;QACT,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC7C;;;;;IAED,cAAc,CAAC,MAAc;QAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC;QAClC,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;;;;IAED,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;;;;IAED,WAAW,CAAC,MAAc;QACxB,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;;;;IAED,UAAU,CAAC,MAAM;QACf,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;;;;IAED,YAAY,CAAC,MAAM;QACjB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QAChC,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;;;;IAED,eAAe,CAAC,MAAM;QACpB,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC;QACnC,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;;;IAED,UAAU;QACR,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;;;;IAED,UAAU;QACR,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;;;;IAED,UAAU;QACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;;;;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,aAAa,CAAC;KACjD;;;;IAED,YAAY;QACV,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,cAAc,CAAC;KAClD;;;;IAED,UAAU;QACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;;;YArGF,SAAS,SAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,olDAA4C;;aAE7C;;;;YAZO,aAAa;YACZ,WAAW;YAH+C,UAAU;YAArB,SAAS;;;yBAgB9D,KAAK;uBACL,KAAK;0BACL,KAAK;mBACL,KAAK;0BACL,KAAK;uBACL,KAAK;+BACL,MAAM;yBACN,MAAM;uBACN,MAAM;sBACN,MAAM;sBACN,MAAM;;;;IAVP,0CAAuD;;IACvD,wCAA2B;;IAC3B,2CAA6B;;IAC7B,oCAAsB;;IACtB,2CAAyB;;IACzB,wCAA0B;;IAC1B,gDAA4D;;IAC5D,0CAAmD;;IACnD,wCAAiD;;IACjD,uCAAgD;;IAChD,uCAAgD;;IAEhD,wCAAkB;;;;;IAEN,8CAAqC;;;;;IACrC,4CAAiC;;;;;IACjC,2CAA8C;;;;;IAC9C,wCAA2B;;;;;;;ACjCzC;MA+EM,SAAS,GAAG,CAAC,aAAa;IAC9B,GAAG;IACH,YAAY;IACZ,WAAW;IACX,SAAS;IACT,QAAQ;IACR,KAAK;IACL,gBAAgB;IAChB,wBAAwB;IACxB,iBAAiB;IACjB,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,kBAAkB;IAClB,WAAW;IACX,uBAAuB;IACvB,eAAe;IACf,uBAAuB;IACvB,aAAa;IACb,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,qBAAqB;IACrB,cAAc;IACd,6BAA6B;IAC7B,kBAAkB;IAClB,mBAAmB;IACnB,0BAA0B;IAC1B,8BAA8B;IAC9B,sBAAsB;IACtB,gBAAgB,CAAC;AA0GnB,MAAa,sBAAsB;IACjC;QACE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACvB;;;YA3GF,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;gBAC9D,YAAY,EAAE;oBACZ,mBAAmB;oBACnB,kBAAkB;oBAClB,eAAe;oBACf,aAAa;oBACb,gBAAgB;oBAChB,cAAc;oBACd,yBAAyB;oBACzB,iBAAiB;oBACjB,sBAAsB;oBACtB,aAAa;oBACb,kBAAkB;oBAClB,gBAAgB;oBAChB,wBAAwB;oBACxB,iBAAiB;oBACjB,mBAAmB;oBACnB,uBAAuB;oBACvB,YAAY;oBACZ,mBAAmB;oBACnB,mBAAmB;oBACnB,aAAa;oBACb,eAAe;oBACf,uBAAuB;oBACvB,iBAAiB;oBACjB,kBAAkB;oBAClB,oBAAoB;oBACpB,mBAAmB;oBACnB,yBAAyB;oBACzB,eAAe;oBACf,mBAAmB;oBACnB,uBAAuB;oBACvB,YAAY;oBACZ,aAAa;oBACb,oBAAoB;oBACpB,mBAAmB;oBACnB,qBAAqB;oBACrB,eAAe;oBACf,oBAAoB;oBACpB,iBAAiB;oBACjB,qBAAqB;oBACrB,sBAAsB;oBACtB,uBAAuB;oBACvB,oBAAoB;oBACpB,gBAAgB;oBAChB,oBAAoB;oBACpB,iBAAiB;oBACjB,eAAe;oBACf,iBAAiB;oBACjB,oBAAoB;iBACrB;gBACD,OAAO,EAAE;oBACP,mBAAmB;oBACnB,kBAAkB;oBAClB,eAAe;oBACf,aAAa;oBACb,gBAAgB;oBAChB,cAAc;oBACd,yBAAyB;oBACzB,iBAAiB;oBACjB,sBAAsB;oBACtB,aAAa;oBACb,kBAAkB;oBAClB,wBAAwB;oBACxB,iBAAiB;oBACjB,mBAAmB;oBACnB,gBAAgB;oBAChB,uBAAuB;oBACvB,mBAAmB;oBACnB,mBAAmB;oBACnB,eAAe;oBACf,iBAAiB;oBACjB,kBAAkB;oBAClB,oBAAoB;oBACpB,mBAAmB;oBACnB,yBAAyB;oBACzB,eAAe;oBACf,mBAAmB;oBACnB,uBAAuB;oBACvB,YAAY;oBACZ,aAAa;oBACb,oBAAoB;oBACpB,mBAAmB;oBACnB,qBAAqB;oBACrB,oBAAoB;oBACpB,YAAY;oBACZ,iBAAiB;oBACjB,qBAAqB;oBACrB,sBAAsB;oBACtB,uBAAuB;oBACvB,aAAa;oBACb,uBAAuB;oBACvB,oBAAoB;oBACpB,gBAAgB;oBAChB,oBAAoB;oBACpB,iBAAiB;oBACjB,eAAe;oBACf,iBAAiB;oBACjB,oBAAoB;oBACpB,eAAe;oBACf,mBAAmB;iBAAG;gBACxB,SAAS,EAAE,SAAS;aACrB;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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 1a3d57c16..8e97f4cb3 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 @@ -2526,10 +2526,21 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { function (number) { this.currentPageNo = number; }; + /** + * @param {?} page + * @return {?} + */ + ExcelDocumentComponent.prototype.getSheetName = /** + * @param {?} page + * @return {?} + */ + function (page) { + return page.sheetName ? page.sheetName : "Sheet " + page.number; + }; ExcelDocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-excel-document', - template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{page.sheetName}}\r\n
\r\n
\r\n
\r\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n", styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; 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 6ffbe0875..7c5b33998 100644 --- a/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js.map +++ b/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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 5e4f22553..5e93b6524 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":112,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":113,"character":12},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":113,"character":26},{"__symbolic":"reference","module":"ng-click-outside","name":"ClickOutsideModule","line":113,"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":"ExcelDocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"ExcelPageComponent"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"DisabledCursorDirective"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"EditorDirective"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"}],"exports":[{"__symbolic":"reference","name":"TopToolbarComponent"},{"__symbolic":"reference","name":"SidePanelComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"LogoComponent"},{"__symbolic":"reference","name":"TooltipComponent"},{"__symbolic":"reference","name":"ModalComponent"},{"__symbolic":"reference","name":"BrowseFilesModalComponent"},{"__symbolic":"reference","name":"DocumentComponent"},{"__symbolic":"reference","name":"ExcelDocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"ExcelPageComponent"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"},{"__symbolic":"reference","name":"EditorDirective"},{"__symbolic":"reference","name":"FormattingDirective"}],"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"},{"__symbolic":"reference","name":"ExcelPageService"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Api":{"__symbolic":"class","members":{},"statics":{"VIEWER_APP":"/viewer","SIGNATURE_APP":"/signature","ANNOTATION_APP":"/annotation","SEARCH_APP":"/search","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","METADATA_APP":"/metadata","DEFAULT_API_ENDPOINT":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"window"},"member":"location"},"member":"href"},"LOAD_FILE_TREE":"/loadFileTree","LOAD_CONFIG":"/loadConfig","LOAD_DOCUMENT_DESCRIPTION":"/loadDocumentDescription","LOAD_DOCUMENT_PAGE":"/loadDocumentPage","LOAD_DOCUMENT_PROPERTIES":"/loadProperties","LOAD_DOCUMENT_PROPERTIES_NAMES":"/loadPropertiesNames","SAVE_PROPERTY":"/saveProperty","REMOVE_PROPERTY":"/removeProperty","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","CREATE_FILE":"/createFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","REMOVE_FROM_INDEX":"/removeFromIndex","GET_FILE_STATUS":"/getFileStatus","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","SEARCH":"/search","ADD_FILES_TO_INDEX":"/addFilesToIndex","CLEAN_METADATA":"/clean","EXPORT_METADATA":"/export","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":49,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":54,"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":61,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getMetadataApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__symbolic":"method"}],"getSearchApiEndpoint":[{"__symbolic":"method"}]}},"CommonModals":{"__symbolic":"class","members":{},"statics":{"PasswordRequired":"gd-password-required","ErrorMessage":"gd-error-message","BrowseFiles":"gd-browse-files","CreateDocument":"gd-create-document","OperationSuccess":"gd-success-modal","DrawHandSignature":"gd-draw-hand-signature","DrawStampSignature":"gd-draw-stamp-signature","InformationMessage":"gd-information-message"}},"ModalService":{"__symbolic":"class","members":{"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"PageModel":{"__symbolic":"class","members":{}},"RotatedPage":{"__symbolic":"class","members":{}},"FileCredentials":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"SaveFile":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FileCredentials"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"FileDescription":{"__symbolic":"class","members":{}},"FileModel":{"__symbolic":"class","members":{}},"HttpError":{"__symbolic":"class","members":{},"statics":{"BadRequest":400,"Unauthorized":401,"Forbidden":403,"NotFound":404,"TimeOut":408,"Conflict":409,"InternalServerError":500}},"Utils":{"__symbolic":"class","members":{}},"FileUtil":{"__symbolic":"class","members":{},"statics":{"map":{"folder":{"format":"","icon":"folder","$quoted$":["format","icon"]},"pdf":{"format":"Portable Document Format","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"doc":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"docx":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"docm":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dot":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dotx":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dotm":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xls":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsx":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsm":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsb":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xls2003":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xltx":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xltm":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"ppt":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pptx":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pps":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ppsx":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"vsd":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vdx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vss":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vsx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vst":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vtx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vsdx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vdw":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vstx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vssx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"mpp":{"format":"Microsoft Project","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"mpt":{"format":"Microsoft Project","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"msg":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"eml":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"emlx":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"one":{"format":"Microsoft OneNote","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"odt":{"format":"Open Document Text","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"ott":{"format":"Open Document Text Template","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"ods":{"format":"Open Document Spreadsheet","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"odp":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"otp":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ots":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"potx":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"potm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pptm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ppsm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"rtf":{"format":"Rich Text Format","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"txt":{"format":"Plain Text File","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"csv":{"format":"Comma-Separated Values","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"html":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"mht":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"mhtml":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xml":{"format":"Extensible Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xps":{"format":"XML Paper Specification","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dxf":{"format":"AutoCAD Drawing File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"dwg":{"format":"AutoCAD Drawing File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"bmp":{"format":"Bitmap Picture","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"gif":{"format":"Graphics Interchange Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpg":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpe":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpeg":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jfif":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"png":{"format":"Portable Network Graphics","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"tiff":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"tif":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"psd":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"svg":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jp2":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"epub":{"format":"Electronic Publication","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"ico":{"format":"Windows Icon","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"webp":{"format":"Compressed Image","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"mobi":{"format":"Mobipocket eBook","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"tex":{"format":"LaTeX Source Document","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"djvu":{"format":"Multi-Layer Raster Image","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"unknown":{"format":"This format is not supported","icon":"file","$quoted$":["format","icon"]},"$quoted$":["folder","pdf","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown"]}}},"FileService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"UploadFilesService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeFilesList":[{"__symbolic":"method"}]}},"SanitizeHtmlPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"safeHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"SanitizeResourceHtmlPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":13,"character":1},"arguments":[{"name":"safeResourceHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"SanitizeStylePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":23,"character":1},"arguments":[{"name":"safeStyle"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"HighlightSearchPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":33,"character":1},"arguments":[{"name":"highlight"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"NavigateService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PagePreloadService"}]}],"nextPage":[{"__symbolic":"method"}],"prevPage":[{"__symbolic":"method"}],"toLastPage":[{"__symbolic":"method"}],"toFirstPage":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"PagePreloadService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeLastPageInView":[{"__symbolic":"method"}]}},"ZoomService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeZoom":[{"__symbolic":"method"}],"createZoomOption":[{"__symbolic":"method"}],"zoomOptions":[{"__symbolic":"method"}]}},"RenderPrintService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changePages":[{"__symbolic":"method"}],"changeBlob":[{"__symbolic":"method"}]}},"ErrorInterceptorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"intercept":[{"__symbolic":"method"}]},"statics":{"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:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],"members":{"files":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"uploadConfig":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"selectedFileGuid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"selectedDirectory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"urlForUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"closing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getSize":[{"__symbolic":"method"}],"getFormatName":[{"__symbolic":"method"}],"getFormatIcon":[{"__symbolic":"method"}],"choose":[{"__symbolic":"method"}],"goUp":[{"__symbolic":"method"}],"selectUpload":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"showSpinner":[{"__symbolic":"method"}],"uploadUrl":[{"__symbolic":"method"}],"handleFileInput":[{"__symbolic":"method"}],"cleanUpload":[{"__symbolic":"method"}]}},"ButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-button","template":"
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","styles":[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],"members":{"iconOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"intent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"className":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"toggle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"iconSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"iconRegular":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"elementPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"}]}],"iconButtonClass":[{"__symbolic":"method"}],"onHovering":[{"__symbolic":"method"}],"onUnhovering":[{"__symbolic":"method"}],"cleanAll":[{"__symbolic":"method"}]}},"DisabledCursorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdDisabledCursor]"}]}],"members":{"dis":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"cursor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":3},"arguments":["class.inactive"]}]}],"updateCursor":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"DndDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[gdDnd]"}]}],"members":{"closing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"opening":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":9,"character":3}}]}],"dropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":3},"arguments":["class.active"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"onDragEnter":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":19,"character":3},"arguments":["dragenter",["$event"]]}]}],"onDragOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":28,"character":3},"arguments":["dragover",["$event"]]}]}],"onDragLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["dragleave",["$event"]]}]}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":46,"character":3},"arguments":["drop",["$event"]]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":59,"character":3},"arguments":["click",["$event"]]}]}],"closeArea":[{"__symbolic":"method"}]}},"DocumentComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"gd-document","template":"
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n","styles":[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"selectedPage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"showActiveSlide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":51,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"ifPresentation":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"isVisible":[{"__symbolic":"method"}]}},"ExcelDocumentComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"DocumentComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"gd-excel-document","template":"
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{page.sheetName}}\r\n
\r\n
\r\n
\r\n","styles":[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"pages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":13,"character":3},"arguments":[{"__symbolic":"reference","name":"ExcelPageComponent"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":19,"character":38,"context":{"typeName":"HTMLElement"},"module":"./lib/excel-document/excel-document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":23,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"getScrollBarWidth":[{"__symbolic":"method"}],"refreshExcelDocHeight":[{"__symbolic":"method"}],"selectSheet":[{"__symbolic":"method"}]}},"ErrorModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-error-modal","template":"\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : 'Server is not available'}}
\r\n
\r\n
\r\n
\r\n","styles":[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"InitStateComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-init-state","template":"
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n","styles":[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],"members":{"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"fileDropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"dropped":[{"__symbolic":"method"}]}},"LogoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-logo","template":"
\r\n \r\n \r\n
\r\n\r\n","styles":[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],"members":{"logo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-modal","template":"
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
×
\r\n

{{title}}

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

Drag & Drop your files here

\r\n

OR

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

{{title}}

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

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n","styles":[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"]}]}],"members":{"closeUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"ngOnInit":[{"__symbolic":"method"}],"handleFileInput":[{"__symbolic":"method"}],"onCloseUpload":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ZoomDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[gdZoom]"}]}],"members":{"zoomActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"zoomInt":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":13,"character":3},"arguments":["style.zoom"]}]}],"transform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":14,"character":3},"arguments":["style.transform"]}]}],"transformOrigin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":15,"character":3},"arguments":["style.transform-origin"]}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["style.width"]}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"character":3},"arguments":["style.height"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":18,"character":3},"arguments":["style.min-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":21,"character":92}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setStyles":[{"__symbolic":"method"}],"getScrollWidth":[{"__symbolic":"method"}],"getScrollHeight":[{"__symbolic":"method"}],"resizePages":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SelectionService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"restoreSelection":[{"__symbolic":"method"}],"captureSelection":[{"__symbolic":"method"}],"putSelection":[{"__symbolic":"method"}],"refreshSelection":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"OnCloseService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"close":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"LoadingMaskService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"onRequestStart":[{"__symbolic":"method"}],"onRequestFinish":[{"__symbolic":"method"}],"notify":[{"__symbolic":"method"}]}},"LoadingMaskInterceptorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LoadingMaskService"}]}],"intercept":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"FormattingDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"selector":"[gdFormatting]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FormattingService"},{"__symbolic":"reference","name":"BackFormattingService"},{"__symbolic":"reference","name":"SelectionService"}]}],"mouseup":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":29,"character":3},"arguments":["mouseup"]}]}],"checkJustify":[{"__symbolic":"method"}],"checkList":[{"__symbolic":"method"}],"reportFontSize":[{"__symbolic":"method"}],"getComputedStyleProperty":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"setBgColor":[{"__symbolic":"method"}],"setColor":[{"__symbolic":"method"}],"setFontSize":[{"__symbolic":"method"}],"toggleUndo":[{"__symbolic":"method"}],"toggleRedo":[{"__symbolic":"method"}],"setFont":[{"__symbolic":"method"}],"toggleStrikeout":[{"__symbolic":"method"}],"toggleAlign":[{"__symbolic":"method"}],"toggleAlignIE":[{"__symbolic":"method"}],"toggleList":[{"__symbolic":"method"}]}},"Formatting":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]},"statics":{"default":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Formatting"},"arguments":[10,"#000000","#FFFFFF",false,false,false,"Arial",false,"",""]}}}},"FormattingService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeFormatFontSize":[{"__symbolic":"method"}],"changeFormatBold":[{"__symbolic":"method"}],"changeFormatUnderline":[{"__symbolic":"method"}],"Undo":[{"__symbolic":"method"}],"Redo":[{"__symbolic":"method"}],"changeFormatItalic":[{"__symbolic":"method"}],"changeFormatColor":[{"__symbolic":"method"}],"changeFormatBgColor":[{"__symbolic":"method"}],"changeFormatFont":[{"__symbolic":"method"}],"changeFormatStrikeout":[{"__symbolic":"method"}],"changeFormatAlign":[{"__symbolic":"method"}],"changeFormatList":[{"__symbolic":"method"}]},"statics":{"createFontSizeOption":{"__symbolic":"function","parameters":["val"],"value":{"value":{"__symbolic":"reference","name":"val"},"name":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"reference","name":"val"},"right":"px"},"separator":false}},"getFontSizeOptions":{"__symbolic":"function","parameters":[],"value":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[8]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[10]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[12]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[14]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[16]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[18]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[20]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[22]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[24]}]},"createFontOption":{"__symbolic":"function","parameters":["val"],"value":{"value":{"__symbolic":"reference","name":"val"},"name":{"__symbolic":"reference","name":"val"},"separator":false}}}},"BackFormattingService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FormattingService"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ngInjectableDef":{}}},"EditorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[gdEditor]"}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SelectionService"},{"__symbolic":"reference","name":"EditHtmlService"}]}],"onInput":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":15,"character":3},"arguments":["keyup",["$event"]]}]}],"onMouseleave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":26,"character":3},"arguments":["mouseleave",["$event"]]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["blur",["$event"]]}]}]}},"EditHtmlService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ngInjectableDef":{}}},"ColorPickerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"gd-color-picker","template":"
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"]}]}],"members":{"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"selectedColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"closeOutside":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"LoadingMaskComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-loading-mask","template":"
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n","styles":[".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"]}]}],"members":{"loadingMask":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LoadingMaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SuccessModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-success-modal","template":"\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TabComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-tab","template":"
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n","styles":[".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"tabTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TabActivatorService"}]}],"activation":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"selectTab":[{"__symbolic":"method"}]}},"TabbedToolbarsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabbed-toolbars","template":"
\r\n \r\n \r\n
\r\n","styles":[".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"]}]}],"members":{"logo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TabActivatorService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeActiveTab":[{"__symbolic":"method"}]}},"DropDownToggleComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":41,"character":1},"arguments":[{"selector":"gd-drop-down-toggle","template":"","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":45,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"click":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":48,"character":3},"arguments":["click",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}]}},"DropDownItemsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":56,"character":1},"arguments":[{"selector":"gd-drop-down-items","template":"
","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":60,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}],"onClickOutside":[{"__symbolic":"method"}]}},"DropDownItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":86,"character":1},"arguments":[{"selector":"gd-drop-down-item","template":"
","styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":92,"character":3},"arguments":["class"]}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":95,"character":3}}]}],"click":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":98,"character":3},"arguments":["click"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":101,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}],"selectEntry":[{"__symbolic":"method"}]}},"DropDownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":112,"character":1},"arguments":[{"selector":"gd-drop-down","template":"
","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":116,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"placement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":126,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":127,"character":3},"arguments":["class.show"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":130,"character":3},"arguments":["class"]}]}],"close":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"getPlacement":[{"__symbolic":"method"}]}},"LeftSideBarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-left-side-bar","template":"
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n","styles":[".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"]}]}],"members":{"showSpinner":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"AddDynamicComponentService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":12,"character":40},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":13,"character":31}]}],"addDynamicComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"HostDynamicDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[gdHostDynamic]"}]}],"members":{"ident":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":9,"character":39},{"__symbolic":"reference","name":"HostingDynamicComponentService"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"HostingDynamicComponentService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}]}},"TopTabActivatorService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"TabActivatorService"},"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"MenuType":{"__symbolic":"class","members":{},"statics":{"FOR_SIGNATURE":"signature","FOR_ANNOTATION":"annotation"}},"ContextMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"gd-context-menu","template":"
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","styles":[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"]}]}],"members":{"formatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"textMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"topPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"lock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"translation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"menuType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"changeFormatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"removeItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"copySign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"lockOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"comment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":32,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/context-menu/context-menu.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":33,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"changeScale":[{"__symbolic":"method"}],"saveChanges":[{"__symbolic":"method"}],"selectFontSize":[{"__symbolic":"method"}],"selectFont":[{"__symbolic":"method"}],"selectColor":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"deleteItem":[{"__symbolic":"method"}],"toggleLock":[{"__symbolic":"method"}],"onCopySign":[{"__symbolic":"method"}],"isSignature":[{"__symbolic":"method"}],"isAnnotation":[{"__symbolic":"method"}],"addComment":[{"__symbolic":"method"}]}},"TextMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"gd-text-menu","template":"
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n","styles":["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"]}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"fontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"font":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"bold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"italic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"decoration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"showTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"outFontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"outFont":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"outBold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"outItalic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"outUnderline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"outColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":42,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/text-menu/text-menu.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":43,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"changePosition":[{"__symbolic":"method"}],"selectFontSize":[{"__symbolic":"method"}],"selectFont":[{"__symbolic":"method"}],"toggleColorPicker":[{"__symbolic":"method"}],"selectColor":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"closePicker":[{"__symbolic":"method"}]}},"ExcelPageService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getUpdatedPage":[{"__symbolic":"method"}],"getPageWithoutHeader":[{"__symbolic":"method"}],"createHeader":[{"__symbolic":"method"}],"colName":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabs","template":"
\r\n \r\n
\r\n","styles":[".gd-tabs{display:-webkit-box;display:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdTooltip]"}]}],"members":{"showToolTip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"onHovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["mouseenter"]}]}],"onUnhovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":17,"character":3},"arguments":["mouseleave"]}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"gd-resizing","template":"
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n","styles":[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],"members":{"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"se":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"ne":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"sw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"nw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"pageWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"pageHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"offsetY":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"offsetTop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"offsetLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"release":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"catchUp":[{"__symbolic":"method"}],"resize":[{"__symbolic":"method"}],"setOffsets":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"getElementId":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"gd-top-tab","template":"
\r\n \r\n \r\n
\r\n","styles":[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"activeTab":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"elementPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TopTabActivatorService"},{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"activation":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"toggleTab":[{"__symbolic":"method"}]}}},"origins":{"CommonComponentsModule":"./lib/common-components.module","Api":"./lib/config.service","ConfigService":"./lib/config.service","CommonModals":"./lib/modal.service","ModalService":"./lib/modal.service","PageModel":"./lib/file.service","RotatedPage":"./lib/file.service","FileCredentials":"./lib/file.service","SaveFile":"./lib/file.service","FileDescription":"./lib/file.service","FileModel":"./lib/file.service","HttpError":"./lib/file.service","Utils":"./lib/file.service","FileUtil":"./lib/file.service","FileService":"./lib/file.service","UploadFilesService":"./lib/upload-files.service","SanitizeHtmlPipe":"./lib/pipes","SanitizeResourceHtmlPipe":"./lib/pipes","SanitizeStylePipe":"./lib/pipes","HighlightSearchPipe":"./lib/pipes","NavigateService":"./lib/navigate.service","PagePreloadService":"./lib/page-preload.service","ZoomService":"./lib/zoom.service","RenderPrintService":"./lib/render-print.service","ErrorInterceptorService":"./lib/error-interceptor.service","ExceptionMessageService":"./lib/exception-message.service","PasswordService":"./lib/password.service","WindowService":"./lib/window.service","ViewportService":"./lib/viewport.service","BrowseFilesModalComponent":"./lib/browse-files-modal/browse-files-modal.component","ButtonComponent":"./lib/button/button.component","DisabledCursorDirective":"./lib/disabled-cursor.directive","DndDirective":"./lib/dnd.directive","DocumentComponent":"./lib/document/document.component","ExcelDocumentComponent":"./lib/excel-document/excel-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","ExcelPageComponent":"./lib/excel-page/excel-page.component","PasswordRequiredComponent":"./lib/password-required/password-required.component","RenderPrintDirective":"./lib/render-print.directive","RotationDirective":"./lib/rotation.directive","ScrollableDirective":"./lib/scrollable.directive","MouseWheelDirective":"./lib/mousewheel.directive","SearchService":"./lib/search.service","SearchComponent":"./lib/search/search.component","SearchableDirective":"./lib/searchable.directive","Option":"./lib/select/select.component","SelectComponent":"./lib/select/select.component","TooltipComponent":"./lib/tooltip/tooltip.component","TopToolbarComponent":"./lib/top-toolbar/top-toolbar.component","SidePanelComponent":"./lib/side-panel/side-panel.component","UploadFileZoneComponent":"./lib/upload-file-zone/upload-file-zone.component","ZoomDirective":"./lib/zoom.directive","SelectionService":"./lib/selection.service","OnCloseService":"./lib/on-close.service","LoadingMaskService":"./lib/loading-mask.service","LoadingMaskInterceptorService":"./lib/loading-mask-interceptor.service","FormattingDirective":"./lib/formatting.directive","Formatting":"./lib/formatting.service","FormattingService":"./lib/formatting.service","BackFormattingService":"./lib/back-formatting.service","EditorDirective":"./lib/editor.directive","EditHtmlService":"./lib/edit-html.service","ColorPickerComponent":"./lib/color-picker/color-picker.component","LoadingMaskComponent":"./lib/loading-mask/loading-mask.component","SuccessModalComponent":"./lib/success-modal/success-modal.component","TabComponent":"./lib/tab/tab.component","TabbedToolbarsComponent":"./lib/tabbed-toolbars/tabbed-toolbars.component","TabActivatorService":"./lib/tab-activator.service","DropDownToggleComponent":"./lib/drop-down/drop-down.component","DropDownItemsComponent":"./lib/drop-down/drop-down.component","DropDownItemComponent":"./lib/drop-down/drop-down.component","DropDownComponent":"./lib/drop-down/drop-down.component","LeftSideBarComponent":"./lib/left-side-bar/left-side-bar.component","AddDynamicComponentService":"./lib/add-dynamic-component.service","HostDynamicDirective":"./lib/host-dynamic.directive","HostingDynamicComponentService":"./lib/hosting-dynamic-component.service","TopTabActivatorService":"./lib/top-tab-activator.service","MenuType":"./lib/context-menu/context-menu.component","ContextMenuComponent":"./lib/context-menu/context-menu.component","TextMenuComponent":"./lib/text-menu/text-menu.component","ExcelPageService":"./lib/excel-page.service","ɵa":"./lib/tabs/tabs.component","ɵb":"./lib/tooltip.directive","ɵc":"./lib/resizing/resizing.component","ɵd":"./lib/top-tab/top-tab.component"},"importAs":"@groupdocs.examples.angular/common-components"} \ No newline at end of file diff --git a/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts b/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts index c9714b1fa..1f6783aff 100644 --- a/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts +++ b/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts @@ -16,4 +16,5 @@ export declare class ExcelDocumentComponent extends DocumentComponent implements getScrollBarWidth(): number; refreshExcelDocHeight(): void; selectSheet(number: any): void; + getSheetName(page: any): any; } diff --git a/libs/common-components/src/lib/excel-document/excel-document.component.html b/libs/common-components/src/lib/excel-document/excel-document.component.html index 47feecd7f..62ca236df 100644 --- a/libs/common-components/src/lib/excel-document/excel-document.component.html +++ b/libs/common-components/src/lib/excel-document/excel-document.component.html @@ -11,7 +11,7 @@
- {{page.sheetName}} + {{getSheetName(page)}}
diff --git a/libs/common-components/src/lib/excel-document/excel-document.component.ts b/libs/common-components/src/lib/excel-document/excel-document.component.ts index 993dd47e9..c507b5174 100644 --- a/libs/common-components/src/lib/excel-document/excel-document.component.ts +++ b/libs/common-components/src/lib/excel-document/excel-document.component.ts @@ -4,6 +4,7 @@ import { WindowService } from '../window.service'; import { NavigateService } from '../navigate.service'; import { ZoomService } from '../zoom.service'; import { ExcelPageComponent } from '../excel-page/excel-page.component'; +import { PageModel } from '../file.service'; @Component({ selector: 'gd-excel-document', @@ -68,4 +69,8 @@ export class ExcelDocumentComponent extends DocumentComponent implements OnInit, selectSheet(number){ this.currentPageNo = number; } + + getSheetName(page) { + return page.sheetName ? page.sheetName : "Sheet " + page.number; + } } From 423c2fd576d0972d324a4178fb734da5acf49f50 Mon Sep 17 00:00:00 2001 From: Egor Date: Mon, 30 Nov 2020 17:26:58 +0300 Subject: [PATCH 08/10] Add support of saving edited content of specific sheet. --- ...ocs.examples.angular-common-components.umd.js | 12 ++++++++++-- ...examples.angular-common-components.umd.js.map | 2 +- ...examples.angular-common-components.umd.min.js | 2 +- ...ples.angular-common-components.umd.min.js.map | 2 +- .../excel-document/excel-document.component.js | 11 ++++++++--- .../esm2015/lib/file.service.js | 8 ++++++-- .../excel-document/excel-document.component.js | 11 ++++++++--- .../common-components/esm5/lib/file.service.js | 7 +++++-- ...oupdocs.examples.angular-common-components.js | 13 +++++++++++-- ...ocs.examples.angular-common-components.js.map | 2 +- ...oupdocs.examples.angular-common-components.js | 12 ++++++++++-- ...ocs.examples.angular-common-components.js.map | 2 +- ...mples.angular-common-components.metadata.json | 2 +- .../excel-document/excel-document.component.d.ts | 3 ++- .../libs/common-components/lib/file.service.d.ts | 3 ++- .../excel-document/excel-document.component.ts | 4 +++- libs/common-components/src/lib/file.service.ts | 4 +++- libs/editor/src/lib/editor-app.component.html | 2 +- libs/editor/src/lib/editor-app.component.ts | 16 +++++++++++++--- 19 files changed, 88 insertions(+), 30 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 0744bd72d..adca2ab75 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 @@ -1214,9 +1214,10 @@ } var SaveFile = /** @class */ (function (_super) { __extends(SaveFile, _super); - function SaveFile(guid, password, content) { + function SaveFile(guid, password, content, pageNumber) { var _this = _super.call(this, guid, password) || this; _this.content = content; + _this.pageNumber = pageNumber; return _this; } return SaveFile; @@ -1224,6 +1225,8 @@ if (false) { /** @type {?} */ SaveFile.prototype.content; + /** @type {?} */ + SaveFile.prototype.pageNumber; } var FileDescription = /** @class */ (function () { function FileDescription() { @@ -2633,6 +2636,7 @@ var _this = _super.call(this, _elementRef, zoomService, windowService, navigateService) || this; _this.renderer = renderer; _this.panzoom = null; + _this.selectedSheet = new core.EventEmitter(); _this.navigateService = navigateService; return _this; } @@ -2713,6 +2717,7 @@ */ function (number) { this.currentPageNo = number; + this.selectedSheet.emit(number); }; /** * @param {?} page @@ -2741,7 +2746,8 @@ { type: core.Renderer2 } ]; }; ExcelDocumentComponent.propDecorators = { - pages: [{ type: core.ViewChildren, args: [ExcelPageComponent,] }] + pages: [{ type: core.ViewChildren, args: [ExcelPageComponent,] }], + selectedSheet: [{ type: core.Output }] }; return ExcelDocumentComponent; }(DocumentComponent)); @@ -2754,6 +2760,8 @@ ExcelDocumentComponent.prototype.panzoom; /** @type {?} */ ExcelDocumentComponent.prototype.navigateService; + /** @type {?} */ + ExcelDocumentComponent.prototype.selectedSheet; /** * @type {?} * @private 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 42005d502..f528e1800 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js.map +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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","$","Renderer2","ViewChildren","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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n pageNumber: number;\r\n\r\n constructor(guid: string, password: string, content: string, pageNumber: number) {\r\n super(guid, password);\r\n this.content = content;\r\n this.pageNumber = pageNumber;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2, Output, EventEmitter } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n @Output() selectedSheet = new EventEmitter();\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n this.selectedSheet.emit(number);\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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","$","Renderer2","ViewChildren","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 f946179ee..9f3ab4ba5 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js @@ -12,5 +12,5 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. - ***************************************************************************** */var h=function(e,t){return(h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)};function f(e,t){function o(){this.constructor=e}h(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}function m(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}}var b=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"gd-top-toolbar",template:'
\r\n
\r\n \r\n
\r\n
\r\n',styles:[".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"]}]}],e.ctorParameters=function(){return[]},e}(),v=function(){function e(){this.closable=!0,this.saveable=!0,this.hideSidePanel=new t.EventEmitter,this.saveInSidePanel=new t.EventEmitter,this.onlyTitle=!1}return e.prototype.closeSidePanel=function(){this.hideSidePanel.emit(!0)},e.prototype.saveBySidePanel=function(){this.saveInSidePanel.emit(!0)},e.prototype.toggleTitleMode=function(){this.closable&&!this.saveable&&(this.onlyTitle=!this.onlyTitle)},e.decorators=[{type:t.Component,args:[{selector:"gd-side-panel",template:'
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={title:[{type:t.Input}],icon:[{type:t.Input}],closable:[{type:t.Input}],saveable:[{type:t.Input}],hideSidePanel:[{type:t.Output}],saveInSidePanel:[{type:t.Output}]},e}();var x=function(){function e(){var e=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(t){e.resizeSubject.next(t.target),e.width=t.target.innerWidth,e.height=t.target.innerHeight}))),this._resize$.subscribe()}return Object.defineProperty(e.prototype,"onResize",{get:function(){return this.resizeSubject.asObservable()},enumerable:!0,configurable:!0}),e.prototype.isMobile=function(){return this.width<=425},e.prototype.isTablet=function(){return this.width<=1024},e.prototype.isDesktop=function(){return!this.isMobile()&&!this.isTablet()},e.prototype.getWidth=function(){return this.width},e.prototype.getHeight=function(){return this.height},e.prototype.isEdge=function(){return window.navigator.userAgent.toLowerCase().indexOf("edge")>-1},e.prototype.isFirefox=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},e}();var w=function(){function e(e){var t=this;this.iconOnly=!0,this.intent="default",this.disabled=!1,this.toggle=!1,this.iconRegular=!1,this.elementPosition=0,this.showToolTip=!1,this.isDesktop=e.isDesktop(),e.onResize.subscribe((function(o){t.isDesktop=e.isDesktop()}))}return e.prototype.iconButtonClass=function(){return this.iconOnly?"icon-button":""},e.prototype.onHovering=function(){this.isDesktop&&!this.disabled&&(this.className+=" active")},e.prototype.onUnhovering=function(){this.isDesktop&&!this.disabled&&(this.className=this.cleanAll(this.className," active"))},e.prototype.cleanAll=function(e,t){for(;e&&-1!==e.indexOf(t);)e=e.replace(t,"");return e},e.decorators=[{type:t.Component,args:[{selector:"gd-button",template:'
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n',styles:[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],e.ctorParameters=function(){return[{type:x}]},e.propDecorators={iconOnly:[{type:t.Input}],intent:[{type:t.Input}],disabled:[{type:t.Input}],icon:[{type:t.Input}],iconClass:[{type:t.Input}],tooltip:[{type:t.Input}],className:[{type:t.Input}],toggle:[{type:t.Input}],iconSize:[{type:t.Input}],iconRegular:[{type:t.Input}],elementPosition:[{type:t.Input}]},e}();var y=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-logo",template:'\r\n\r\n',styles:[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={logo:[{type:t.Input}],icon:[{type:t.Input}]},e}();var S=function(){function e(){this.position=0,this.visibility="hidden"}return e.prototype.getClass=function(){return 0===this.position?"tooltip":"tooltip "+(this.position>0?"last-element":"first-element")},Object.defineProperty(e.prototype,"show",{set:function(e){this.visibility=e?"shown":"hidden"},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-tooltip",template:'\r\n',styles:['.tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:" ";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}']}]}],e.ctorParameters=function(){return[]},e.propDecorators={text:[{type:t.Input}],position:[{type:t.Input}],show:[{type:t.Input}]},e}();var k=function(){function e(){}return e.VIEWER_APP="/viewer",e.SIGNATURE_APP="/signature",e.ANNOTATION_APP="/annotation",e.SEARCH_APP="/search",e.EDITOR_APP="/editor",e.COMPARISON_APP="/comparison",e.CONVERSION_APP="/conversion",e.METADATA_APP="/metadata",e.DEFAULT_API_ENDPOINT=window.location.href,e.LOAD_FILE_TREE="/loadFileTree",e.LOAD_CONFIG="/loadConfig",e.LOAD_DOCUMENT_DESCRIPTION="/loadDocumentDescription",e.LOAD_DOCUMENT_PAGE="/loadDocumentPage",e.LOAD_DOCUMENT_PROPERTIES="/loadProperties",e.LOAD_DOCUMENT_PROPERTIES_NAMES="/loadPropertiesNames",e.SAVE_PROPERTY="/saveProperty",e.REMOVE_PROPERTY="/removeProperty",e.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",e.UPLOAD_DOCUMENTS="/uploadDocument",e.DOWNLOAD_DOCUMENTS="/downloadDocument",e.LOAD_PRINT="/loadPrint",e.LOAD_PRINT_PDF="/printPdf",e.LOAD_THUMBNAILS="/loadThumbnails",e.LOAD_FORMATS="/loadFormats",e.SAVE_FILE="/saveFile",e.CREATE_FILE="/createFile",e.COMPARE_FILES="/compare",e.CONVERT_FILE="/convert",e.DELETE_SIGNATURE_FILE="/deleteSignatureFile",e.REMOVE_FROM_INDEX="/removeFromIndex",e.GET_FILE_STATUS="/getFileStatus",e.SAVE_OPTICAL_CODE="/saveOpticalCode",e.SAVE_TEXT="/saveText",e.SAVE_IMAGE="/saveImage",e.SAVE_STAMP="/saveStamp",e.SIGN="/sign",e.DOWNLOAD_SIGNED="/downloadSigned",e.LOAD_SIGNATURE_IMAGE="/loadSignatureImage",e.ANNOTATE="/annotate",e.SEARCH="/search",e.ADD_FILES_TO_INDEX="/addFilesToIndex",e.CLEAN_METADATA="/clean",e.EXPORT_METADATA="/export",e.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},e.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},e}();var C=function(){function e(){this.apiEndpoint=k.DEFAULT_API_ENDPOINT}return Object.defineProperty(e.prototype,"apiEndpoint",{get:function(){return this._apiEndpoint},set:function(e){this._apiEndpoint=e&&e.trim().endsWith("/")?e.substring(0,e.length-1):e},enumerable:!0,configurable:!0}),e.prototype.getConfigEndpoint=function(e){return(this.apiEndpoint.endsWith(e)?this.apiEndpoint:this.apiEndpoint+e)+k.LOAD_CONFIG},e.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(k.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+k.VIEWER_APP},e.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+k.EDITOR_APP},e.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+k.COMPARISON_APP},e.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+k.CONVERSION_APP},e.prototype.getMetadataApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.METADATA_APP)?this._apiEndpoint:this._apiEndpoint+k.METADATA_APP},e.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(k.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+k.SIGNATURE_APP},e.prototype.getAnnotationApiEndpoint=function(){return this._apiEndpoint.endsWith(k.ANNOTATION_APP)?this._apiEndpoint:this._apiEndpoint+k.ANNOTATION_APP},e.prototype.getSearchApiEndpoint=function(){return this._apiEndpoint.endsWith(k.SEARCH_APP)?this._apiEndpoint:this._apiEndpoint+k.SEARCH_APP},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[]},e}();var _=function(){function e(){}return e.PasswordRequired="gd-password-required",e.ErrorMessage="gd-error-message",e.BrowseFiles="gd-browse-files",e.CreateDocument="gd-create-document",e.OperationSuccess="gd-success-modal",e.DrawHandSignature="gd-draw-hand-signature",e.DrawStampSignature="gd-draw-stamp-signature",e.InformationMessage="gd-information-message",e}();var P=function(){function e(){this.modals=[]}return e.prototype.add=function(e){this.modals.push(e)},e.prototype.remove=function(e){this.modals=this.modals.filter((function(t){return t.id!==e}))},e.prototype.open=function(e){var t=this.modals.filter((function(t){return t.id===e}))[0];t&&t.open()},e.prototype.close=function(e){var t=this.modals.filter((function(t){return t.id===e}))[0];t&&t.close()},e}();var E=function(){function e(e,o){this.modalService=e,this.visible=new t.EventEmitter,this.cancel=new t.EventEmitter,this.visibility=!1,this.element=o.nativeElement}return e.prototype.ngOnInit=function(){this.id?(document.body.appendChild(this.element),this.modalService.add(this)):console.error("modal must have an id")},e.prototype.ngOnDestroy=function(){this.modalService.remove(this.id),this.element.remove()},e.prototype.open=function(){this.visibility=!0,this.visible.emit(!0)},e.prototype.close=function(){event.preventDefault(),event.stopPropagation(),this.visibility=!1,this.visible.emit(!1)},e.prototype.onClose=function(e){e.stopPropagation(),e&&e.target&&"modalDialog"===e.target.id&&this.close()},e.prototype.cancelClose=function(){this.cancel.emit(!1),this.close()},e.decorators=[{type:t.Component,args:[{selector:"gd-modal",template:'
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
×
\r\n

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n',styles:["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"]}]}],e.ctorParameters=function(){return[{type:P},{type:t.ElementRef}]},e.propDecorators={id:[{type:t.Input}],title:[{type:t.Input}],visible:[{type:t.Output}],cancel:[{type:t.Output}]},e}();var I=function(){};var O=function(){};var z=function(e,t){this.guid=e,this.password=t};var F=function(e){function t(t,o,n){var i=e.call(this,t,o)||this;return i.content=n,i}return f(t,e),t}(z);var D=function(){this.printAllowed=!0};var T=function(){};var A=function(){function e(){}return e.BadRequest=400,e.Unauthorized=401,e.Forbidden=403,e.NotFound=404,e.TimeOut=408,e.Conflict=409,e.InternalServerError=500,e}();var M=function(){function e(){}return e.getMousePosition=function(e){var t={x:0,y:0},o=window.event,n=e||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,a=void 0!==o.screenX&&0!==o.screenY,s=void 0!==o.screenY&&0!==o.screenY;t.x=i||(a?o.screenX:n.touches[0].pageX),t.y=r||(s?o.screenY:n.touches[0].pageY)}else n.clientX&&(t.x=n.clientX+document.body.scrollLeft,t.y=n.clientY+document.body.scrollTop);return t},e.toRgb=function(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(t){var o=parseInt(t[1],16),n=parseInt(t[2],16),i=parseInt(t[3],16);return t?"rgb("+o+","+n+","+i+")":""}return e},e.toHex=function(e){if(e.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i))return"#"===e.charAt(0)?e:"#"+e;if(!e.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/))return"";var t=[parseInt(RegExp.$1,10),parseInt(RegExp.$2,10),parseInt(RegExp.$3,10)],o=function(e){if(e.length<2)for(var t=0,o=2-e.length;t0?e.map.unknown:e.map.folder:e.map[i]}return e.map.folder},e.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"}},e}();var j=function(){},L=function(){function e(){var e=this;this._uploadsChange=new n.Observable((function(t){return e._observer=t}))}return Object.defineProperty(e.prototype,"uploadsChange",{get:function(){return this._uploadsChange},enumerable:!0,configurable:!0}),e.prototype.changeFilesList=function(e){this._observer.next(e)},e}();var H=l,U=[{name:"Disc",icon:"hdd"},{name:"URL",icon:"link"}],N=function(){function e(e){this._uploadService=e,this.uploads=U,this.selectedFileGuid=new t.EventEmitter,this.selectedDirectory=new t.EventEmitter,this.urlForUpload=new t.EventEmitter,this.closing=new t.EventEmitter,this.showUploadUrl=!1,this.showUploadFile=!1}return e.prototype.ngOnInit=function(){},e.prototype.getSize=function(e){var t=e/1024/1024;if(t>1)return Math.round(100*t)/100+" MB";var o=e/1024;return o>1?Math.round(100*o)/100+" KB":e+" Bytes"},e.prototype.getFormatName=function(e){return R.find(e.name,e.directory).format},e.prototype.getFormatIcon=function(e){return R.find(e.name,e.directory).icon},e.prototype.choose=function(e){this.selectedFile=e,e.directory||e.isDirectory?this.selectedDirectory.emit(e.name):this.selectedFileGuid.emit(e.guid)},e.prototype.goUp=function(){if(this.selectedFile){var e=this.selectedFile.guid;e=e.length>0&&-1===e.indexOf("/")?"":e.replace(/\/[^\/]+\/?$/,""),this.selectedDirectory.emit(e)}},e.prototype.selectUpload=function(e){"URL"===e?this.showUploadUrl=!0:(this.showUploadUrl=!1,H("#gd-upload-input").trigger("click"))},e.prototype.refresh=function(e){e?(this.files=null,this.selectedDirectory.emit(""),this.showUploadUrl=!1,this.selectedFile=null):this.closing.emit(!0)},e.prototype.showSpinner=function(){return!this.files},e.prototype.uploadUrl=function(e){e&&(this.urlForUpload.emit(e),this.cleanUpload())},e.prototype.handleFileInput=function(e){this._uploadService.changeFilesList(e)},e.prototype.cleanUpload=function(){this.showUploadFile=!1,this.showUploadUrl=!1},e.decorators=[{type:t.Component,args:[{selector:"gd-browse-files-modal",template:'\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n',styles:[".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],e.ctorParameters=function(){return[{type:L}]},e.propDecorators={files:[{type:t.Input}],uploadConfig:[{type:t.Input}],selectedFileGuid:[{type:t.Output}],selectedDirectory:[{type:t.Output}],urlForUpload:[{type:t.Output}],closing:[{type:t.Output}]},e}();var B=function(){function e(){this._observer=new n.Subject,this._zoomChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"zoom",{get:function(){return this._zoom},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"zoomChange",{get:function(){return this._zoomChange},enumerable:!0,configurable:!0}),e.prototype.changeZoom=function(e){this._zoom=e,this._observer.next(e)},e.prototype.createZoomOption=function(e,t,o){return void 0===o&&(o=!1),{value:e,name:t,separator:o}},e.prototype.zoomOptions=function(e,t){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(e,"Fit Width"),this.createZoomOption(t,"Fit Height")]},e}();var W=function(){function e(){var e=this;this._checkPreload=new n.Observable((function(t){return e._observer=t}))}return Object.defineProperty(e.prototype,"checkPreload",{get:function(){return this._checkPreload},enumerable:!0,configurable:!0}),e.prototype.changeLastPageInView=function(e){this._observer&&this._observer.next(e)},e}();var $=function(){function e(e){this._pagePreloadService=e,this._currentPage=0,this._countPages=0,this._observer=new n.Subject,this._navigate=this._observer}return Object.defineProperty(e.prototype,"navigate",{get:function(){return this._navigate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"countPages",{get:function(){return this._countPages},set:function(e){this._countPages=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentPage",{get:function(){return this._currentPage},set:function(e){this._currentPage=e},enumerable:!0,configurable:!0}),e.prototype.nextPage=function(){this._currentPage1&&(this._currentPage--,this.navigateTo(this._currentPage))},e.prototype.toLastPage=function(){this._currentPage=this._countPages,this.navigateTo(this._currentPage)},e.prototype.toFirstPage=function(){this._currentPage=1,this.navigateTo(this._currentPage)},e.prototype.navigateTo=function(e){this.currentPage=e,this._pagePreloadService.changeLastPageInView(e),this._observer.next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:W}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(W))},token:e,providedIn:"root"}),e}();var q=function(){function e(e,t,o,n){var i=this;this._elementRef=e,this._zoomService=t,this._windowService=o,this._navigateService=n,this.wait=!1,this.docWidth=null,this.docHeight=null,this.viewportWidth=null,this.viewportHeight=null,this.scale=null,this.lastScale=null,this.container=null,this.doc=null,this.x=0,this.lastX=0,this.y=0,this.lastY=0,this.pinchCenter=null,this.pinchCenterOffset=null,this.curWidth=0,this.curHeight=0,t.zoomChange.subscribe((function(e){i.zoom=e})),this.isDesktop=o.isDesktop(),this._navigateService.navigate.subscribe((function(e){i.selectedPage=e}))}return e.prototype.ngOnInit=function(){this.ifPresentation()&&(this.selectedPage=this._navigateService.currentPage)},e.prototype.ngOnChanges=function(){},e.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)},e.prototype.ifExcel=function(){return"Microsoft Excel"===R.find(this.file.guid,!1).format},e.prototype.ifPresentation=function(){return"Microsoft PowerPoint"===R.find(this.file.guid,!1).format},e.prototype.getDimensionWithUnit=function(e,t){return this.ifPresentation()&&this.showActiveSlide&&!this.isVisible(t)?0:e+(this.mode?R.find(this.file.guid,!1).unit:"px")},e.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},e.prototype.ngAfterViewChecked=function(){},e.prototype.isVisible=function(e){return!this.ifPresentation()||e===this.selectedPage},e.decorators=[{type:t.Component,args:[{selector:"gd-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n',styles:[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:B},{type:x},{type:$}]},e.propDecorators={mode:[{type:t.Input}],preloadPageCount:[{type:t.Input}],file:[{type:t.Input}],selectedPage:[{type:t.Input}],showActiveSlide:[{type:t.Input}]},e}();var V=function(){function e(){}return e.prototype.getUpdatedPage=function(e){var t=(new DOMParser).parseFromString(e,"text/html"),o=t.querySelector("table"),n=0;t.querySelectorAll("table > tbody > tr:first-child td").forEach((function(e){n+=e.attributes.colspan?parseInt(e.attributes.colspan.value,10):1}));var i=this.createHeader(n,o);return t.querySelector("table").replaceWith(i),(new XMLSerializer).serializeToString(t).replace(/a0:/g,"").replace(/:a0/g,"")},e.prototype.getPageWithoutHeader=function(e){var t=(new DOMParser).parseFromString(e,"text/html");t.querySelector("colgroup").remove();var o=t.querySelector("table");return o.deleteRow(0),o.querySelectorAll("tr").forEach((function(e){e.deleteCell(0)})),t.querySelector("table").replaceWith(o),(new XMLSerializer).serializeToString(t)},e.prototype.createHeader=function(e,t){var o=document.createElement("thead");o.append(document.createElement("tr"));for(var n=0;n=0;)n=String.fromCharCode(e%o+t)+n,e=Math.floor(e/o)-1;return n},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),G=function(){function e(e){this._excelPageService=e}return e.prototype.ngOnInit=function(){!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},e.prototype.ngOnChanges=function(e){this.data=null!==this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,"").replace(/href="\/viewer/g,'href="http://localhost:8080/viewer').replace(/src="\/viewer/g,'src="http://localhost:8080/viewer').replace(/data="\/viewer/g,'data="http://localhost:8080/viewer'):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=this.data),this.data=null!==this.data&&e.data?this._excelPageService.getUpdatedPage(this.data):this.data},e.decorators=[{type:t.Component,args:[{selector:"gd-excel-page",template:'
\r\n
\r\n \r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}::ng-deep th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}::ng-deep td{vertical-align:middle!important}::ng-deep .page-grid-lines td{border:1px solid #e7e7e7!important}::ng-deep .page td:nth-child(1){border:1px solid #e7e7e7!important}::ng-deep tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}::ng-deep tr td.excel:first-child div{width:80px}::ng-deep tr th.excel:first-child{background-color:#f4f4f4;width:1%}::ng-deep tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"]}]}],e.ctorParameters=function(){return[{type:V}]},e.propDecorators={angle:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],number:[{type:t.Input}],data:[{type:t.Input}],isHtml:[{type:t.Input}],editable:[{type:t.Input}]},e}();var X=function(e){function o(t,o,n,i,r){var a=e.call(this,t,o,n,i)||this;return a.renderer=r,a.panzoom=null,a.navigateService=i,a}return f(o,e),o.prototype.ngOnInit=function(){this.currentPageNo=1},o.prototype.ngAfterViewInit=function(){var e=this;this.refreshExcelDocHeight(),this.pages.changes.subscribe((function(){e.refreshExcelDocHeight()})),this.navigateService.navigate.subscribe((function(t){t&&e.selectSheet(t)}));var t=this.getScrollBarWidth();this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"right",this.getScrollBarWidth()+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"bottom",this.getScrollBarWidth()+"px"),0===t&&this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"padding-right","17px")},o.prototype.getScrollBarWidth=function(){var e=document.querySelector(".gd-document");return e.offsetWidth-e.clientWidth},o.prototype.refreshExcelDocHeight=function(){this.doc=this._elementRef.nativeElement.children.item(0),this.panzoom=this._elementRef.nativeElement.children.item(0).children.item(0),this.doc.style.height=this.panzoom.scrollHeight+37+"px"},o.prototype.selectSheet=function(e){this.currentPageNo=e},o.prototype.getSheetName=function(e){return e.sheetName?e.sheetName:"Sheet "+e.number},o.decorators=[{type:t.Component,args:[{selector:"gd-excel-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n',styles:[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],o.ctorParameters=function(){return[{type:t.ElementRef},{type:B},{type:x},{type:$},{type:t.Renderer2}]},o.propDecorators={pages:[{type:t.ViewChildren,args:[G]}]},o}(q);var Z=function(){function e(){}return e.prototype.ngOnInit=function(){!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},e.prototype.ngOnChanges=function(e){this.data=null!==this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,"").replace(/href="\/viewer/g,'href="http://localhost:8080/viewer').replace(/src="\/viewer/g,'src="http://localhost:8080/viewer').replace(/data="\/viewer/g,'data="http://localhost:8080/viewer'):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=this.data)},e.decorators=[{type:t.Component,args:[{selector:"gd-page",template:'
\r\n
\r\n \r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={angle:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],number:[{type:t.Input}],data:[{type:t.Input}],isHtml:[{type:t.Input}],editable:[{type:t.Input}]},e}();var Y=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustHtml(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeHtml"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}();var J=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustResourceUrl(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeResourceHtml"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}();var K=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustStyle(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeStyle"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}();var Q=function(){function e(){}return e.prototype.transform=function(e,t){if(!t)return e;var o=new RegExp(t,"gi");return e.replace(o,"$&")},e.decorators=[{type:t.Pipe,args:[{name:"highlight"}]}],e}(),ee=function(){function e(e){this._uploadService=e,this.closeUpload=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.handleFileInput=function(e){this._uploadService.changeFilesList(e),this.onCloseUpload()},e.prototype.onCloseUpload=function(){this.closeUpload.emit(!0)},e.prototype.close=function(e){"gd-dropZone"===e.target.id&&this.onCloseUpload()},e.decorators=[{type:t.Component,args:[{selector:"gd-upload-file-zone",template:'
\r\n
\r\n \r\n
\r\n

Drag & Drop your files here

\r\n

OR

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

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n',styles:["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"]}]}],e.ctorParameters=function(){return[{type:P},{type:t.ElementRef}]},e.propDecorators={id:[{type:t.Input}],title:[{type:t.Input}],visible:[{type:t.Output}],cancel:[{type:t.Output}]},e}();var I=function(){};var O=function(){};var z=function(e,t){this.guid=e,this.password=t};var F=function(e){function t(t,o,n,i){var r=e.call(this,t,o)||this;return r.content=n,r.pageNumber=i,r}return f(t,e),t}(z);var D=function(){this.printAllowed=!0};var T=function(){};var A=function(){function e(){}return e.BadRequest=400,e.Unauthorized=401,e.Forbidden=403,e.NotFound=404,e.TimeOut=408,e.Conflict=409,e.InternalServerError=500,e}();var M=function(){function e(){}return e.getMousePosition=function(e){var t={x:0,y:0},o=window.event,n=e||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,a=void 0!==o.screenX&&0!==o.screenY,s=void 0!==o.screenY&&0!==o.screenY;t.x=i||(a?o.screenX:n.touches[0].pageX),t.y=r||(s?o.screenY:n.touches[0].pageY)}else n.clientX&&(t.x=n.clientX+document.body.scrollLeft,t.y=n.clientY+document.body.scrollTop);return t},e.toRgb=function(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(t){var o=parseInt(t[1],16),n=parseInt(t[2],16),i=parseInt(t[3],16);return t?"rgb("+o+","+n+","+i+")":""}return e},e.toHex=function(e){if(e.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i))return"#"===e.charAt(0)?e:"#"+e;if(!e.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/))return"";var t=[parseInt(RegExp.$1,10),parseInt(RegExp.$2,10),parseInt(RegExp.$3,10)],o=function(e){if(e.length<2)for(var t=0,o=2-e.length;t0?e.map.unknown:e.map.folder:e.map[i]}return e.map.folder},e.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"}},e}();var j=function(){},L=function(){function e(){var e=this;this._uploadsChange=new n.Observable((function(t){return e._observer=t}))}return Object.defineProperty(e.prototype,"uploadsChange",{get:function(){return this._uploadsChange},enumerable:!0,configurable:!0}),e.prototype.changeFilesList=function(e){this._observer.next(e)},e}();var H=l,U=[{name:"Disc",icon:"hdd"},{name:"URL",icon:"link"}],N=function(){function e(e){this._uploadService=e,this.uploads=U,this.selectedFileGuid=new t.EventEmitter,this.selectedDirectory=new t.EventEmitter,this.urlForUpload=new t.EventEmitter,this.closing=new t.EventEmitter,this.showUploadUrl=!1,this.showUploadFile=!1}return e.prototype.ngOnInit=function(){},e.prototype.getSize=function(e){var t=e/1024/1024;if(t>1)return Math.round(100*t)/100+" MB";var o=e/1024;return o>1?Math.round(100*o)/100+" KB":e+" Bytes"},e.prototype.getFormatName=function(e){return R.find(e.name,e.directory).format},e.prototype.getFormatIcon=function(e){return R.find(e.name,e.directory).icon},e.prototype.choose=function(e){this.selectedFile=e,e.directory||e.isDirectory?this.selectedDirectory.emit(e.name):this.selectedFileGuid.emit(e.guid)},e.prototype.goUp=function(){if(this.selectedFile){var e=this.selectedFile.guid;e=e.length>0&&-1===e.indexOf("/")?"":e.replace(/\/[^\/]+\/?$/,""),this.selectedDirectory.emit(e)}},e.prototype.selectUpload=function(e){"URL"===e?this.showUploadUrl=!0:(this.showUploadUrl=!1,H("#gd-upload-input").trigger("click"))},e.prototype.refresh=function(e){e?(this.files=null,this.selectedDirectory.emit(""),this.showUploadUrl=!1,this.selectedFile=null):this.closing.emit(!0)},e.prototype.showSpinner=function(){return!this.files},e.prototype.uploadUrl=function(e){e&&(this.urlForUpload.emit(e),this.cleanUpload())},e.prototype.handleFileInput=function(e){this._uploadService.changeFilesList(e)},e.prototype.cleanUpload=function(){this.showUploadFile=!1,this.showUploadUrl=!1},e.decorators=[{type:t.Component,args:[{selector:"gd-browse-files-modal",template:'\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n',styles:[".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],e.ctorParameters=function(){return[{type:L}]},e.propDecorators={files:[{type:t.Input}],uploadConfig:[{type:t.Input}],selectedFileGuid:[{type:t.Output}],selectedDirectory:[{type:t.Output}],urlForUpload:[{type:t.Output}],closing:[{type:t.Output}]},e}();var B=function(){function e(){this._observer=new n.Subject,this._zoomChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"zoom",{get:function(){return this._zoom},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"zoomChange",{get:function(){return this._zoomChange},enumerable:!0,configurable:!0}),e.prototype.changeZoom=function(e){this._zoom=e,this._observer.next(e)},e.prototype.createZoomOption=function(e,t,o){return void 0===o&&(o=!1),{value:e,name:t,separator:o}},e.prototype.zoomOptions=function(e,t){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(e,"Fit Width"),this.createZoomOption(t,"Fit Height")]},e}();var W=function(){function e(){var e=this;this._checkPreload=new n.Observable((function(t){return e._observer=t}))}return Object.defineProperty(e.prototype,"checkPreload",{get:function(){return this._checkPreload},enumerable:!0,configurable:!0}),e.prototype.changeLastPageInView=function(e){this._observer&&this._observer.next(e)},e}();var $=function(){function e(e){this._pagePreloadService=e,this._currentPage=0,this._countPages=0,this._observer=new n.Subject,this._navigate=this._observer}return Object.defineProperty(e.prototype,"navigate",{get:function(){return this._navigate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"countPages",{get:function(){return this._countPages},set:function(e){this._countPages=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentPage",{get:function(){return this._currentPage},set:function(e){this._currentPage=e},enumerable:!0,configurable:!0}),e.prototype.nextPage=function(){this._currentPage1&&(this._currentPage--,this.navigateTo(this._currentPage))},e.prototype.toLastPage=function(){this._currentPage=this._countPages,this.navigateTo(this._currentPage)},e.prototype.toFirstPage=function(){this._currentPage=1,this.navigateTo(this._currentPage)},e.prototype.navigateTo=function(e){this.currentPage=e,this._pagePreloadService.changeLastPageInView(e),this._observer.next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:W}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(W))},token:e,providedIn:"root"}),e}();var q=function(){function e(e,t,o,n){var i=this;this._elementRef=e,this._zoomService=t,this._windowService=o,this._navigateService=n,this.wait=!1,this.docWidth=null,this.docHeight=null,this.viewportWidth=null,this.viewportHeight=null,this.scale=null,this.lastScale=null,this.container=null,this.doc=null,this.x=0,this.lastX=0,this.y=0,this.lastY=0,this.pinchCenter=null,this.pinchCenterOffset=null,this.curWidth=0,this.curHeight=0,t.zoomChange.subscribe((function(e){i.zoom=e})),this.isDesktop=o.isDesktop(),this._navigateService.navigate.subscribe((function(e){i.selectedPage=e}))}return e.prototype.ngOnInit=function(){this.ifPresentation()&&(this.selectedPage=this._navigateService.currentPage)},e.prototype.ngOnChanges=function(){},e.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)},e.prototype.ifExcel=function(){return"Microsoft Excel"===R.find(this.file.guid,!1).format},e.prototype.ifPresentation=function(){return"Microsoft PowerPoint"===R.find(this.file.guid,!1).format},e.prototype.getDimensionWithUnit=function(e,t){return this.ifPresentation()&&this.showActiveSlide&&!this.isVisible(t)?0:e+(this.mode?R.find(this.file.guid,!1).unit:"px")},e.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},e.prototype.ngAfterViewChecked=function(){},e.prototype.isVisible=function(e){return!this.ifPresentation()||e===this.selectedPage},e.decorators=[{type:t.Component,args:[{selector:"gd-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n',styles:[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:B},{type:x},{type:$}]},e.propDecorators={mode:[{type:t.Input}],preloadPageCount:[{type:t.Input}],file:[{type:t.Input}],selectedPage:[{type:t.Input}],showActiveSlide:[{type:t.Input}]},e}();var V=function(){function e(){}return e.prototype.getUpdatedPage=function(e){var t=(new DOMParser).parseFromString(e,"text/html"),o=t.querySelector("table"),n=0;t.querySelectorAll("table > tbody > tr:first-child td").forEach((function(e){n+=e.attributes.colspan?parseInt(e.attributes.colspan.value,10):1}));var i=this.createHeader(n,o);return t.querySelector("table").replaceWith(i),(new XMLSerializer).serializeToString(t).replace(/a0:/g,"").replace(/:a0/g,"")},e.prototype.getPageWithoutHeader=function(e){var t=(new DOMParser).parseFromString(e,"text/html");t.querySelector("colgroup").remove();var o=t.querySelector("table");return o.deleteRow(0),o.querySelectorAll("tr").forEach((function(e){e.deleteCell(0)})),t.querySelector("table").replaceWith(o),(new XMLSerializer).serializeToString(t)},e.prototype.createHeader=function(e,t){var o=document.createElement("thead");o.append(document.createElement("tr"));for(var n=0;n=0;)n=String.fromCharCode(e%o+t)+n,e=Math.floor(e/o)-1;return n},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),G=function(){function e(e){this._excelPageService=e}return e.prototype.ngOnInit=function(){!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},e.prototype.ngOnChanges=function(e){this.data=null!==this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,"").replace(/href="\/viewer/g,'href="http://localhost:8080/viewer').replace(/src="\/viewer/g,'src="http://localhost:8080/viewer').replace(/data="\/viewer/g,'data="http://localhost:8080/viewer'):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=this.data),this.data=null!==this.data&&e.data?this._excelPageService.getUpdatedPage(this.data):this.data},e.decorators=[{type:t.Component,args:[{selector:"gd-excel-page",template:'
\r\n
\r\n \r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}::ng-deep th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}::ng-deep td{vertical-align:middle!important}::ng-deep .page-grid-lines td{border:1px solid #e7e7e7!important}::ng-deep .page td:nth-child(1){border:1px solid #e7e7e7!important}::ng-deep tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}::ng-deep tr td.excel:first-child div{width:80px}::ng-deep tr th.excel:first-child{background-color:#f4f4f4;width:1%}::ng-deep tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"]}]}],e.ctorParameters=function(){return[{type:V}]},e.propDecorators={angle:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],number:[{type:t.Input}],data:[{type:t.Input}],isHtml:[{type:t.Input}],editable:[{type:t.Input}]},e}();var X=function(e){function o(o,n,i,r,a){var s=e.call(this,o,n,i,r)||this;return s.renderer=a,s.panzoom=null,s.selectedSheet=new t.EventEmitter,s.navigateService=r,s}return f(o,e),o.prototype.ngOnInit=function(){this.currentPageNo=1},o.prototype.ngAfterViewInit=function(){var e=this;this.refreshExcelDocHeight(),this.pages.changes.subscribe((function(){e.refreshExcelDocHeight()})),this.navigateService.navigate.subscribe((function(t){t&&e.selectSheet(t)}));var t=this.getScrollBarWidth();this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"right",this.getScrollBarWidth()+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"bottom",this.getScrollBarWidth()+"px"),0===t&&this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"padding-right","17px")},o.prototype.getScrollBarWidth=function(){var e=document.querySelector(".gd-document");return e.offsetWidth-e.clientWidth},o.prototype.refreshExcelDocHeight=function(){this.doc=this._elementRef.nativeElement.children.item(0),this.panzoom=this._elementRef.nativeElement.children.item(0).children.item(0),this.doc.style.height=this.panzoom.scrollHeight+37+"px"},o.prototype.selectSheet=function(e){this.currentPageNo=e,this.selectedSheet.emit(e)},o.prototype.getSheetName=function(e){return e.sheetName?e.sheetName:"Sheet "+e.number},o.decorators=[{type:t.Component,args:[{selector:"gd-excel-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n',styles:[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],o.ctorParameters=function(){return[{type:t.ElementRef},{type:B},{type:x},{type:$},{type:t.Renderer2}]},o.propDecorators={pages:[{type:t.ViewChildren,args:[G]}],selectedSheet:[{type:t.Output}]},o}(q);var Z=function(){function e(){}return e.prototype.ngOnInit=function(){!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},e.prototype.ngOnChanges=function(e){this.data=null!==this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,"").replace(/href="\/viewer/g,'href="http://localhost:8080/viewer').replace(/src="\/viewer/g,'src="http://localhost:8080/viewer').replace(/data="\/viewer/g,'data="http://localhost:8080/viewer'):null;this.imgData="data:image/png;base64,",this.isHtml||(this.imgData+=this.data)},e.decorators=[{type:t.Component,args:[{selector:"gd-page",template:'
\r\n
\r\n \r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={angle:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],number:[{type:t.Input}],data:[{type:t.Input}],isHtml:[{type:t.Input}],editable:[{type:t.Input}]},e}();var Y=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustHtml(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeHtml"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}();var J=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustResourceUrl(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeResourceHtml"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}();var K=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustStyle(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeStyle"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}();var Q=function(){function e(){}return e.prototype.transform=function(e,t){if(!t)return e;var o=new RegExp(t,"gi");return e.replace(o,"$&")},e.decorators=[{type:t.Pipe,args:[{name:"highlight"}]}],e}(),ee=function(){function e(e){this._uploadService=e,this.closeUpload=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.handleFileInput=function(e){this._uploadService.changeFilesList(e),this.onCloseUpload()},e.prototype.onCloseUpload=function(){this.closeUpload.emit(!0)},e.prototype.close=function(e){"gd-dropZone"===e.target.id&&this.onCloseUpload()},e.decorators=[{type:t.Component,args:[{selector:"gd-upload-file-zone",template:'
\r\n
\r\n \r\n
\r\n

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n',styles:[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"]}]}],e.ctorParameters=function(){return[{type:L}]},e.propDecorators={closeUpload:[{type:t.Output}]},e}();var te=function(){function e(e){this._uploadFilesService=e,this.closing=new t.EventEmitter,this.opening=new t.EventEmitter,this.dropped=new t.EventEmitter,this.active=!1,this.dragCounter=0}return e.prototype.onDragEnter=function(e){e.preventDefault(),e.stopPropagation(),this.dragCounter++,this.active=!0,this.opening.emit(!0)},e.prototype.onDragOver=function(e){return e.preventDefault(),e.stopPropagation(),!1},e.prototype.onDragLeave=function(e){e.preventDefault(),e.stopPropagation(),this.dragCounter--,0===this.dragCounter&&(this.active=!1,this.closeArea())},e.prototype.onDrop=function(e){e.preventDefault(),e.stopPropagation();var t=e.dataTransfer.files;t.length>0&&(this.active=!1,this.dropped.emit(!0),this._uploadFilesService.changeFilesList(t),this.closeArea())},e.prototype.onClick=function(e){this.closeArea()},e.prototype.closeArea=function(){this.closing.emit(!0),this.opening.emit(!1)},e.decorators=[{type:t.Directive,args:[{selector:"[gdDnd]"}]}],e.ctorParameters=function(){return[{type:L}]},e.propDecorators={closing:[{type:t.Output}],opening:[{type:t.Output}],dropped:[{type:t.Output}],active:[{type:t.HostBinding,args:["class.active"]}],onDragEnter:[{type:t.HostListener,args:["dragenter",["$event"]]}],onDragOver:[{type:t.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:t.HostListener,args:["dragleave",["$event"]]}],onDrop:[{type:t.HostListener,args:["drop",["$event"]]}],onClick:[{type:t.HostListener,args:["click",["$event"]]}]},e}();var oe=l,ne=function(){function e(){}return e.prototype.checkInViewport=function(e,t,o,n){if(void 0===t&&(t=100),void 0===o&&(o=0),void 0===n&&(n=.5),!e)return!1;var i=n,r=oe(window),a=r.scrollTop(),s=r.scrollLeft()+o,c=r.scrollLeft()+r.width()-10,p=r.scrollTop()+r.height();isNaN(t)&&(t=100);var l=t/100,d=oe(e).outerHeight()*l,u=oe(e).outerWidth()*l;if(!u||!d)return!1;var g=oe(e).offset(),h=g.left*l+u,f=g.top*l+d;if(!!(ch||pf))return!1;var m=parseFloat(Math.min(1,(f-a)/d).toFixed(2)),b=parseFloat(Math.min(1,(p-g.top*l)/d).toFixed(2));return parseFloat(Math.min(1,(h-s)/u).toFixed(2))*parseFloat(Math.min(1,(c-g.left*l)/u).toFixed(2))>=i&&m*b>=.5},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),ie=l,re=function(){function e(e,t,o,n,i,r){var a=this;this._elementRef=e,this._navigateService=t,this._pagePreloadService=o,this._zoomService=n,this._windowService=i,this._viewportService=r,this.zoom=100,this.loadedPagesSet=new Set,this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(e){a.zoom=e||a.zoom,a.refresh()}))}return e.prototype.ngAfterViewInit=function(){var e=this;this.zoom=this._zoomService.zoom?this._zoomService.zoom:this.zoom,this._navigateService.navigate.subscribe((function(t){e.currentPage=t,e.scrollToPage(t)})),this.refresh()},e.prototype.scrolling=function(){this.refresh()},e.prototype.resizing=function(){this.refresh()},e.prototype.scrollToPage=function(e){var t=this._elementRef.nativeElement,o=this.getPage(e),n=e>0?this.getPage(e-1):null,i=n&&ie(n).offset().top===ie(o).offset().top;if(!this._viewportService.checkInViewport(o,this.zoom)||!i){var r={left:0,top:this.calculateOffset(e)};t&&t.scroll(r)}},e.prototype.getChildren=function(){var e=this._elementRef?this._elementRef.nativeElement:null;if(e)return e.children.item(0).children.item(0).children},e.prototype.getPage=function(e){var t=this._elementRef?this._elementRef.nativeElement:null;if(t)return t.children.item(0).children.item(0).children.item(e-1)},e.prototype.calculateOffset=function(e){for(var t=this._windowService.isFirefox()?1:this.countPagesOnWidth(),o=this._windowService.isDesktop()?40:10,n=0,i=1;i0?a*this.getZoom()+o:0}return n},e.prototype.countPagesOnWidth=function(){var e=this.getPage(1);if(e){var t=Math.floor((this.getWidth()-150)/(e.getBoundingClientRect().width*this.getZoom()));if(0!==t)return t}return 1},e.prototype.refresh=function(){var e,t=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(e=1;e0?this.mouseWheelUp.emit(e):t<0&&this.mouseWheelDown.emit(e)},e.decorators=[{type:t.Directive,args:[{selector:"[gdMouseWheel]"}]}],e.propDecorators={mouseWheelUp:[{type:t.Output}],mouseWheelDown:[{type:t.Output}],onMouseWheelChrome:[{type:t.HostListener,args:["mousewheel",["$event"]]}],onMouseWheelFirefox:[{type:t.HostListener,args:["DOMMouseScroll",["$event"]]}],onMouseWheelIE:[{type:t.HostListener,args:["onmousewheel",["$event"]]}]},e}();var se=function(){function e(e,t,o){this._zoomService=e,this._windowService=t,this.zoomActive=!0,this.el=o}return e.prototype.ngOnDestroy=function(){},e.prototype.ngOnChanges=function(){this.setStyles(this._zoomService.zoom),this.resizePages(this._zoomService.zoom)},e.prototype.ngOnInit=function(){var e=this;this.zoomActive&&(this.setStyles(this._zoomService.zoom),this._zoomService.zoomChange.subscribe((function(t){e.setStyles(t),e.resizePages(t)})))},e.prototype.setStyles=function(e){if(this.zoomActive){var t=100===e?1:e/100;this._windowService.isEdge()?this.zoomInt=t:this.zoomInt=null,this._windowService.isEdge()?(this.transform="",this.transformOrigin=""):(this.transform="scale("+t+")",this.transformOrigin="top left");var o=0;this.file.pages.forEach((function(e){e.width>o&&(o=e.width)})),this.minWidth=o+R.find(this.file.guid,!1).unit}},e.prototype.getScrollWidth=function(e){return e.offsetWidth-e.clientWidth},e.prototype.getScrollHeight=function(e){return e.offsetHeight-e.clientHeight},e.prototype.resizePages=function(e){var t=100===e?1:e/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.el.nativeElement.parentElement.offsetHeight,i=this.getScrollWidth(this.el.nativeElement.parentElement),r=this.getScrollHeight(this.el.nativeElement.parentElement);this.width=o/t-i/t+"px",this.height=n/t-r/t+"px"},e.prototype.ngAfterViewInit=function(){this.setStyles(this._zoomService.zoom)},e.decorators=[{type:t.Directive,args:[{selector:"[gdZoom]"}]}],e.ctorParameters=function(){return[{type:B},{type:x},{type:t.ElementRef}]},e.propDecorators={zoomActive:[{type:t.Input}],file:[{type:t.Input}],zoomInt:[{type:t.HostBinding,args:["style.zoom"]}],transform:[{type:t.HostBinding,args:["style.transform"]}],transformOrigin:[{type:t.HostBinding,args:["style.transform-origin"]}],width:[{type:t.HostBinding,args:["style.width"]}],height:[{type:t.HostBinding,args:["style.height"]}],minWidth:[{type:t.HostBinding,args:["style.min-width"]}]},e}();var ce=function(){function e(){this._observer=new n.Subject,this._onClose=this._observer.asObservable()}return Object.defineProperty(e.prototype,"onClose",{get:function(){return this._onClose},enumerable:!0,configurable:!0}),e.prototype.close=function(e){this._observer.next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var pe=function(){function e(e){var o=this;this._onCloseService=e,this.disabled=!1,this.selected=new t.EventEmitter,this.isOpen=!1,e.onClose.subscribe((function(){o.close()}))}return e.prototype.open=function(){this.disabled||(this.isOpen=!0)},e.prototype.close=function(){this.isOpen=!1},e.prototype.onClickOutside=function(e){this.close()},e.prototype.toggle=function(e){e.preventDefault(),e.stopPropagation(),this.disabled||(this.isOpen=!this.isOpen)},e.prototype.select=function(e,t){e.preventDefault(),e.stopPropagation(),this.selected.emit(t),this.close()},e.decorators=[{type:t.Component,args:[{selector:"gd-select",template:'
\r\n
\r\n {{showSelected?.name}}\r\n
\r\n \r\n \r\n \r\n
\r\n',styles:[".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"]}]}],e.ctorParameters=function(){return[{type:ce}]},e.propDecorators={options:[{type:t.Input}],disabled:[{type:t.Input}],showSelected:[{type:t.Input}],selected:[{type:t.Output}],isOpen:[{type:t.Input}],icon:[{type:t.Input}]},e}();var le=function(){function e(){}return e.prototype.updateCursor=function(){this.cursor=!!this.dis},e.prototype.ngOnInit=function(){this.updateCursor()},e.prototype.ngOnChanges=function(e){this.updateCursor()},e.decorators=[{type:t.Directive,args:[{selector:"[gdDisabledCursor]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={dis:[{type:t.Input}],cursor:[{type:t.HostBinding,args:["class.inactive"]}]},e}();var de=function(){function e(){this.withMargin=!0}return e.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)},e.prototype.isLandscape=function(){return this.width>this.height},e.prototype.ngOnInit=function(){this.updateCursor()},e.prototype.ngOnChanges=function(e){this.updateCursor()},e.decorators=[{type:t.Directive,args:[{selector:"[gdRotation]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={angle:[{type:t.Input}],isHtmlMode:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],withMargin:[{type:t.Input}],animation:[{type:t.HostBinding,args:["style.animation"]}],transition:[{type:t.HostBinding,args:["style.transition-property"]}],transform:[{type:t.HostBinding,args:["style.transform"]}],margin:[{type:t.HostBinding,args:["style.margin"]}]},e}();var ue=function(){function e(){this.fileDropped=new t.EventEmitter,this.showUploadFile=!1}return e.prototype.ngOnInit=function(){},e.prototype.dropped=function(e){e&&(this.fileDropped.emit(e),this.showUploadFile=!1)},e.decorators=[{type:t.Component,args:[{selector:"gd-init-state",template:'
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n',styles:[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={icon:[{type:t.Input}],text:[{type:t.Input}],fileDropped:[{type:t.Output}]},e}();var ge=function(){function e(){var e=this;this._render=new n.Observable((function(t){return e._observer=t})),this._renderBlob=new n.Observable((function(t){return e._observerBlob=t}))}return Object.defineProperty(e.prototype,"renderPrint",{get:function(){return this._render},enumerable:!0,configurable:!0}),e.prototype.changePages=function(e){this._observer.next(e)},Object.defineProperty(e.prototype,"renderPrintBlob",{get:function(){return this._renderBlob},enumerable:!0,configurable:!0}),e.prototype.changeBlob=function(e){this._observerBlob.next(e)},e}();var he=function(){function e(e){var t=this;this._renderService=e,e.renderPrint.subscribe((function(e){t.renderPrint(e)})),e.renderPrintBlob.subscribe((function(e){t.renderPrintBlob(e)}))}return e.prototype.renderPrint=function(e){var t,o,n="";try{for(var i=m(e),r=i.next();!r.done;r=i.next()){var a=r.value;n+='
'}}catch(e){t={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}this.openWindow(n,e[0].width,e[0].height)},e.prototype.openWindow=function(e,t,o){var n="";if(t>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 a=window.open("","PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");a.focus(),a.document.writeln(r),a.document.writeln(e),a.document.close(),setTimeout((function(){a.focus(),a.print(),a.close()}),100)},e.prototype.renderPrintBlob=function(e){var t=URL.createObjectURL(e),o=window.open(t,"PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");o.focus(),o.print(),o.close()},e.decorators=[{type:t.Directive,args:[{selector:"[gdRenderPrint]"}]}],e.ctorParameters=function(){return[{type:ge}]},e.propDecorators={htmlMode:[{type:t.Input}]},e}();var fe=function(){function e(){this._observer=new n.BehaviorSubject("Server is not available"),this._messageChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),e.prototype.changeMessage=function(e){this._observer.next(e)},e}();var me=function(){function e(e){var t=this;e.messageChange.subscribe((function(e){return t.message=e}))}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-error-modal",template:'\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : \'Server is not available\'}}
\r\n
\r\n
\r\n
\r\n',styles:[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],e.ctorParameters=function(){return[{type:fe}]},e}();var be=function(){function e(){this._observer=new n.Subject,this._passChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"passChange",{get:function(){return this._passChange},enumerable:!0,configurable:!0}),e.prototype.setPassword=function(e){this._observer.next(e)},e}();var ve=l,xe=function(){function e(e,o){var n=this;this._passwordService=o,this.cancelEvent=new t.EventEmitter,e.messageChange.subscribe((function(e){return n.message=e}))}return e.prototype.ngOnInit=function(){},e.prototype.setPassword=function(e){this._passwordService.setPassword(e)},e.prototype.onCloseOpen=function(e){e?setTimeout((function(){var e=ve("#password");e&&e.focus()}),100):ve("#password").val("")},e.prototype.cancel=function(e){ve("#password").val(""),this.cancelEvent.emit(!0)},e.decorators=[{type:t.Component,args:[{selector:"gd-password-required",template:'\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n',styles:["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"]}]}],e.ctorParameters=function(){return[{type:fe},{type:be}]},e.propDecorators={cancelEvent:[{type:t.Output}]},e}();var we=function(){function e(e,t){this._modalService=e,this._messageService=t}return e.prototype.intercept=function(e,t){var o=this,r="background: maroon; color: white";return t.handle(e).pipe(i.map((function(e){return e})),i.catchError((function(e){if(e instanceof p.HttpErrorResponse)switch(e.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(e.error.message),o._modalService.open(_.ErrorMessage);break;case A.Forbidden:console.error("%c Forbidden 403",r),o._messageService.changeMessage(e.error.message),o._modalService.open(_.PasswordRequired)}return n.throwError(e)})))},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:P},{type:fe}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(P),t.ɵɵinject(fe))},token:e,providedIn:"root"}),e}();var ye=function(){function e(){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(e.prototype,"textChange",{get:function(){return this._textChange},enumerable:!0,configurable:!0}),e.prototype.setText=function(e){this._observer.next(e)},Object.defineProperty(e.prototype,"currentChange",{get:function(){return this._currentChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"totalChange",{get:function(){return this._totalChange},enumerable:!0,configurable:!0}),e.prototype.setCurrent=function(e){this._observerCurrent.next(e)},e.prototype.setTotal=function(e){this._observerTotal.next(e)},e}();var Se=function(){function e(e){var o=this;this._searchService=e,this.hidePanel=new t.EventEmitter(!1),this.current=0,this.total=0,e.totalChange.subscribe((function(e){o.total=e,o.current=0!==e?1:0,o._searchService.setCurrent(o.current)}))}return e.prototype.ngOnInit=function(){},e.prototype.setText=function(e){this._searchService.setText(e)},e.prototype.hide=function(){this.setText(""),this.hidePanel.emit(!0)},e.prototype.prev=function(){this.current>1&&(this.current--,this._searchService.setCurrent(this.current))},e.prototype.next=function(){this.current\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n',styles:[".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"]}]}],e.ctorParameters=function(){return[{type:ye}]},e.propDecorators={hidePanel:[{type:t.Output}],textElement:[{type:t.ViewChild,args:["text",{static:!0}]}]},e}();var ke=l,Ce=function(){function e(e,t,o,n){var i=this;this._elementRef=e,this._searchService=t,this._highlight=o,this._zoomService=n,this.current=0,this.total=0,this.zoom=100,t.currentChange.subscribe((function(e){i.current=e,0!==i.current&&i.moveToCurrent()})),t.textChange.subscribe((function(e){i.text=e,i.highlightSearch()})),this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(e){i.zoom=e||i.zoom}))}return e.prototype.highlightSearch=function(){var e=this._elementRef?this._elementRef.nativeElement:null;if(e){if(this.cleanHighlight(e),this.text){this.highlightEl(e);var t=e.querySelectorAll(".gd-highlight").length;this.total=t}else this.total=0;this._searchService.setTotal(this.total)}},e.prototype.moveToCurrent=function(){if(0!==this.current){this.getZoom();var e=this._elementRef?this._elementRef.nativeElement:null;if(e){e.querySelectorAll(".gd-highlight-select").forEach((function(e){ke(e).removeClass("gd-highlight-select")}));var t=e.querySelectorAll(".gd-highlight")[this.current-1];if(ke(t).addClass("gd-highlight-select"),t){var o={left:0,top:ke(t).offset().top+e.parentElement.parentElement.scrollTop-150};e.parentElement.parentElement.scroll(o)}}}},e.prototype.highlightEl=function(e){var t=ke(e).find("*").contents().filter((function(){var e=this.parentElement.nodeName.toLowerCase(),t=!this.classList||!this.classList.contains("gd-highlight");return 3===this.nodeType&&0!==this.textContent.trim().length&&"style"!==e&&"title"!==e&&"body"!==e&&"script"!==e&&t})),o=this.text,n=this._highlight;t.each((function(){var e=ke(this),t=e.text();t=n.transform(t,o),e.replaceWith(t)})),e.normalize()},e.prototype.cleanHighlight=function(e){for(var t=e.querySelectorAll(".gd-highlight"),o=0;o\r\n \r\n \r\n\r\n',styles:[".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={logo:[{type:t.Input}],icon:[{type:t.Input}]},e}();var Pe=function(){function e(){this._observer=new n.Subject,this._activeTabChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"activeTabChange",{get:function(){return this._activeTabChange},enumerable:!0,configurable:!0}),e.prototype.changeActiveTab=function(e){this._observer.next(e)},e}();var Ee=function(){function e(e){var t=this;this._tabActivatorService=e,this.disabled=!1,this.active=!1,this.content=!0,this._tabActivatorService.activeTabChange.subscribe((function(e){t.activation(e)}))}return e.prototype.activation=function(e){this.id===e?this.active=!0:this.active=!1},e.prototype.ngOnInit=function(){},e.prototype.selectTab=function(){this.disabled||this._tabActivatorService.changeActiveTab(this.id)},e.decorators=[{type:t.Component,args:[{selector:"gd-tab",template:'
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n',styles:[".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],e.ctorParameters=function(){return[{type:Pe}]},e.propDecorators={id:[{type:t.Input}],tabTitle:[{type:t.Input}],icon:[{type:t.Input}],disabled:[{type:t.Input}],active:[{type:t.Input}],content:[{type:t.Input}]},e}();var Ie=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"gd-tabs",template:'
\r\n \r\n
\r\n',styles:[".gd-tabs{display:-webkit-box;display:flex}"]}]}],e.ctorParameters=function(){return[]},e}(),Oe=function(){function e(e,t,o,n,i,r,a,s,c,p){this.fontSize=e,this.color=t,this.bgColor=o,this.bold=n,this.italic=i,this.underline=r,this.font=a,this.strikeout=s,this.align=c,this.list=p}return e.default=function(){return new e(10,"#000000","#FFFFFF",!1,!1,!1,"Arial",!1,"","")},e}();var ze=function(){function e(){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(e.prototype,"formatBoldChange",{get:function(){return this._formatBoldChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatUnderlineChange",{get:function(){return this._formatUnderlineChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatColorChange",{get:function(){return this._formatColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatBgColorChange",{get:function(){return this._formatBgColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatFontSizeChange",{get:function(){return this._formatFontSizeChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatFontChange",{get:function(){return this._formatFontChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"undo",{get:function(){return this._undo},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"redo",{get:function(){return this._redo},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatItalicChange",{get:function(){return this._formatItalicChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatStrikeoutChange",{get:function(){return this._formatStrikeoutChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatAlignChange",{get:function(){return this._formatAlignChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatListChange",{get:function(){return this._formatListChange},enumerable:!0,configurable:!0}),e.createFontSizeOption=function(e){return{value:e,name:e+"px",separator:!1}},e.getFontSizeOptions=function(){return[e.createFontSizeOption(8),e.createFontSizeOption(10),e.createFontSizeOption(12),e.createFontSizeOption(14),e.createFontSizeOption(16),e.createFontSizeOption(18),e.createFontSizeOption(20),e.createFontSizeOption(22),e.createFontSizeOption(24)]},e.createFontOption=function(e){return{value:e,name:e,separator:!1}},e.getFontOptions=function(){var e=this,t=[];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){t.push(e.createFontOption(o))})),t},e.prototype.changeFormatFontSize=function(e){this._observerFontSize.next(e)},e.prototype.changeFormatBold=function(e){this._observerBold.next(e)},e.prototype.changeFormatUnderline=function(e){this._observerUnderline.next(e)},e.prototype.Undo=function(){this._observerUndo.next()},e.prototype.Redo=function(){this._observerRedo.next()},e.prototype.changeFormatItalic=function(e){this._observerItalic.next(e)},e.prototype.changeFormatColor=function(e){this._observerColor.next(e)},e.prototype.changeFormatBgColor=function(e){this._observerBgColor.next(e)},e.prototype.changeFormatFont=function(e){this._observerFont.next(e)},e.prototype.changeFormatStrikeout=function(e){this._observerStrikeout.next(e)},e.prototype.changeFormatAlign=function(e){this._observerAlign.next(e)},e.prototype.changeFormatList=function(e){this._observerList.next(e)},e}();var Fe=["#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"],De=function(){function e(){this.isOpen=!1,this.selectedColor=new t.EventEmitter,this.closeOutside=new t.EventEmitter,this.colors=Fe,this.white="#FFFFFF"}return e.prototype.ngOnInit=function(){},e.prototype.select=function(e,t){e.preventDefault(),e.stopPropagation(),this.selectedColor.emit(t)},e.prototype.close=function(){this.isOpen=!1,this.closeOutside.emit(!0)},e.decorators=[{type:t.Component,args:[{selector:"gd-color-picker",template:'
\r\n
\r\n
\r\n
\r\n
\r\n',styles:[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={isOpen:[{type:t.Input}],selectedColor:[{type:t.Output}],closeOutside:[{type:t.Output}]},e}();var Te=function(e){function o(){return e.call(this)||this}return f(o,e),o.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],o.ctorParameters=function(){return[]},o.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new o},token:o,providedIn:"root"}),o}(ze),Ae=function(){function e(){this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return e.prototype.restoreSelection=function(){(this.selection&&!this.selection.collapsed||this.isIE)&&this.putSelection(this.selection)},e.prototype.captureSelection=function(){var e=window.getSelection();e.rangeCount>0&&(this.selection=e.getRangeAt(0))},e.prototype.putSelection=function(e){var t=window.getSelection();t.removeAllRanges(),t.addRange(e.cloneRange())},e.prototype.refreshSelection=function(){this.captureSelection(),this.restoreSelection()},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var Me=l,Re=function(){function e(e,t,o){this._formattingService=e,this._backFormattingService=t,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 e.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=Me(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)},e.prototype.checkJustify=function(){var e="";return e=document.queryCommandState("justifyCenter")?"center":e,e=document.queryCommandState("justifyFull")?"full":e,e=document.queryCommandState("justifyLeft")?"left":e,e=document.queryCommandState("justifyRight")?"right":e},e.prototype.checkList=function(){var e="";return e=document.queryCommandState("insertUnorderedList")?"unordered":e,e=document.queryCommandState("insertOrderedList")?"ordered":e},e.prototype.reportFontSize=function(){var e,t;if(window.getSelection?(t=window.getSelection()).rangeCount&&3===(e=t.getRangeAt(0).commonAncestorContainer).nodeType&&(e=e.parentNode):(t=document.getSelection())&&"Control"!==t.type&&(e=t.createRange().parentElement()),e)return parseInt(this.getComputedStyleProperty(e,"fontSize").replace("px",""),10)},e.prototype.getComputedStyleProperty=function(e,t){return window.getComputedStyle?window.getComputedStyle(e,null)[t]:e.currentStyle?e.currentStyle[t]:void 0},e.prototype.ngOnInit=function(){var e=this;this._formattingService.undo.subscribe((function(){e.toggleUndo()})),this._formattingService.redo.subscribe((function(){e.toggleRedo()})),this._formattingService.formatBoldChange.subscribe((function(t){e.bold=t,e.toggleBold()})),this._formattingService.formatUnderlineChange.subscribe((function(t){e.underline=t,e.toggleUnderline()})),this._formattingService.formatItalicChange.subscribe((function(t){e.italic=t,e.toggleItalic()})),this._formattingService.formatColorChange.subscribe((function(t){e.color=t,e.setColor(t)})),this._formattingService.formatBgColorChange.subscribe((function(t){e.bgColor=t,e.setBgColor(t)})),this._formattingService.formatFontSizeChange.subscribe((function(t){e.setFontSize(t)})),this._formattingService.formatFontChange.subscribe((function(t){e.font=t,e.setFont(t)})),this._formattingService.formatStrikeoutChange.subscribe((function(t){e.strikeout=t,e.toggleStrikeout()})),this._formattingService.formatAlignChange.subscribe((function(t){e.align=t,e.toggleAlign(e.align)})),this._formattingService.formatListChange.subscribe((function(t){var o=e.list===t;e.list=t,e.toggleList(e.list,o)}))},e.prototype.toggleBold=function(){document.execCommand("bold"),this._selectionService.refreshSelection()},e.prototype.toggleUnderline=function(){document.execCommand("underline"),this._selectionService.refreshSelection()},e.prototype.toggleItalic=function(){document.execCommand("italic"),this._selectionService.refreshSelection()},e.prototype.setBgColor=function(e){document.execCommand("backColor",!1,e),this._selectionService.refreshSelection()},e.prototype.setColor=function(e){document.execCommand("foreColor",!1,e),this._selectionService.refreshSelection()},e.prototype.setFontSize=function(e){if(document.getSelection().toString()){var t=""+document.getSelection()+"";this.bold&&(t=""+t+""),this.italic&&(t=""+t+""),this.underline&&(t=""+t+""),this.strikeout&&(t=""+t+""),document.execCommand("insertHTML",!1,t)}else document.execCommand("fontsize",!1,"7");this._selectionService.refreshSelection()},e.prototype.toggleUndo=function(){document.execCommand("undo")},e.prototype.toggleRedo=function(){document.execCommand("redo")},e.prototype.setFont=function(e){document.execCommand("fontName",!1,e),this._selectionService.refreshSelection()},e.prototype.toggleStrikeout=function(){document.execCommand("strikeThrough"),this._selectionService.refreshSelection()},e.prototype.toggleAlign=function(e){if(this.isIE)this.toggleAlignIE(e);else{switch(document.execCommand("styleWithCSS",!1,"true"),e){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()}},e.prototype.toggleAlignIE=function(e){this._selectionService.restoreSelection(),this._selectionService.captureSelection();var t=window.getSelection().focusNode.parentNode.parentNode;"full"===e&&(e="justify"),Me(t).css("text-align",e),this._selectionService.refreshSelection()},e.prototype.toggleList=function(e,t){switch(e){case"unordered":document.execCommand("insertUnorderedList",t);break;case"ordered":document.execCommand("insertOrderedList",t)}this._selectionService.refreshSelection()},e.decorators=[{type:t.Directive,args:[{selector:"[gdFormatting]"}]}],e.ctorParameters=function(){return[{type:ze},{type:Te},{type:Ae}]},e.propDecorators={mouseup:[{type:t.HostListener,args:["mouseup"]}]},e}();var je=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-success-modal",template:'\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n',styles:[".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"]}]}],e.ctorParameters=function(){return[]},e}(),Le=function(){function e(){this._observer=new n.Subject,this._htmlContent=this._observer.asObservable()}return Object.defineProperty(e.prototype,"observer",{get:function(){return this._observer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"htmlContent",{get:function(){return this._htmlContent},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var He=function(){function e(e,t){this._selectionService=e,this._htmlService=t,this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return e.prototype.onInput=function(e){if(this.text=e.target,this.isIE&&this.text.innerHTML){var t=this.text.innerHTML.toString();this._htmlService.observer.next(t)}},e.prototype.onMouseleave=function(e){this._selectionService.captureSelection(),this.isIE&&this._htmlService.observer.next(e.target.innerHTML.toString())},e.prototype.onBlur=function(e){if(e.preventDefault(),this._selectionService.restoreSelection(),this.text.innerHTML){var t=this.text.innerHTML.toString();this._htmlService.observer.next(t)}else this._htmlService.observer.next(e.target.innerHTML.toString())},e.decorators=[{type:t.Directive,args:[{selector:"[gdEditor]"}]}],e.ctorParameters=function(){return[{type:Ae},{type:Le}]},e.propDecorators={text:[{type:t.Input}],onInput:[{type:t.HostListener,args:["keyup",["$event"]]}],onMouseleave:[{type:t.HostListener,args:["mouseleave",["$event"]]}],onBlur:[{type:t.HostListener,args:["blur",["$event"]]}]},e}();var Ue=function(){function e(){this.onLoadingChanged=new t.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(k.SAVE_TEXT),this.stopList.push(k.SAVE_OPTICAL_CODE),this.stopList.push(k.LOAD_DOCUMENT_PAGE),this.stopList.push(k.LOAD_THUMBNAILS),this.stopList.push(k.GET_FILE_STATUS),this.stopList.push(k.LOAD_PRINT)}return e.prototype.onRequestStart=function(e){this.stopList.find((function(t){return e.url.includes(t)}))||(this.requests.push(e),this.notify())},e.prototype.onRequestFinish=function(e){var t=this.requests.indexOf(e);-1!==t&&this.requests.splice(t,1),this.notify()},e.prototype.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[]},e}();var Ne=function(){function e(e){this._loadingMaskService=e,this.loadingMask=!1}return e.prototype.ngOnInit=function(){},e.prototype.ngAfterViewInit=function(){var e=this;this._loadingMaskService.onLoadingChanged.subscribe((function(t){return e.loadingMask=t}))},e.decorators=[{type:t.Component,args:[{selector:"gd-loading-mask",template:'
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"]}]}],e.ctorParameters=function(){return[{type:Ue}]},e.propDecorators={loadingMask:[{type:t.Input}]},e}();var Be=function(){function e(e){this._loadingMaskService=e}return e.prototype.intercept=function(e,t){var o=this;this._loadingMaskService.onRequestStart(e);return t.handle(e).pipe(i.finalize((function(){return o._loadingMaskService.onRequestFinish(e)})))},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:Ue}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(Ue))},token:e,providedIn:"root"}),e}();var We={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},$e={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},qe=function(){function e(e){var t=this;this.dropdown=e,this.click=function(e){return t.dropdown.toggle(e)}}return e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down-toggle",template:"",encapsulation:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef((function(){return Xe}))]}]}]},e.propDecorators={click:[{type:t.HostListener,args:["click",["$event"]]}]},e}();var Ve=function(){function e(e){this.dropdown=e}return Object.defineProperty(e.prototype,"horizontalAlign",{get:function(){return We[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"verticalAlign",{get:function(){return $e[this.dropdown.getPlacement().v].top},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOpen",{get:function(){return this.dropdown.open},enumerable:!0,configurable:!0}),e.prototype.onClickOutside=function(e){this.dropdown.close()},e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down-items",template:'',encapsulation:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef((function(){return Xe}))]}]}]},e}();var Ge=function(){function e(e){var o=this;this.dropdown=e,this.class="drop-down-item",this.selected=new t.EventEmitter,this.click=function(){return o.selectEntry()}}return e.prototype.selectEntry=function(){this.selected.next(),this.dropdown.close()},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef((function(){return Xe}))]}]}]},e.propDecorators={class:[{type:t.HostBinding,args:["class"]}],selected:[{type:t.Output}],click:[{type:t.HostListener,args:["click"]}]},e}();var Xe=function(){function e(){this.placement={h:"center",v:"bottom"},this.open=!1,this.class="drop-down"}return e.prototype.close=function(){this.open=!1},e.prototype.toggle=function(e){e.stopPropagation(),this.open=!this.open,document.body.click()},e.prototype.getPlacement=function(){return this.placement},e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down",template:'',encapsulation:t.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}"]}]}],e.propDecorators={placement:[{type:t.Input}],open:[{type:t.Input},{type:t.HostBinding,args:["class.show"]}],class:[{type:t.HostBinding,args:["class"]}]},e}();var Ze=function(){function e(){this.showSpinner=!1}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-left-side-bar",template:'
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n',styles:[".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={showSpinner:[{type:t.Input}]},e}();var Ye=function(){function e(){this.showToolTip=new t.EventEmitter}return e.prototype.onHovering=function(){this.showToolTip.emit(!0)},e.prototype.onUnhovering=function(){this.showToolTip.emit(!1)},e.decorators=[{type:t.Directive,args:[{selector:"[gdTooltip]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={showToolTip:[{type:t.Output}],onHovering:[{type:t.HostListener,args:["mouseenter"]}],onUnhovering:[{type:t.HostListener,args:["mouseleave"]}]},e}();var Je=function(){function e(e,t){this._factoryResolver=e,this._appRef=t}return e.prototype.addDynamicComponent=function(e,t){var o=this,n=this._factoryResolver.resolveComponentFactory(t),i=e.createComponent(n);return i.onDestroy((function(){o._appRef.detachView(i.hostView)})),i},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.ComponentFactoryResolver},{type:t.ApplicationRef}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(t.ComponentFactoryResolver),t.ɵɵinject(t.ApplicationRef))},token:e,providedIn:"root"}),e}();var Ke=function(){function e(){this.hosts=[]}return e.prototype.add=function(e){this.hosts=this.hosts.filter((function(t){return t.ident!==e.ident})),this.hosts.push(e)},e.prototype.remove=function(e){this.hosts=this.hosts.filter((function(t){return t.ident!==e.ident}))},e.prototype.find=function(e){return this.hosts.find((function(t){return t.ident===e}))},e}();var Qe=function(){function e(e,t){this.viewContainerRef=e,this._hostingService=t}return e.prototype.ngAfterViewInit=function(){this._hostingService.add(this)},e.prototype.ngOnDestroy=function(){this._hostingService.remove(this),this.viewContainerRef.clear()},e.decorators=[{type:t.Directive,args:[{selector:"[gdHostDynamic]"}]}],e.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:Ke}]},e.propDecorators={ident:[{type:t.Input}]},e}();var et=l,tt=function(){function e(){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 t.EventEmitter,this.offsetY=new t.EventEmitter,this.offsetTop=new t.EventEmitter,this.offsetLeft=new t.EventEmitter,this.release=new t.EventEmitter,this.grab=!1}return e.prototype.ngAfterViewInit=function(){var e=this,t=et(this.getElementId(this.SE)),o=et(this.getElementId(this.NW));if(this.init&&t&&o&&t.offset()&&o.offset()){for(var n=t.offset().left-o.offset().left,i=t.offset().top-o.offset().top;n>=this.pageWidth||i>=this.pageHeight;)n/=2,i/=2;setTimeout((function(){e.offsetX.emit(n),e.offsetY.emit(i)}),100)}},e.prototype.ngOnInit=function(){},e.prototype.catchUp=function(e){e.preventDefault(),e.dataTransfer&&e.dataTransfer.setData("text","foo"),this.grab=!0,this.oldPosition=M.getMousePosition(e)},e.prototype.resize=function(e,t){if(this.grab){var o=M.getMousePosition(e);if(0!==o.x||0!==o.y){var n=this.NE===t||this.NW===t,i=this.SW===t||this.NW===t;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}}},e.prototype.setOffsets=function(e,t,o){var n=t?this.oldPosition.x-e.x:e.x-this.oldPosition.x,i=o?this.oldPosition.y-e.y:e.y-this.oldPosition.y;this.offsetX.emit(n),this.offsetY.emit(i)},e.prototype.end=function(e,t){this.resize(e,t),this.release.emit(!0),this.grab=!1},e.prototype.start=function(e){this.drop(e)},e.prototype.drop=function(e){e.stopPropagation(),e.preventDefault()},e.prototype.getElementId=function(e){return"#"+e+"-"+this.id},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={init:[{type:t.Input}],id:[{type:t.Input}],se:[{type:t.Input}],ne:[{type:t.Input}],sw:[{type:t.Input}],nw:[{type:t.Input}],pageWidth:[{type:t.Input}],pageHeight:[{type:t.Input}],offsetX:[{type:t.Output}],offsetY:[{type:t.Output}],offsetTop:[{type:t.Output}],offsetLeft:[{type:t.Output}],release:[{type:t.Output}]},e}();var ot=function(e){function t(){return e.call(this)||this}return f(t,e),t}(Pe),nt=function(){function e(e,o,n){var i=this;this._tabActivatorService=e,this._modalService=o,this._excMessageService=n,this.disabled=!1,this.activeTab=new t.EventEmitter,this.elementPosition=0,this.active=!1,this.showToolTip=!1,this._tabActivatorService.activeTabChange.subscribe((function(e){i.activation(e),null===e&&i.activeTab.emit("")}))}return e.prototype.activation=function(e){this.id===e?(this.active=!this.active,this.active?this.activeTab.emit(this.id):this.activeTab.emit("")):this.active=!1},e.prototype.ngOnInit=function(){},e.prototype.toggleTab=function(){if(this.disabled)return this._modalService.open(_.ErrorMessage),void this._excMessageService.changeMessage("Please open document first");this._tabActivatorService.changeActiveTab(this.id)},e.decorators=[{type:t.Component,args:[{selector:"gd-top-tab",template:'
\r\n \r\n \r\n
\r\n',styles:[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"]}]}],e.ctorParameters=function(){return[{type:ot},{type:P},{type:fe}]},e.propDecorators={id:[{type:t.Input}],icon:[{type:t.Input}],disabled:[{type:t.Input}],tooltip:[{type:t.Input}],activeTab:[{type:t.Output}],elementPosition:[{type:t.Input}]},e}();var it=l,rt=function(){function e(e,o,n,i,r){var a=this;this._onCloseService=e,this._zoomService=o,this._windowService=n,this._elementRef=i,this.renderer=r,this.decoration=!0,this.showTooltips=!0,this.outFontSize=new t.EventEmitter,this.outFont=new t.EventEmitter,this.outBold=new t.EventEmitter,this.outItalic=new t.EventEmitter,this.outUnderline=new t.EventEmitter,this.outColor=new t.EventEmitter,this.fontSizeOptions=ze.getFontSizeOptions(),this.fontOptions=ze.getFontOptions(),this.colorPickerShow=!1,e.onClose.subscribe((function(){a.colorPickerShow=!1})),this.isMobile=n.isMobile(),n.onResize.subscribe((function(e){a.isMobile=n.isMobile()})),o.zoomChange.subscribe((function(e){a.isMobile&&a.changePosition(e)}))}return e.prototype.ngOnInit=function(){},e.prototype.changePosition=function(e){var t=window.innerHeight-24-this._elementRef.nativeElement.parentElement.getBoundingClientRect().top-this._elementRef.nativeElement.parentElement.getBoundingClientRect().height,o=this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"width",window.innerWidth+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"top",t+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"left",-o+"px")},e.prototype.selectFontSize=function(e){it(".gd-wrapper").off("keyup"),this.outFontSize.emit(e.value),it(".gd-wrapper").on("keyup",(function(){for(var t=document.getElementsByTagName("font"),o=0,n=t.length;o\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n',styles:["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"]}]}],e.ctorParameters=function(){return[{type:ce},{type:B},{type:x},{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={blur:[{type:t.Input}],fontSize:[{type:t.Input}],font:[{type:t.Input}],bold:[{type:t.Input}],italic:[{type:t.Input}],underline:[{type:t.Input}],color:[{type:t.Input}],decoration:[{type:t.Input}],showTooltips:[{type:t.Input}],outFontSize:[{type:t.Output}],outFont:[{type:t.Output}],outBold:[{type:t.Output}],outItalic:[{type:t.Output}],outUnderline:[{type:t.Output}],outColor:[{type:t.Output}]},e}();var at=function(){function e(){}return e.FOR_SIGNATURE="signature",e.FOR_ANNOTATION="annotation",e}();var st=function(){function e(e,o,n,i){var r=this;this._windowService=e,this._zoomService=o,this._elementRef=n,this.renderer=i,this.formatting=Oe.default(),this.lock=!1,this.translation=0,this.changeFormatting=new t.EventEmitter,this.removeItem=new t.EventEmitter,this.copySign=new t.EventEmitter,this.lockOut=new t.EventEmitter,this.comment=new t.EventEmitter,this.isMobile=e.isMobile(),e.onResize.subscribe((function(t){r.isMobile=e.isMobile()})),o.zoomChange.subscribe((function(e){r.isMobile&&r.changeScale(e)}))}return e.prototype.ngOnInit=function(){},e.prototype.changeScale=function(e){this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-context-menu"),"transform","scale("+1/(e/100)+")")},e.prototype.saveChanges=function(){this.changeFormatting.emit(this.formatting)},e.prototype.selectFontSize=function(e){this.formatting.fontSize=e,this.saveChanges()},e.prototype.selectFont=function(e){this.formatting.font=e,this.saveChanges()},e.prototype.selectColor=function(e){this.formatting.color=e,this.saveChanges()},e.prototype.toggleBold=function(e){this.formatting.bold=e,this.saveChanges()},e.prototype.toggleItalic=function(e){this.formatting.italic=e,this.saveChanges()},e.prototype.toggleUnderline=function(e){this.formatting.underline=e,this.saveChanges()},e.prototype.deleteItem=function(){this.removeItem.emit(!0)},e.prototype.toggleLock=function(){this.lock=!this.lock,this.lockOut.emit(this.lock)},e.prototype.onCopySign=function(){this.copySign.emit(!0)},e.prototype.isSignature=function(){return this.menuType===at.FOR_SIGNATURE},e.prototype.isAnnotation=function(){return this.menuType===at.FOR_ANNOTATION},e.prototype.addComment=function(){this.comment.emit(!0)},e.decorators=[{type:t.Component,args:[{selector:"gd-context-menu",template:'
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n',styles:[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"]}]}],e.ctorParameters=function(){return[{type:x},{type:B},{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={formatting:[{type:t.Input}],textMenu:[{type:t.Input}],topPosition:[{type:t.Input}],lock:[{type:t.Input}],translation:[{type:t.Input}],menuType:[{type:t.Input}],changeFormatting:[{type:t.Output}],removeItem:[{type:t.Output}],copySign:[{type:t.Output}],lockOut:[{type:t.Output}],comment:[{type:t.Output}]},e}();var ct=[C,k,P,j,T,R,M,Y,J,K,Q,L,ge,$,W,B,fe,be,we,ye,x,ne,ze,Te,ce,Be,Ue,Pe,Je,Ke,ot,V],pt=function(){function e(){a.library.add(s.fas,c.far)}return e.decorators=[{type:t.NgModule,args:[{imports:[o.CommonModule,r.FontAwesomeModule,g.ClickOutsideModule],declarations:[b,v,w,y,S,E,N,q,X,Z,G,Y,J,K,Q,ee,te,re,ae,se,pe,le,de,ue,he,me,xe,Se,Ce,_e,Ee,Ie,De,Re,je,He,Ne,Xe,Ge,Ve,qe,Ze,Ye,Qe,tt,nt,rt,st],exports:[b,v,w,y,S,E,N,q,X,Z,G,J,K,Q,Y,ee,re,ae,pe,de,ue,he,me,xe,Se,Ce,_e,Ee,Ie,De,Re,je,Ne,te,Xe,Ge,Ve,qe,se,qe,Ze,Ye,Qe,tt,nt,rt,st,He,Re],providers:ct}]}],e.ctorParameters=function(){return[]},e}();e.AddDynamicComponentService=Je,e.Api=k,e.BackFormattingService=Te,e.BrowseFilesModalComponent=N,e.ButtonComponent=w,e.ColorPickerComponent=De,e.CommonComponentsModule=pt,e.CommonModals=_,e.ConfigService=C,e.ContextMenuComponent=st,e.DisabledCursorDirective=le,e.DndDirective=te,e.DocumentComponent=q,e.DropDownComponent=Xe,e.DropDownItemComponent=Ge,e.DropDownItemsComponent=Ve,e.DropDownToggleComponent=qe,e.EditHtmlService=Le,e.EditorDirective=He,e.ErrorInterceptorService=we,e.ErrorModalComponent=me,e.ExcelDocumentComponent=X,e.ExcelPageComponent=G,e.ExcelPageService=V,e.ExceptionMessageService=fe,e.FileCredentials=z,e.FileDescription=D,e.FileModel=T,e.FileService=j,e.FileUtil=R,e.Formatting=Oe,e.FormattingDirective=Re,e.FormattingService=ze,e.HighlightSearchPipe=Q,e.HostDynamicDirective=Qe,e.HostingDynamicComponentService=Ke,e.HttpError=A,e.InitStateComponent=ue,e.LeftSideBarComponent=Ze,e.LoadingMaskComponent=Ne,e.LoadingMaskInterceptorService=Be,e.LoadingMaskService=Ue,e.LogoComponent=y,e.MenuType=at,e.ModalComponent=E,e.ModalService=P,e.MouseWheelDirective=ae,e.NavigateService=$,e.OnCloseService=ce,e.PageComponent=Z,e.PageModel=I,e.PagePreloadService=W,e.PasswordRequiredComponent=xe,e.PasswordService=be,e.RenderPrintDirective=he,e.RenderPrintService=ge,e.RotatedPage=O,e.RotationDirective=de,e.SanitizeHtmlPipe=Y,e.SanitizeResourceHtmlPipe=J,e.SanitizeStylePipe=K,e.SaveFile=F,e.ScrollableDirective=re,e.SearchComponent=Se,e.SearchService=ye,e.SearchableDirective=Ce,e.SelectComponent=pe,e.SelectionService=Ae,e.SidePanelComponent=v,e.SuccessModalComponent=je,e.TabActivatorService=Pe,e.TabComponent=Ee,e.TabbedToolbarsComponent=_e,e.TextMenuComponent=rt,e.TooltipComponent=S,e.TopTabActivatorService=ot,e.TopToolbarComponent=b,e.UploadFileZoneComponent=ee,e.UploadFilesService=L,e.Utils=M,e.ViewportService=ne,e.WindowService=x,e.ZoomDirective=se,e.ZoomService=B,e.ɵa=Ie,e.ɵb=Ye,e.ɵc=tt,e.ɵd=nt,Object.defineProperty(e,"__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 6a10288ed..383462392 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js.map +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__values","o","m","Symbol","iterator","i","call","next","length","value","done","TopToolbarComponent","Component","args","selector","template","SidePanelComponent","closable","saveable","hideSidePanel","EventEmitter","saveInSidePanel","onlyTitle","closeSidePanel","emit","saveBySidePanel","toggleTitleMode","Input","Output","WindowService","_this","resizeSubject","Subject","width","window","innerWidth","height","innerHeight","_resize$","fromEvent","pipe","debounceTime","distinctUntilChanged","startWith","target","tap","event","subscribe","defineProperty","asObservable","isMobile","isTablet","isDesktop","getWidth","getHeight","isEdge","navigator","userAgent","toLowerCase","indexOf","isFirefox","ButtonComponent","windowService","iconOnly","intent","disabled","toggle","iconRegular","elementPosition","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","position","visibility","getClass","Api","VIEWER_APP","SIGNATURE_APP","ANNOTATION_APP","SEARCH_APP","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","METADATA_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","LOAD_DOCUMENT_PROPERTIES","LOAD_DOCUMENT_PROPERTIES_NAMES","SAVE_PROPERTY","REMOVE_PROPERTY","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","CREATE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","REMOVE_FROM_INDEX","GET_FILE_STATUS","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","SEARCH","ADD_FILES_TO_INDEX","CLEAN_METADATA","EXPORT_METADATA","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getMetadataApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","getSearchApiEndpoint","Injectable","CommonModals","PasswordRequired","ErrorMessage","BrowseFiles","CreateDocument","OperationSuccess","DrawHandSignature","DrawStampSignature","InformationMessage","ModalService","modals","add","modal","push","remove","id","filter","x","open","close","ModalComponent","modalService","el","visible","cancel","element","nativeElement","document","body","appendChild","console","error","ngOnDestroy","preventDefault","stopPropagation","onClose","$event","cancelClose","ElementRef","RotatedPage","FileCredentials","guid","password","SaveFile","_super","content","tslib_1.__extends","FileDescription","printAllowed","FileModel","HttpError","BadRequest","Unauthorized","Forbidden","NotFound","TimeOut","Conflict","InternalServerError","Utils","getMousePosition","mouse","y","wEvent","ev","pageX","screenX","touches","pageY","screenX_1","screenY","screenY_1","clientX","scrollLeft","clientY","scrollTop","toRgb","color","result","exec","r","parseInt","g","toHex","match","charAt","c","RegExp","$1","$2","$3","pad","len","toString","FileUtil","find","filename","isDirectory","strings","split","name_1","pop","map","folder","format","icon","pdf","unit","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown","FileService","UploadFilesService","_uploadsChange","Observable","observer","_observer","changeFilesList","filesList","$","jquery","uploads_choices","name","BrowseFilesModalComponent","_uploadService","uploads","selectedFileGuid","selectedDirectory","urlForUpload","closing","showUploadUrl","showUploadFile","getSize","size","mb","Math","round","kb","getFormatName","file","directory","getFormatIcon","choose","selectedFile","goUp","selectUpload","trigger","refresh","files","showSpinner","uploadUrl","cleanUpload","handleFileInput","ZoomService","_zoomChange","_zoom","changeZoom","zoom","createZoomOption","sep","separator","zoomOptions","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","DocumentComponent","_elementRef","_zoomService","_windowService","_navigateService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","navigate","selectedPage","ifPresentation","ngOnChanges","ngAfterViewInit","children","item","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","pageNumber","showActiveSlide","isVisible","mode","ifEdge","ngAfterViewChecked","ExcelPageService","getUpdatedPage","data","DOMParser","parseFromString","table","querySelector","numCellsInFirstRow","querySelectorAll","forEach","elm","attributes","newTable","createHeader","replaceWith","XMLSerializer","serializeToString","getPageWithoutHeader","deleteRow","row","deleteCell","numCols","header","createElement","append","th","innerText","colName","setAttribute","colgroup","col","prepend","cnt","div","td","n","ordA","charCodeAt","s","String","fromCharCode","floor","ExcelPageComponent","_excelPageService","test","number","editable","changes","imgData","isHtml","ExcelDocumentComponent","zoomService","navigateService","renderer","panzoom","currentPageNo","refreshExcelDocHeight","pages","selectSheet","scrollbarWidth","getScrollBarWidth","setStyle","documentBox","style","scrollHeight","getSheetName","sheetName","Renderer2","ViewChildren","PageComponent","SanitizeHtmlPipe","sanitizer","transform","bypassSecurityTrustHtml","Pipe","DomSanitizer","SanitizeResourceHtmlPipe","bypassSecurityTrustResourceUrl","SanitizeStylePipe","bypassSecurityTrustStyle","HighlightSearchPipe","re","UploadFileZoneComponent","closeUpload","onCloseUpload","DndDirective","_uploadFilesService","opening","dropped","active","dragCounter","onDragEnter","evt","onDragOver","onDragLeave","closeArea","onDrop","dataTransfer","onClick","Directive","HostBinding","HostListener","ViewportService","checkInViewport","leftOffset","deltaX","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","min","toFixed","ScrollableDirective","_viewportService","loadedPagesSet","Set","scrollToPage","scrolling","resizing","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","has","MouseWheelDirective","mouseWheelUp","mouseWheelDown","onMouseWheelChrome","mouseWheelFunc","onMouseWheelFirefox","onMouseWheelIE","delta","max","wheelDelta","detail","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","minWidth","getScrollWidth","getScrollHeight","viewPortWidth","parentElement","viewPortHeight","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","pages_1","tslib_1.__values","pages_1_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","setTimeout","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","changeMessage","message","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","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","normalize","nodeListOf","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","center","verticalAlignment","DropDownToggleComponent","dropdown","click","encapsulation","ViewEncapsulation","None","Inject","forwardRef","DropDownComponent","DropDownItemsComponent","getPlacement","h","v","DropDownItemComponent","class","selectEntry","placement","LeftSideBarComponent","TooltipDirective","AddDynamicComponentService","_factoryResolver","_appRef","addDynamicComponent","viewContainerRef","component","factory","resolveComponentFactory","componentRef","createComponent","onDestroy","detachView","hostView","ComponentFactoryResolver","ApplicationRef","HostingDynamicComponentService","hosts","host","ident","HostDynamicDirective","_hostingService","clear","ViewContainerRef","ResizingComponent","se","ne","sw","nw","SE","NE","SW","NW","offsetX","offsetY","offsetTop","offsetLeft","release","grab","elSE","getElementId","elNW","init","width_1","height_1","pageWidth","pageHeight","catchUp","setData","oldPosition","resize","notSW","notNE","setOffsets","end","start","drop","TopTabActivatorService","TopTabComponent","_excMessageService","activeTab","toggleTab","TextMenuComponent","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","changePosition","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","changeScale","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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oBAC3CC,aAAc,CACZ1/B,EACAK,EACA6C,EACAmB,EACAE,EACA8F,EACA2K,EACAuD,EACA0F,EACAmB,EACA3B,EACA4B,EACAM,EACAE,EACAE,EACAE,GACAG,GACAqC,GACAyB,GACAW,GACAgB,GACAM,GACAI,GACAO,GACAQ,GACAwB,GACAO,GACA4B,GACAQ,GACAwB,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAgB,GACAiB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA0B,IAEF6B,QAAS,CACP3/B,EACAK,EACA6C,EACAmB,EACAE,EACA8F,EACA2K,EACAuD,EACA0F,EACAmB,EACA3B,EACAkC,EACAE,EACAE,EACAV,EACAY,GACAwC,GACAyB,GACA2B,GACAU,GACAO,GACAQ,GACAwB,GACAO,GACA4B,GACAQ,GACAwB,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAmB,GACAvW,GACAwX,GACAK,GACAJ,GACAT,GACAvS,GACAuS,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA0B,GACAnI,GACAnD,IACFwM,UAAWA,6CAMbC,EA5GA","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__values","o","m","Symbol","iterator","i","call","next","length","value","done","TopToolbarComponent","Component","args","selector","template","SidePanelComponent","closable","saveable","hideSidePanel","EventEmitter","saveInSidePanel","onlyTitle","closeSidePanel","emit","saveBySidePanel","toggleTitleMode","Input","Output","WindowService","_this","resizeSubject","Subject","width","window","innerWidth","height","innerHeight","_resize$","fromEvent","pipe","debounceTime","distinctUntilChanged","startWith","target","tap","event","subscribe","defineProperty","asObservable","isMobile","isTablet","isDesktop","getWidth","getHeight","isEdge","navigator","userAgent","toLowerCase","indexOf","isFirefox","ButtonComponent","windowService","iconOnly","intent","disabled","toggle","iconRegular","elementPosition","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","position","visibility","getClass","Api","VIEWER_APP","SIGNATURE_APP","ANNOTATION_APP","SEARCH_APP","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","METADATA_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","LOAD_DOCUMENT_PROPERTIES","LOAD_DOCUMENT_PROPERTIES_NAMES","SAVE_PROPERTY","REMOVE_PROPERTY","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","CREATE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","REMOVE_FROM_INDEX","GET_FILE_STATUS","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","SEARCH","ADD_FILES_TO_INDEX","CLEAN_METADATA","EXPORT_METADATA","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getMetadataApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","getSearchApiEndpoint","Injectable","CommonModals","PasswordRequired","ErrorMessage","BrowseFiles","CreateDocument","OperationSuccess","DrawHandSignature","DrawStampSignature","InformationMessage","ModalService","modals","add","modal","push","remove","id","filter","x","open","close","ModalComponent","modalService","el","visible","cancel","element","nativeElement","document","body","appendChild","console","error","ngOnDestroy","preventDefault","stopPropagation","onClose","$event","cancelClose","ElementRef","RotatedPage","FileCredentials","guid","password","SaveFile","_super","content","pageNumber","tslib_1.__extends","FileDescription","printAllowed","FileModel","HttpError","BadRequest","Unauthorized","Forbidden","NotFound","TimeOut","Conflict","InternalServerError","Utils","getMousePosition","mouse","y","wEvent","ev","pageX","screenX","touches","pageY","screenX_1","screenY","screenY_1","clientX","scrollLeft","clientY","scrollTop","toRgb","color","result","exec","r","parseInt","g","toHex","match","charAt","c","RegExp","$1","$2","$3","pad","len","toString","FileUtil","find","filename","isDirectory","strings","split","name_1","pop","map","folder","format","icon","pdf","unit","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown","FileService","UploadFilesService","_uploadsChange","Observable","observer","_observer","changeFilesList","filesList","$","jquery","uploads_choices","name","BrowseFilesModalComponent","_uploadService","uploads","selectedFileGuid","selectedDirectory","urlForUpload","closing","showUploadUrl","showUploadFile","getSize","size","mb","Math","round","kb","getFormatName","file","directory","getFormatIcon","choose","selectedFile","goUp","selectUpload","trigger","refresh","files","showSpinner","uploadUrl","cleanUpload","handleFileInput","ZoomService","_zoomChange","_zoom","changeZoom","zoom","createZoomOption","sep","separator","zoomOptions","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","DocumentComponent","_elementRef","_zoomService","_windowService","_navigateService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","navigate","selectedPage","ifPresentation","ngOnChanges","ngAfterViewInit","children","item","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","showActiveSlide","isVisible","mode","ifEdge","ngAfterViewChecked","ExcelPageService","getUpdatedPage","data","DOMParser","parseFromString","table","querySelector","numCellsInFirstRow","querySelectorAll","forEach","elm","attributes","newTable","createHeader","replaceWith","XMLSerializer","serializeToString","getPageWithoutHeader","deleteRow","row","deleteCell","numCols","header","createElement","append","th","innerText","colName","setAttribute","colgroup","col","prepend","cnt","div","td","n","ordA","charCodeAt","s","String","fromCharCode","floor","ExcelPageComponent","_excelPageService","test","number","editable","changes","imgData","isHtml","ExcelDocumentComponent","zoomService","navigateService","renderer","panzoom","selectedSheet","currentPageNo","refreshExcelDocHeight","pages","selectSheet","scrollbarWidth","getScrollBarWidth","setStyle","documentBox","style","scrollHeight","getSheetName","sheetName","Renderer2","ViewChildren","PageComponent","SanitizeHtmlPipe","sanitizer","transform","bypassSecurityTrustHtml","Pipe","DomSanitizer","SanitizeResourceHtmlPipe","bypassSecurityTrustResourceUrl","SanitizeStylePipe","bypassSecurityTrustStyle","HighlightSearchPipe","re","UploadFileZoneComponent","closeUpload","onCloseUpload","DndDirective","_uploadFilesService","opening","dropped","active","dragCounter","onDragEnter","evt","onDragOver","onDragLeave","closeArea","onDrop","dataTransfer","onClick","Directive","HostBinding","HostListener","ViewportService","checkInViewport","leftOffset","deltaX","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","min","toFixed","ScrollableDirective","_viewportService","loadedPagesSet","Set","scrollToPage","scrolling","resizing","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","has","MouseWheelDirective","mouseWheelUp","mouseWheelDown","onMouseWheelChrome","mouseWheelFunc","onMouseWheelFirefox","onMouseWheelIE","delta","max","wheelDelta","detail","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","minWidth","getScrollWidth","getScrollHeight","viewPortWidth","parentElement","viewPortHeight","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","pages_1","tslib_1.__values","pages_1_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","setTimeout","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","changeMessage","message","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","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","normalize","nodeListOf","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","center","verticalAlignment","DropDownToggleComponent","dropdown","click","encapsulation","ViewEncapsulation","None","Inject","forwardRef","DropDownComponent","DropDownItemsComponent","getPlacement","h","v","DropDownItemComponent","class","selectEntry","placement","LeftSideBarComponent","TooltipDirective","AddDynamicComponentService","_factoryResolver","_appRef","addDynamicComponent","viewContainerRef","component","factory","resolveComponentFactory","componentRef","createComponent","onDestroy","detachView","hostView","ComponentFactoryResolver","ApplicationRef","HostingDynamicComponentService","hosts","host","ident","HostDynamicDirective","_hostingService","clear","ViewContainerRef","ResizingComponent","se","ne","sw","nw","SE","NE","SW","NW","offsetX","offsetY","offsetTop","offsetLeft","release","grab","elSE","getElementId","elNW","init","width_1","height_1","pageWidth","pageHeight","catchUp","setData","oldPosition","resize","notSW","notNE","setOffsets","end","start","drop","TopTabActivatorService","TopTabComponent","_excMessageService","activeTab","toggleTab","TextMenuComponent","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","changePosition","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","changeScale","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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B,EAAAA,IAAKC,EAAAA,KAErB,2BA5GCC,EAAAA,SAAQp/B,KAAA,CAAC,CACRq/B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZ3/B,EACAK,EACA6C,EACAmB,EACAE,EACA8F,EACA4K,EACAuD,EACAyF,EACAoB,EACA5B,EACA6B,EACAM,EACAE,EACAE,EACAE,GACAG,GACAqC,GACAyB,GACAW,GACAgB,GACAM,GACAI,GACAO,GACAQ,GACAwB,GACAO,GACA4B,GACAQ,GACAwB,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAgB,GACAiB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA0B,IAEF6B,QAAS,CACP5/B,EACAK,EACA6C,EACAmB,EACAE,EACA8F,EACA4K,EACAuD,EACAyF,EACAoB,EACA5B,EACAmC,EACAE,EACAE,EACAV,EACAY,GACAwC,GACAyB,GACA2B,GACAU,GACAO,GACAQ,GACAwB,GACAO,GACA4B,GACAQ,GACAwB,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAmB,GACAvW,GACAwX,GACAK,GACAJ,GACAT,GACAvS,GACAuS,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA0B,GACAnI,GACAnD,IACFwM,UAAWA,6CAMbC,EA5GA","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n pageNumber: number;\r\n\r\n constructor(guid: string, password: string, content: string, pageNumber: number) {\r\n super(guid, password);\r\n this.content = content;\r\n this.pageNumber = pageNumber;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2, Output, EventEmitter } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n @Output() selectedSheet = new EventEmitter();\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n this.selectedSheet.emit(number);\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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/excel-document/excel-document.component.js b/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js index aee50511b..31037622a 100644 --- a/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js +++ b/dist/libs/common-components/esm2015/lib/excel-document/excel-document.component.js @@ -2,7 +2,7 @@ * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ -import { Component, ElementRef, ViewChildren, QueryList, Renderer2 } from '@angular/core'; +import { Component, ElementRef, ViewChildren, QueryList, Renderer2, Output, EventEmitter } from '@angular/core'; import { DocumentComponent } from '../document/document.component'; import { WindowService } from '../window.service'; import { NavigateService } from '../navigate.service'; @@ -20,6 +20,7 @@ export class ExcelDocumentComponent extends DocumentComponent { super(_elementRef, zoomService, windowService, navigateService); this.renderer = renderer; this.panzoom = null; + this.selectedSheet = new EventEmitter(); this.navigateService = navigateService; } /** @@ -82,6 +83,7 @@ export class ExcelDocumentComponent extends DocumentComponent { */ selectSheet(number) { this.currentPageNo = number; + this.selectedSheet.emit(number); } /** * @param {?} page @@ -107,7 +109,8 @@ ExcelDocumentComponent.ctorParameters = () => [ { type: Renderer2 } ]; ExcelDocumentComponent.propDecorators = { - pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }] + pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }], + selectedSheet: [{ type: Output }] }; if (false) { /** @type {?} */ @@ -118,10 +121,12 @@ if (false) { ExcelDocumentComponent.prototype.panzoom; /** @type {?} */ ExcelDocumentComponent.prototype.navigateService; + /** @type {?} */ + ExcelDocumentComponent.prototype.selectedSheet; /** * @type {?} * @private */ ExcelDocumentComponent.prototype.renderer; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsWUFBWSxFQUFFLFNBQVMsRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFPLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBUXhFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxpQkFBaUI7Ozs7Ozs7O0lBTzNELFlBQVksV0FBb0MsRUFDcEMsV0FBd0IsRUFDeEIsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDeEIsUUFBbUI7UUFDckMsS0FBSyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRDlDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFQdkMsWUFBTyxHQUFHLElBQUksQ0FBQztRQVNiLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO0lBQ3pDLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQzs7OztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTOzs7UUFBQyxHQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDakMsQ0FBQyxFQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTOzs7O1FBQ3RDLEtBQUssQ0FBQyxFQUFFO1lBQ04sSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6QjtRQUNILENBQUMsRUFBQyxDQUFDOztjQUVFLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMxSCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzNILElBQUksY0FBYyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzFHO0lBQ0gsQ0FBQzs7OztJQUVELGlCQUFpQjs7Y0FDVCxXQUFXLEdBQUcsbUJBQUEsUUFBUSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBZTs7Y0FDbkUsY0FBYyxHQUFHLFdBQVcsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLFdBQVc7UUFDeEUsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQzs7OztJQUVELHFCQUFxQjtRQUNuQixnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNoRSxDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQzlCLENBQUM7Ozs7O0lBRUQsWUFBWSxDQUFDLElBQUk7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2xFLENBQUM7OztZQWxFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0Isc2hDQUE4Qzs7YUFFL0M7Ozs7WUFabUIsVUFBVTtZQUlyQixXQUFXO1lBRlgsYUFBYTtZQUNiLGVBQWU7WUFId0QsU0FBUzs7O29CQWN0RixZQUFZLFNBQUMsa0JBQWtCOzs7O0lBQWhDLHVDQUF1RTs7SUFFdkUsK0NBQXNCOztJQUN0Qix5Q0FBZTs7SUFDZixpREFBaUM7Ozs7O0lBTXJCLDBDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3SW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vZG9jdW1lbnQvZG9jdW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uL3dpbmRvdy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbmF2aWdhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFpvb21TZXJ2aWNlIH0gZnJvbSAgJy4uL3pvb20uc2VydmljZSc7XHJcbmltcG9ydCB7IEV4Y2VsUGFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2V4Y2VsLXBhZ2UvZXhjZWwtcGFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlTW9kZWwgfSBmcm9tICcuLi9maWxlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdnZC1leGNlbC1kb2N1bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leGNlbC1kb2N1bWVudC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhjZWxEb2N1bWVudENvbXBvbmVudCBleHRlbmRzIERvY3VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0ICB7XHJcbiAgQFZpZXdDaGlsZHJlbihFeGNlbFBhZ2VDb21wb25lbnQpIHBhZ2VzOiBRdWVyeUxpc3Q8RXhjZWxQYWdlQ29tcG9uZW50PjsgXHJcbiAgXHJcbiAgY3VycmVudFBhZ2VObzogbnVtYmVyO1xyXG4gIHBhbnpvb20gPSBudWxsO1xyXG4gIG5hdmlnYXRlU2VydmljZTogTmF2aWdhdGVTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICAgICAgICAgICAgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgbmF2aWdhdGVTZXJ2aWNlOiBOYXZpZ2F0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgem9vbVNlcnZpY2UsIHdpbmRvd1NlcnZpY2UsIG5hdmlnYXRlU2VydmljZSk7XHJcbiAgICB0aGlzLm5hdmlnYXRlU2VydmljZSA9IG5hdmlnYXRlU2VydmljZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSAxO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5yZWZyZXNoRXhjZWxEb2NIZWlnaHQoKTtcclxuICAgIHRoaXMucGFnZXMuY2hhbmdlcy5zdWJzY3JpYmUoKCk9PntcclxuICAgICAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5uYXZpZ2F0ZVNlcnZpY2UubmF2aWdhdGUuc3Vic2NyaWJlKFxyXG4gICAgIHZhbHVlID0+IHtcclxuICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICB0aGlzLnNlbGVjdFNoZWV0KHZhbHVlKTtcclxuICAgICAgIH1cclxuICAgICB9KTtcclxuXHJcbiAgICBjb25zdCBzY3JvbGxiYXJXaWR0aCA9IHRoaXMuZ2V0U2Nyb2xsQmFyV2lkdGgoKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVldHMnKSwgJ3JpZ2h0JywgdGhpcy5nZXRTY3JvbGxCYXJXaWR0aCgpICsgJ3B4Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2hlZXRzJyksICdib3R0b20nLCB0aGlzLmdldFNjcm9sbEJhcldpZHRoKCkgKyAncHgnKTtcclxuICAgIGlmIChzY3JvbGxiYXJXaWR0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2hlZXRzJyksICdwYWRkaW5nLXJpZ2h0JywgJzE3cHgnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFNjcm9sbEJhcldpZHRoKCkge1xyXG4gICAgY29uc3QgZG9jdW1lbnRCb3ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZ2QtZG9jdW1lbnQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gZG9jdW1lbnRCb3gub2Zmc2V0V2lkdGggLSBkb2N1bWVudEJveC5jbGllbnRXaWR0aDtcclxuICAgIHJldHVybiBzY3JvbGxiYXJXaWR0aDtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hFeGNlbERvY0hlaWdodCgpIHtcclxuICAgIC8vIEZvciBjdXJyZW50IGl0ZXJhdGlvbiB3ZSdsbCBjaGFuZ2UgYWN0dWFsIGhlaWdodCBvZiAuZG9jdW1lbnRcclxuICAgIHRoaXMuZG9jID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICB0aGlzLnBhbnpvb20gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKS5jaGlsZHJlbi5pdGVtKDApO1xyXG4gICAgLy8gbWFnaWMgbnVtYmVyIDM3IGlzIHRoZSBoZWlnaHQgb2YgdGhlIGJvdHRvbS1iYXIgd2l0aCBuYXZpZ2F0aW9uIGJldHdlZW4gcGFnZXNcclxuICAgIHRoaXMuZG9jLnN0eWxlLmhlaWdodCA9IHRoaXMucGFuem9vbS5zY3JvbGxIZWlnaHQgKyAzNyArIFwicHhcIjtcclxuICB9XHJcblxyXG4gIHNlbGVjdFNoZWV0KG51bWJlcil7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSBudW1iZXI7XHJcbiAgfVxyXG5cclxuICBnZXRTaGVldE5hbWUocGFnZSkge1xyXG4gICAgcmV0dXJuIHBhZ2Uuc2hlZXROYW1lID8gcGFnZS5zaGVldE5hbWUgOiBcIlNoZWV0IFwiICsgcGFnZS5udW1iZXI7XHJcbiAgfVxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsWUFBWSxFQUFFLFNBQVMsRUFBaUIsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU8saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFReEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjs7Ozs7Ozs7SUFRM0QsWUFBWSxXQUFvQyxFQUNwQyxXQUF3QixFQUN4QixhQUE0QixFQUM1QixlQUFnQyxFQUN4QixRQUFtQjtRQUNyQyxLQUFLLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFEOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVJ2QyxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBRUwsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBUW5ELElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO0lBQ3pDLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQzs7OztJQUVELGVBQWU7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MkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIEFmdGVyVmlld0luaXQsIFJlbmRlcmVyMiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9kb2N1bWVudC9kb2N1bWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vd2luZG93LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0ZVNlcnZpY2UgfSBmcm9tICcuLi9uYXZpZ2F0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWm9vbVNlcnZpY2UgfSBmcm9tICAnLi4vem9vbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXhjZWxQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhZ2VNb2RlbCB9IGZyb20gJy4uL2ZpbGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dkLWV4Y2VsLWRvY3VtZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeGNlbERvY3VtZW50Q29tcG9uZW50IGV4dGVuZHMgRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQgIHtcclxuICBAVmlld0NoaWxkcmVuKEV4Y2VsUGFnZUNvbXBvbmVudCkgcGFnZXM6IFF1ZXJ5TGlzdDxFeGNlbFBhZ2VDb21wb25lbnQ+OyBcclxuICBcclxuICBjdXJyZW50UGFnZU5vOiBudW1iZXI7XHJcbiAgcGFuem9vbSA9IG51bGw7XHJcbiAgbmF2aWdhdGVTZXJ2aWNlOiBOYXZpZ2F0ZVNlcnZpY2U7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkU2hlZXQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgICAgICAgIHpvb21TZXJ2aWNlOiBab29tU2VydmljZSxcclxuICAgICAgICAgICAgICB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIG5hdmlnYXRlU2VydmljZTogTmF2aWdhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIHpvb21TZXJ2aWNlLCB3aW5kb3dTZXJ2aWNlLCBuYXZpZ2F0ZVNlcnZpY2UpO1xyXG4gICAgdGhpcy5uYXZpZ2F0ZVNlcnZpY2UgPSBuYXZpZ2F0ZVNlcnZpY2U7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZU5vID0gMTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMucmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCk7XHJcbiAgICB0aGlzLnBhZ2VzLmNoYW5nZXMuc3Vic2NyaWJlKCgpPT57XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoRXhjZWxEb2NIZWlnaHQoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubmF2aWdhdGVTZXJ2aWNlLm5hdmlnYXRlLnN1YnNjcmliZShcclxuICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgdGhpcy5zZWxlY3RTaGVldCh2YWx1ZSk7XHJcbiAgICAgICB9XHJcbiAgICAgfSk7XHJcblxyXG4gICAgY29uc3Qgc2Nyb2xsYmFyV2lkdGggPSB0aGlzLmdldFNjcm9sbEJhcldpZHRoKCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2hlZXRzJyksICdyaWdodCcsIHRoaXMuZ2V0U2Nyb2xsQmFyV2lkdGgoKSArICdweCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNoZWV0cycpLCAnYm90dG9tJywgdGhpcy5nZXRTY3JvbGxCYXJXaWR0aCgpICsgJ3B4Jyk7XHJcbiAgICBpZiAoc2Nyb2xsYmFyV2lkdGggPT09IDApIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNoZWV0cycpLCAncGFkZGluZy1yaWdodCcsICcxN3B4Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTY3JvbGxCYXJXaWR0aCgpIHtcclxuICAgIGNvbnN0IGRvY3VtZW50Qm94ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmdkLWRvY3VtZW50JykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb25zdCBzY3JvbGxiYXJXaWR0aCA9IGRvY3VtZW50Qm94Lm9mZnNldFdpZHRoIC0gZG9jdW1lbnRCb3guY2xpZW50V2lkdGg7XHJcbiAgICByZXR1cm4gc2Nyb2xsYmFyV2lkdGg7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoRXhjZWxEb2NIZWlnaHQoKSB7XHJcbiAgICAvLyBGb3IgY3VycmVudCBpdGVyYXRpb24gd2UnbGwgY2hhbmdlIGFjdHVhbCBoZWlnaHQgb2YgLmRvY3VtZW50XHJcbiAgICB0aGlzLmRvYyA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApO1xyXG4gICAgdGhpcy5wYW56b29tID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCkuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIC8vIG1hZ2ljIG51bWJlciAzNyBpcyB0aGUgaGVpZ2h0IG9mIHRoZSBib3R0b20tYmFyIHdpdGggbmF2aWdhdGlvbiBiZXR3ZWVuIHBhZ2VzXHJcbiAgICB0aGlzLmRvYy5zdHlsZS5oZWlnaHQgPSB0aGlzLnBhbnpvb20uc2Nyb2xsSGVpZ2h0ICsgMzcgKyBcInB4XCI7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RTaGVldChudW1iZXIpe1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZU5vID0gbnVtYmVyO1xyXG4gICAgdGhpcy5zZWxlY3RlZFNoZWV0LmVtaXQobnVtYmVyKTtcclxuICB9XHJcblxyXG4gIGdldFNoZWV0TmFtZShwYWdlKSB7XHJcbiAgICByZXR1cm4gcGFnZS5zaGVldE5hbWUgPyBwYWdlLnNoZWV0TmFtZSA6IFwiU2hlZXQgXCIgKyBwYWdlLm51bWJlcjtcclxuICB9XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/dist/libs/common-components/esm2015/lib/file.service.js b/dist/libs/common-components/esm2015/lib/file.service.js index 70c858768..23ee3700a 100644 --- a/dist/libs/common-components/esm2015/lib/file.service.js +++ b/dist/libs/common-components/esm2015/lib/file.service.js @@ -47,15 +47,19 @@ export class SaveFile extends FileCredentials { * @param {?} guid * @param {?} password * @param {?} content + * @param {?} pageNumber */ - constructor(guid, password, content) { + constructor(guid, password, content, pageNumber) { super(guid, password); this.content = content; + this.pageNumber = pageNumber; } } if (false) { /** @type {?} */ SaveFile.prototype.content; + /** @type {?} */ + SaveFile.prototype.pageNumber; } export class FileDescription { constructor() { @@ -315,4 +319,4 @@ export class FileService { constructor() { } } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsTUFBTSxPQUFPLFNBQVM7Q0FPckI7OztJQU5DLHlCQUFhOztJQUNiLDBCQUFjOztJQUNkLDBCQUFjOztJQUNkLDJCQUFlOztJQUNmLDJCQUFlOztJQUNmLDZCQUFrQjs7QUFHcEIsTUFBTSxPQUFPLFdBQVc7Q0FHdkI7OztJQUZDLGlDQUFtQjs7SUFDbkIsNEJBQWM7O0FBR2hCLE1BQU0sT0FBTyxlQUFlOzs7OztJQUkxQixZQUFZLElBQVksRUFBRSxRQUFnQjtRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0NBQ0Y7OztJQVBDLCtCQUFhOztJQUNiLG1DQUFpQjs7QUFRbkIsTUFBTSxPQUFPLFFBQVMsU0FBUSxlQUFlOzs7Ozs7SUFHM0MsWUFBWSxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxPQUFlO1FBQ3pELEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztDQUNGOzs7SUFOQywyQkFBZ0I7O0FBUWxCLE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBR0UsaUJBQVksR0FBRyxJQUFJLENBQUM7SUFHdEIsQ0FBQztDQUFBOzs7SUFMQywrQkFBYTs7SUFDYixnQ0FBbUI7O0lBQ25CLHVDQUFvQjs7SUFDcEIsd0NBQXVCOztJQUN2QixxQ0FBd0I7O0FBRzFCLE1BQU0sT0FBTyxTQUFTO0NBTXJCOzs7SUFMQyx5QkFBYTs7SUFDYix5QkFBYTs7SUFDYiw4QkFBbUI7O0lBQ25CLHlCQUFhOztJQUNiLGdDQUFxQjs7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QVEsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDO0NBQ3RFLENBQUM7OztJQTNFRixhQTJFRTs7QUFpQkosTUFBTSxPQUFPLFdBQVc7SUFFdEI7SUFDQSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUGFnZU1vZGVsIHtcbiAgZGF0YTogc3RyaW5nO1xuICBhbmdsZTogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgbnVtYmVyOiBudW1iZXI7XG4gIGVkaXRhYmxlOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgUm90YXRlZFBhZ2Uge1xuICBwYWdlTnVtYmVyOiBudW1iZXI7XG4gIGFuZ2xlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBGaWxlQ3JlZGVudGlhbHMge1xuICBndWlkOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoZ3VpZDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5ndWlkID0gZ3VpZDtcbiAgICB0aGlzLnBhc3N3b3JkID0gcGFzc3dvcmQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNhdmVGaWxlIGV4dGVuZHMgRmlsZUNyZWRlbnRpYWxzIHtcbiAgY29udGVudDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGd1aWQ6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZywgY29udGVudDogc3RyaW5nKSB7XG4gICAgc3VwZXIoZ3VpZCwgcGFzc3dvcmQpO1xuICAgIHRoaXMuY29udGVudCA9IGNvbnRlbnQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZpbGVEZXNjcmlwdGlvbiB7XG4gIGd1aWQ6IHN0cmluZztcbiAgcGFnZXM6IFBhZ2VNb2RlbFtdO1xuICBwcmludEFsbG93ZWQgPSB0cnVlO1xuICBzaG93R3JpZExpbmVzOiBib29sZWFuO1xuICB0aHVtYm5haWxzOiBQYWdlTW9kZWxbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEZpbGVNb2RlbCB7XG4gIGd1aWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkaXJlY3Rvcnk6IGJvb2xlYW47XG4gIHNpemU6IG51bWJlcjtcbiAgaXNEaXJlY3Rvcnk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3Ige1xuICBzdGF0aWMgQmFkUmVxdWVzdCA9IDQwMDtcbiAgc3RhdGljIFVuYXV0aG9yaXplZCA9IDQwMTtcbiAgc3RhdGljIEZvcmJpZGRlbiA9IDQwMztcbiAgc3RhdGljIE5vdEZvdW5kID0gNDA0O1xuICBzdGF0aWMgVGltZU91dCA9IDQwODtcbiAgc3RhdGljIENvbmZsaWN0ID0gNDA5O1xuICBzdGF0aWMgSW50ZXJuYWxTZXJ2ZXJFcnJvciA9IDUwMDtcbn1cblxuZXhwb3J0IGNsYXNzIFV0aWxzIHtcbiAgcHVibGljIHN0YXRpYyBnZXRNb3VzZVBvc2l0aW9uKGV2ZW50KSB7XG4gICAgY29uc3QgbW91c2UgPSB7XG4gICAgICB4OiAwLFxuICAgICAgeTogMFxuICAgIH07XG4gICAgY29uc3Qgd0V2ZW50OiBEcmFnRXZlbnQgPSA8RHJhZ0V2ZW50PndpbmRvdy5ldmVudDtcbiAgICBjb25zdCBldiA9IGV2ZW50IHx8IHdFdmVudDsgLy9Nb3ogfHwgSUVcbiAgICBpZiAoZXYucGFnZVggfHwgd0V2ZW50LnBhZ2VYIHx8IHdFdmVudC5zY3JlZW5YIHx8IChldi50b3VjaGVzICYmIGV2LnRvdWNoZXNbMF0gJiYgZXYudG91Y2hlc1swXS5wYWdlWCkpIHsgLy9Nb3pcbiAgICAgIGNvbnN0IHBhZ2VYID0gdHlwZW9mIGV2LnBhZ2VYICE9PSBcInVuZGVmaW5lZFwiICYmIGV2LnBhZ2VYICE9PSAwID8gZXYucGFnZVggOiB3RXZlbnQucGFnZVg7XG4gICAgICBjb25zdCBwYWdlWSA9IHR5cGVvZiBldi5wYWdlWSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBldi5wYWdlWSAhPT0gMCA/IGV2LnBhZ2VZIDogd0V2ZW50LnBhZ2VZO1xuICAgICAgY29uc3Qgc2NyZWVuWCA9IHR5cGVvZiB3RXZlbnQuc2NyZWVuWCAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3RXZlbnQuc2NyZWVuWSAhPT0gMDtcbiAgICAgIGNvbnN0IHNjcmVlblkgPSB0eXBlb2Ygd0V2ZW50LnNjcmVlblkgIT09IFwidW5kZWZpbmVkXCIgJiYgd0V2ZW50LnNjcmVlblkgIT09IDA7XG4gICAgICBtb3VzZS54ID0gcGFnZVggPyBwYWdlWCA6IChzY3JlZW5YID8gd0V2ZW50LnNjcmVlblggOiBldi50b3VjaGVzWzBdLnBhZ2VYKTtcbiAgICAgIG1vdXNlLnkgPSBwYWdlWSA/IHBhZ2VZIDogKHNjcmVlblkgPyB3RXZlbnQuc2NyZWVuWSA6IGV2LnRvdWNoZXNbMF0ucGFnZVkpO1xuICAgIH0gZWxzZSBpZiAoZXYuY2xpZW50WCkgeyAvL0lFXG4gICAgICBtb3VzZS54ID0gZXYuY2xpZW50WCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdDtcbiAgICAgIG1vdXNlLnkgPSBldi5jbGllbnRZICsgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7XG4gICAgfVxuICAgIHJldHVybiBtb3VzZTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9SZ2IoY29sb3I6IHN0cmluZykge1xuICAgIGNvbnN0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkkL2kuZXhlYyhjb2xvcik7XG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgY29uc3QgciA9IHBhcnNlSW50KHJlc3VsdFsxXSwgMTYpO1xuICAgICAgY29uc3QgZyA9IHBhcnNlSW50KHJlc3VsdFsyXSwgMTYpO1xuICAgICAgY29uc3QgYiA9IHBhcnNlSW50KHJlc3VsdFszXSwgMTYpO1xuICAgICAgcmV0dXJuIHJlc3VsdCA/ICdyZ2IoJyArIHIgKyAnLCcgKyBnICsgJywnICsgYiArICcpJyA6ICcnO1xuICAgIH1cbiAgICByZXR1cm4gY29sb3I7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvSGV4KGNvbG9yOiBzdHJpbmcpIHtcbiAgICAvLyBjaGVjayBpZiBjb2xvciBpcyBzdGFuZGFyZCBoZXggdmFsdWVcbiAgICBpZiAoY29sb3IubWF0Y2goL1swLTlBLUZdezZ9fFswLTlBLUZdezN9JC9pKSkge1xuICAgICAgcmV0dXJuIChjb2xvci5jaGFyQXQoMCkgPT09IFwiI1wiKSA/IGNvbG9yIDogKFwiI1wiICsgY29sb3IpO1xuICAgICAgLy8gY2hlY2sgaWYgY29sb3IgaXMgUkdCIHZhbHVlIC0+IGNvbnZlcnQgdG8gaGV4XG4gICAgfSBlbHNlIGlmIChjb2xvci5tYXRjaCgvXnJnYlxcKFxccyooXFxkezEsM30pXFxzKixcXHMqKFxcZHsxLDN9KVxccyosXFxzKihcXGR7MSwzfSlcXHMqXFwpJC8pKSB7XG4gICAgICBjb25zdCBjID0gKFtwYXJzZUludChSZWdFeHAuJDEsIDEwKSwgcGFyc2VJbnQoUmVnRXhwLiQyLCAxMCksIHBhcnNlSW50KFJlZ0V4cC4kMywgMTApXSksXG4gICAgICAgIHBhZCA9IGZ1bmN0aW9uIChzdHIpIHtcbiAgICAgICAgICBpZiAoc3RyLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSAyIC0gc3RyLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICAgIHN0ciA9ICcwJyArIHN0cjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHN0cjtcbiAgICAgICAgfTtcbiAgICAgIGlmIChjLmxlbmd0aCA9PT0gMykge1xuICAgICAgICBjb25zdCByID0gcGFkKGNbMF0udG9TdHJpbmcoMTYpKSxcbiAgICAgICAgICBnID0gcGFkKGNbMV0udG9TdHJpbmcoMTYpKSxcbiAgICAgICAgICBiID0gcGFkKGNbMl0udG9TdHJpbmcoMTYpKTtcbiAgICAgICAgcmV0dXJuICcjJyArIHIgKyBnICsgYjtcbiAgICAgIH1cbiAgICAgIC8vIGVsc2UgZG8gbm90aGluZ1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWxlVXRpbCB7XG4gIHB1YmxpYyBzdGF0aWMgbWFwID0ge1xuICAgICdmb2xkZXInOiB7J2Zvcm1hdCc6ICcnLCAnaWNvbic6ICdmb2xkZXInfSxcbiAgICAncGRmJzogeydmb3JtYXQnOiAnUG9ydGFibGUgRG9jdW1lbnQgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1wZGYnLCAndW5pdCc6ICdwdCd9LFxuICAgICdkb2MnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgV29yZCcsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ2RvY3gnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgV29yZCcsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ2RvY20nOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgV29yZCcsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ2RvdCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBXb3JkJywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcbiAgICAnZG90eCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBXb3JkJywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcbiAgICAnZG90bSc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBXb3JkJywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcbiAgICAneGxzJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IEV4Y2VsJywgJ2ljb24nOiAnZmlsZS1leGNlbCcsICd1bml0JzogJ3B4J30sXG4gICAgJ3hsc3gnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgRXhjZWwnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcbiAgICAneGxzbSc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBFeGNlbCcsICdpY29uJzogJ2ZpbGUtZXhjZWwnLCAndW5pdCc6ICdweCd9LFxuICAgICd4bHNiJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IEV4Y2VsJywgJ2ljb24nOiAnZmlsZS1leGNlbCcsICd1bml0JzogJ3B4J30sXG4gICAgJ3hsczIwMDMnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgRXhjZWwnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcbiAgICAneGx0eCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBFeGNlbCcsICdpY29uJzogJ2ZpbGUtZXhjZWwnLCAndW5pdCc6ICdweCd9LFxuICAgICd4bHRtJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IEV4Y2VsJywgJ2ljb24nOiAnZmlsZS1leGNlbCcsICd1bml0JzogJ3B4J30sXG4gICAgJ3BwdCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQb3dlclBvaW50JywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcbiAgICAncHB0eCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQb3dlclBvaW50JywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcbiAgICAncHBzJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFBvd2VyUG9pbnQnLCAnaWNvbic6ICdmaWxlLXBvd2VycG9pbnQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdwcHN4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFBvd2VyUG9pbnQnLCAnaWNvbic6ICdmaWxlLXBvd2VycG9pbnQnLCAndW5pdCc6ICdwdCd9LFxuICAgICd2c2QnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxuICAgICd2ZHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxuICAgICd2c3MnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxuICAgICd2c3gnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxuICAgICd2c3QnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxuICAgICd2dHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxuICAgICd2c2R4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAndmR3Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAndnN0eCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBWaXNpbycsICdpY29uJzogJ2ZpbGUtY29kZScsICd1bml0JzogJ3B4J30sXG4gICAgJ3Zzc3gnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxuICAgICdtcHAnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgUHJvamVjdCcsICdpY29uJzogJ2ZpbGUtYWx0JywgJ3VuaXQnOiAncHQnfSxcbiAgICAnbXB0Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFByb2plY3QnLCAnaWNvbic6ICdmaWxlLWFsdCcsICd1bml0JzogJ3B0J30sXG4gICAgJ21zZyc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBPdXRsb29rJywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdlbWwnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgT3V0bG9vaycsICdpY29uJzogJ2ZpbGUtYWx0JywgJ3VuaXQnOiAncHQnfSxcbiAgICAnZW1seCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBPdXRsb29rJywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdvbmUnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgT25lTm90ZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ29kdCc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgVGV4dCcsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ290dCc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgVGV4dCBUZW1wbGF0ZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ29kcyc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgU3ByZWFkc2hlZXQnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcbiAgICAnb2RwJzogeydmb3JtYXQnOiAnT3BlbiBEb2N1bWVudCBQcmVzZW50YXRpb24nLCAnaWNvbic6ICdmaWxlLXBvd2VycG9pbnQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdvdHAnOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFByZXNlbnRhdGlvbicsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXG4gICAgJ290cyc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgUHJlc2VudGF0aW9uJywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcbiAgICAncG90eCc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgUHJlc2VudGF0aW9uJywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcbiAgICAncG90bSc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgUHJlc2VudGF0aW9uJywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcbiAgICAncHB0bSc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgUHJlc2VudGF0aW9uJywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcbiAgICAncHBzbSc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgUHJlc2VudGF0aW9uJywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcbiAgICAncnRmJzogeydmb3JtYXQnOiAnUmljaCBUZXh0IEZvcm1hdCcsICdpY29uJzogJ2ZpbGUtYWx0JywgJ3VuaXQnOiAncHQnfSxcbiAgICAndHh0Jzogeydmb3JtYXQnOiAnUGxhaW4gVGV4dCBGaWxlJywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdjc3YnOiB7J2Zvcm1hdCc6ICdDb21tYS1TZXBhcmF0ZWQgVmFsdWVzJywgJ2ljb24nOiAnZmlsZS1leGNlbCcsICd1bml0JzogJ3B4J30sXG4gICAgJ2h0bWwnOiB7J2Zvcm1hdCc6ICdIeXBlclRleHQgTWFya3VwIExhbmd1YWdlJywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcbiAgICAnbWh0Jzogeydmb3JtYXQnOiAnSHlwZXJUZXh0IE1hcmt1cCBMYW5ndWFnZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ21odG1sJzogeydmb3JtYXQnOiAnSHlwZXJUZXh0IE1hcmt1cCBMYW5ndWFnZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ3htbCc6IHsnZm9ybWF0JzogJ0V4dGVuc2libGUgTWFya3VwIExhbmd1YWdlJywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcbiAgICAneHBzJzogeydmb3JtYXQnOiAnWE1MIFBhcGVyIFNwZWNpZmljYXRpb24nLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdkeGYnOiB7J2Zvcm1hdCc6ICdBdXRvQ0FEIERyYXdpbmcgRmlsZSBGb3JtYXQnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAnZHdnJzogeydmb3JtYXQnOiAnQXV0b0NBRCBEcmF3aW5nIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXG4gICAgJ2JtcCc6IHsnZm9ybWF0JzogJ0JpdG1hcCBQaWN0dXJlJywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXG4gICAgJ2dpZic6IHsnZm9ybWF0JzogJ0dyYXBoaWNzIEludGVyY2hhbmdlIEZvcm1hdCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxuICAgICdqcGcnOiB7J2Zvcm1hdCc6ICdKb2ludCBQaG90b2dyYXBoaWMgRXhwZXJ0cyBHcm91cCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxuICAgICdqcGUnOiB7J2Zvcm1hdCc6ICdKb2ludCBQaG90b2dyYXBoaWMgRXhwZXJ0cyBHcm91cCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxuICAgICdqcGVnJzogeydmb3JtYXQnOiAnSm9pbnQgUGhvdG9ncmFwaGljIEV4cGVydHMgR3JvdXAnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAnamZpZic6IHsnZm9ybWF0JzogJ0pvaW50IFBob3RvZ3JhcGhpYyBFeHBlcnRzIEdyb3VwJywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXG4gICAgJ3BuZyc6IHsnZm9ybWF0JzogJ1BvcnRhYmxlIE5ldHdvcmsgR3JhcGhpY3MnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAndGlmZic6IHsnZm9ybWF0JzogJ1RhZ2dlZCBJbWFnZSBGaWxlIEZvcm1hdCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxuICAgICd0aWYnOiB7J2Zvcm1hdCc6ICdUYWdnZWQgSW1hZ2UgRmlsZSBGb3JtYXQnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAncHNkJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXG4gICAgJ3N2Zyc6IHsnZm9ybWF0JzogJ1RhZ2dlZCBJbWFnZSBGaWxlIEZvcm1hdCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxuICAgICdqcDInOiB7J2Zvcm1hdCc6ICdUYWdnZWQgSW1hZ2UgRmlsZSBGb3JtYXQnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAnZXB1Yic6IHsnZm9ybWF0JzogJ0VsZWN0cm9uaWMgUHVibGljYXRpb24nLCAnaWNvbic6ICdmaWxlLXBkZicsICd1bml0JzogJ3B0J30sXG4gICAgJ2ljbyc6IHsnZm9ybWF0JzogJ1dpbmRvd3MgSWNvbicsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxuICAgICd3ZWJwJzogeydmb3JtYXQnOiAnQ29tcHJlc3NlZCBJbWFnZScsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxuICAgICdtb2JpJzogeydmb3JtYXQnOiAnTW9iaXBvY2tldCBlQm9vaycsICdpY29uJzogJ2ZpbGUtcGRmJywgJ3VuaXQnOiAncHQnfSxcbiAgICAndGV4Jzogeydmb3JtYXQnOiAnTGFUZVggU291cmNlIERvY3VtZW50JywgJ2ljb24nOiAnZmlsZS1wZGYnLCAndW5pdCc6ICdwdCd9LFxuICAgICdkanZ1Jzogeydmb3JtYXQnOiAnTXVsdGktTGF5ZXIgUmFzdGVyIEltYWdlJywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxuICAgICd1bmtub3duJzogeydmb3JtYXQnOiAnVGhpcyBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZCcsICdpY29uJzogJ2ZpbGUnfSxcbiAgfTtcblxuICBwdWJsaWMgc3RhdGljIGZpbmQoZmlsZW5hbWU6IHN0cmluZywgaXNEaXJlY3Rvcnk6IGJvb2xlYW4pIHtcbiAgICBpZiAoZmlsZW5hbWUgJiYgIWlzRGlyZWN0b3J5KSB7XG4gICAgICBjb25zdCBzdHJpbmdzID0gZmlsZW5hbWUuc3BsaXQoJy4nKTtcbiAgICAgIGNvbnN0IG5hbWUgPSBzdHJpbmdzLnBvcCgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAodHlwZW9mIEZpbGVVdGlsLm1hcFtuYW1lXSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4gc3RyaW5ncy5sZW5ndGggPiAwID8gRmlsZVV0aWwubWFwWyd1bmtub3duJ10gOiBGaWxlVXRpbC5tYXBbJ2ZvbGRlciddO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIEZpbGVVdGlsLm1hcFtuYW1lXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEZpbGVVdGlsLm1hcFsnZm9sZGVyJ107XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWxlU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsTUFBTSxPQUFPLFNBQVM7Q0FPckI7OztJQU5DLHlCQUFhOztJQUNiLDBCQUFjOztJQUNkLDBCQUFjOztJQUNkLDJCQUFlOztJQUNmLDJCQUFlOztJQUNmLDZCQUFrQjs7QUFHcEIsTUFBTSxPQUFPLFdBQVc7Q0FHdkI7OztJQUZDLGlDQUFtQjs7SUFDbkIsNEJBQWM7O0FBR2hCLE1BQU0sT0FBTyxlQUFlOzs7OztJQUkxQixZQUFZLElBQVksRUFBRSxRQUFnQjtRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0NBQ0Y7OztJQVBDLCtCQUFhOztJQUNiLG1DQUFpQjs7QUFRbkIsTUFBTSxPQUFPLFFBQVMsU0FBUSxlQUFlOzs7Ozs7O0lBSTNDLFlBQVksSUFBWSxFQUFFLFFBQWdCLEVBQUUsT0FBZSxFQUFFLFVBQWtCO1FBQzdFLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztDQUNGOzs7SUFSQywyQkFBZ0I7O0lBQ2hCLDhCQUFtQjs7QUFTckIsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFHRSxpQkFBWSxHQUFHLElBQUksQ0FBQztJQUd0QixDQUFDO0NBQUE7OztJQUxDLCtCQUFhOztJQUNiLGdDQUFtQjs7SUFDbkIsdUNBQW9COztJQUNwQix3Q0FBdUI7O0lBQ3ZCLHFDQUF3Qjs7QUFHMUIsTUFBTSxPQUFPLFNBQVM7Q0FNckI7OztJ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QUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7SUFDaEYsU0FBUyxFQUFFLEVBQUMsUUFBUSxFQUFFLDhCQUE4QixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUM7Q0FDdEUsQ0FBQzs7O0lBM0VGLGFBMkVFOztBQWlCSixNQUFNLE9BQU8sV0FBVztJQUV0QjtJQUNBLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBQYWdlTW9kZWwge1xyXG4gIGRhdGE6IHN0cmluZztcclxuICBhbmdsZTogbnVtYmVyO1xyXG4gIHdpZHRoOiBudW1iZXI7XHJcbiAgaGVpZ2h0OiBudW1iZXI7XHJcbiAgbnVtYmVyOiBudW1iZXI7XHJcbiAgZWRpdGFibGU6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSb3RhdGVkUGFnZSB7XHJcbiAgcGFnZU51bWJlcjogbnVtYmVyO1xyXG4gIGFuZ2xlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlQ3JlZGVudGlhbHMge1xyXG4gIGd1aWQ6IHN0cmluZztcclxuICBwYXNzd29yZDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihndWlkOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZ3VpZCA9IGd1aWQ7XHJcbiAgICB0aGlzLnBhc3N3b3JkID0gcGFzc3dvcmQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZUZpbGUgZXh0ZW5kcyBGaWxlQ3JlZGVudGlhbHMge1xyXG4gIGNvbnRlbnQ6IHN0cmluZztcclxuICBwYWdlTnVtYmVyOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGd1aWQ6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZywgY29udGVudDogc3RyaW5nLCBwYWdlTnVtYmVyOiBudW1iZXIpIHtcclxuICAgIHN1cGVyKGd1aWQsIHBhc3N3b3JkKTtcclxuICAgIHRoaXMuY29udGVudCA9IGNvbnRlbnQ7XHJcbiAgICB0aGlzLnBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZpbGVEZXNjcmlwdGlvbiB7XHJcbiAgZ3VpZDogc3RyaW5nO1xyXG4gIHBhZ2VzOiBQYWdlTW9kZWxbXTtcclxuICBwcmludEFsbG93ZWQgPSB0cnVlO1xyXG4gIHNob3dHcmlkTGluZXM6IGJvb2xlYW47XHJcbiAgdGh1bWJuYWlsczogUGFnZU1vZGVsW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlTW9kZWwge1xyXG4gIGd1aWQ6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGlyZWN0b3J5OiBib29sZWFuO1xyXG4gIHNpemU6IG51bWJlcjtcclxuICBpc0RpcmVjdG9yeTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEh0dHBFcnJvciB7XHJcbiAgc3RhdGljIEJhZFJlcXVlc3QgPSA0MDA7XHJcbiAgc3RhdGljIFVuYXV0aG9yaXplZCA9IDQwMTtcclxuICBzdGF0aWMgRm9yYmlkZGVuID0gNDAzO1xyXG4gIHN0YXRpYyBOb3RGb3VuZCA9IDQwNDtcclxuICBzdGF0aWMgVGltZU91dCA9IDQwODtcclxuICBzdGF0aWMgQ29uZmxpY3QgPSA0MDk7XHJcbiAgc3RhdGljIEludGVybmFsU2VydmVyRXJyb3IgPSA1MDA7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBVdGlscyB7XHJcbiAgcHVibGljIHN0YXRpYyBnZXRNb3VzZVBvc2l0aW9uKGV2ZW50KSB7XHJcbiAgICBjb25zdCBtb3VzZSA9IHtcclxuICAgICAgeDogMCxcclxuICAgICAgeTogMFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHdFdmVudDogRHJhZ0V2ZW50ID0gPERyYWdFdmVudD53aW5kb3cuZXZlbnQ7XHJcbiAgICBjb25zdCBldiA9IGV2ZW50IHx8IHdFdmVudDsgLy9Nb3ogfHwgSUVcclxuICAgIGlmIChldi5wYWdlWCB8fCB3RXZlbnQucGFnZVggfHwgd0V2ZW50LnNjcmVlblggfHwgKGV2LnRvdWNoZXMgJiYgZXYudG91Y2hlc1swXSAmJiBldi50b3VjaGVzWzBdLnBhZ2VYKSkgeyAvL01velxyXG4gICAgICBjb25zdCBwYWdlWCA9IHR5cGVvZiBldi5wYWdlWCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBldi5wYWdlWCAhPT0gMCA/IGV2LnBhZ2VYIDogd0V2ZW50LnBhZ2VYO1xyXG4gICAgICBjb25zdCBwYWdlWSA9IHR5cGVvZiBldi5wYWdlWSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBldi5wYWdlWSAhPT0gMCA/IGV2LnBhZ2VZIDogd0V2ZW50LnBhZ2VZO1xyXG4gICAgICBjb25zdCBzY3JlZW5YID0gdHlwZW9mIHdFdmVudC5zY3JlZW5YICE9PSBcInVuZGVmaW5lZFwiICYmIHdFdmVudC5zY3JlZW5ZICE9PSAwO1xyXG4gICAgICBjb25zdCBzY3JlZW5ZID0gdHlwZW9mIHdFdmVudC5zY3JlZW5ZICE9PSBcInVuZGVmaW5lZFwiICYmIHdFdmVudC5zY3JlZW5ZICE9PSAwO1xyXG4gICAgICBtb3VzZS54ID0gcGFnZVggPyBwYWdlWCA6IChzY3JlZW5YID8gd0V2ZW50LnNjcmVlblggOiBldi50b3VjaGVzWzBdLnBhZ2VYKTtcclxuICAgICAgbW91c2UueSA9IHBhZ2VZID8gcGFnZVkgOiAoc2NyZWVuWSA/IHdFdmVudC5zY3JlZW5ZIDogZXYudG91Y2hlc1swXS5wYWdlWSk7XHJcbiAgICB9IGVsc2UgaWYgKGV2LmNsaWVudFgpIHsgLy9JRVxyXG4gICAgICBtb3VzZS54ID0gZXYuY2xpZW50WCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdDtcclxuICAgICAgbW91c2UueSA9IGV2LmNsaWVudFkgKyBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDtcclxuICAgIH1cclxuICAgIHJldHVybiBtb3VzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdG9SZ2IoY29sb3I6IHN0cmluZykge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gL14jPyhbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KSQvaS5leGVjKGNvbG9yKTtcclxuICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgY29uc3QgciA9IHBhcnNlSW50KHJlc3VsdFsxXSwgMTYpO1xyXG4gICAgICBjb25zdCBnID0gcGFyc2VJbnQocmVzdWx0WzJdLCAxNik7XHJcbiAgICAgIGNvbnN0IGIgPSBwYXJzZUludChyZXN1bHRbM10sIDE2KTtcclxuICAgICAgcmV0dXJuIHJlc3VsdCA/ICdyZ2IoJyArIHIgKyAnLCcgKyBnICsgJywnICsgYiArICcpJyA6ICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0b0hleChjb2xvcjogc3RyaW5nKSB7XHJcbiAgICAvLyBjaGVjayBpZiBjb2xvciBpcyBzdGFuZGFyZCBoZXggdmFsdWVcclxuICAgIGlmIChjb2xvci5tYXRjaCgvWzAtOUEtRl17Nn18WzAtOUEtRl17M30kL2kpKSB7XHJcbiAgICAgIHJldHVybiAoY29sb3IuY2hhckF0KDApID09PSBcIiNcIikgPyBjb2xvciA6IChcIiNcIiArIGNvbG9yKTtcclxuICAgICAgLy8gY2hlY2sgaWYgY29sb3IgaXMgUkdCIHZhbHVlIC0+IGNvbnZlcnQgdG8gaGV4XHJcbiAgICB9IGVsc2UgaWYgKGNvbG9yLm1hdGNoKC9ecmdiXFwoXFxzKihcXGR7MSwzfSlcXHMqLFxccyooXFxkezEsM30pXFxzKixcXHMqKFxcZHsxLDN9KVxccypcXCkkLykpIHtcclxuICAgICAgY29uc3QgYyA9IChbcGFyc2VJbnQoUmVnRXhwLiQxLCAxMCksIHBhcnNlSW50KFJlZ0V4cC4kMiwgMTApLCBwYXJzZUludChSZWdFeHAuJDMsIDEwKV0pLFxyXG4gICAgICAgIHBhZCA9IGZ1bmN0aW9uIChzdHIpIHtcclxuICAgICAgICAgIGlmIChzdHIubGVuZ3RoIDwgMikge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gMiAtIHN0ci5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgIHN0ciA9ICcwJyArIHN0cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgICAgICB9O1xyXG4gICAgICBpZiAoYy5sZW5ndGggPT09IDMpIHtcclxuICAgICAgICBjb25zdCByID0gcGFkKGNbMF0udG9TdHJpbmcoMTYpKSxcclxuICAgICAgICAgIGcgPSBwYWQoY1sxXS50b1N0cmluZygxNikpLFxyXG4gICAgICAgICAgYiA9IHBhZChjWzJdLnRvU3RyaW5nKDE2KSk7XHJcbiAgICAgICAgcmV0dXJuICcjJyArIHIgKyBnICsgYjtcclxuICAgICAgfVxyXG4gICAgICAvLyBlbHNlIGRvIG5vdGhpbmdcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXRpbCB7XHJcbiAgcHVibGljIHN0YXRpYyBtYXAgPSB7XHJcbiAgICAnZm9sZGVyJzogeydmb3JtYXQnOiAnJywgJ2ljb24nOiAnZm9sZGVyJ30sXHJcbiAgICAncGRmJzogeydmb3JtYXQnOiAnUG9ydGFibGUgRG9jdW1lbnQgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1wZGYnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2RvYyc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBXb3JkJywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcclxuICAgICdkb2N4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFdvcmQnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2RvY20nOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgV29yZCcsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAnZG90Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFdvcmQnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2RvdHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgV29yZCcsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAnZG90bSc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBXb3JkJywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcclxuICAgICd4bHMnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgRXhjZWwnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICd4bHN4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IEV4Y2VsJywgJ2ljb24nOiAnZmlsZS1leGNlbCcsICd1bml0JzogJ3B4J30sXHJcbiAgICAneGxzbSc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBFeGNlbCcsICdpY29uJzogJ2ZpbGUtZXhjZWwnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3hsc2InOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgRXhjZWwnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICd4bHMyMDAzJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IEV4Y2VsJywgJ2ljb24nOiAnZmlsZS1leGNlbCcsICd1bml0JzogJ3B4J30sXHJcbiAgICAneGx0eCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBFeGNlbCcsICdpY29uJzogJ2ZpbGUtZXhjZWwnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3hsdG0nOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgRXhjZWwnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICdwcHQnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgUG93ZXJQb2ludCcsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAncHB0eCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQb3dlclBvaW50JywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcclxuICAgICdwcHMnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgUG93ZXJQb2ludCcsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAncHBzeCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQb3dlclBvaW50JywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcclxuICAgICd2c2QnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3ZkeCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBWaXNpbycsICdpY29uJzogJ2ZpbGUtY29kZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAndnNzJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICd2c3gnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3ZzdCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBWaXNpbycsICdpY29uJzogJ2ZpbGUtY29kZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAndnR4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICd2c2R4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICd2ZHcnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3ZzdHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3Zzc3gnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ21wcCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQcm9qZWN0JywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ21wdCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQcm9qZWN0JywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ21zZyc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBPdXRsb29rJywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2VtbCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBPdXRsb29rJywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2VtbHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgT3V0bG9vaycsICdpY29uJzogJ2ZpbGUtYWx0JywgJ3VuaXQnOiAncHQnfSxcclxuICAgICdvbmUnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgT25lTm90ZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAnb2R0Jzogeydmb3JtYXQnOiAnT3BlbiBEb2N1bWVudCBUZXh0JywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcclxuICAgICdvdHQnOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFRleHQgVGVtcGxhdGUnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ29kcyc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgU3ByZWFkc2hlZXQnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICdvZHAnOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFByZXNlbnRhdGlvbicsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAnb3RwJzogeydmb3JtYXQnOiAnT3BlbiBEb2N1bWVudCBQcmVzZW50YXRpb24nLCAnaWNvbic6ICdmaWxlLXBvd2VycG9pbnQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ290cyc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgUHJlc2VudGF0aW9uJywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcclxuICAgICdwb3R4Jzogeydmb3JtYXQnOiAnT3BlbiBEb2N1bWVudCBQcmVzZW50YXRpb24nLCAnaWNvbic6ICdmaWxlLXBvd2VycG9pbnQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ3BvdG0nOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFByZXNlbnRhdGlvbicsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAncHB0bSc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgUHJlc2VudGF0aW9uJywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcclxuICAgICdwcHNtJzogeydmb3JtYXQnOiAnT3BlbiBEb2N1bWVudCBQcmVzZW50YXRpb24nLCAnaWNvbic6ICdmaWxlLXBvd2VycG9pbnQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ3J0Zic6IHsnZm9ybWF0JzogJ1JpY2ggVGV4dCBGb3JtYXQnLCAnaWNvbic6ICdmaWxlLWFsdCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAndHh0Jzogeydmb3JtYXQnOiAnUGxhaW4gVGV4dCBGaWxlJywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2Nzdic6IHsnZm9ybWF0JzogJ0NvbW1hLVNlcGFyYXRlZCBWYWx1ZXMnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICdodG1sJzogeydmb3JtYXQnOiAnSHlwZXJUZXh0IE1hcmt1cCBMYW5ndWFnZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAnbWh0Jzogeydmb3JtYXQnOiAnSHlwZXJUZXh0IE1hcmt1cCBMYW5ndWFnZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAnbWh0bWwnOiB7J2Zvcm1hdCc6ICdIeXBlclRleHQgTWFya3VwIExhbmd1YWdlJywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcclxuICAgICd4bWwnOiB7J2Zvcm1hdCc6ICdFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAneHBzJzogeydmb3JtYXQnOiAnWE1MIFBhcGVyIFNwZWNpZmljYXRpb24nLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2R4Zic6IHsnZm9ybWF0JzogJ0F1dG9DQUQgRHJhd2luZyBGaWxlIEZvcm1hdCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ2R3Zyc6IHsnZm9ybWF0JzogJ0F1dG9DQUQgRHJhd2luZyBGaWxlIEZvcm1hdCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ2JtcCc6IHsnZm9ybWF0JzogJ0JpdG1hcCBQaWN0dXJlJywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAnZ2lmJzogeydmb3JtYXQnOiAnR3JhcGhpY3MgSW50ZXJjaGFuZ2UgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAnanBnJzogeydmb3JtYXQnOiAnSm9pbnQgUGhvdG9ncmFwaGljIEV4cGVydHMgR3JvdXAnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICdqcGUnOiB7J2Zvcm1hdCc6ICdKb2ludCBQaG90b2dyYXBoaWMgRXhwZXJ0cyBHcm91cCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ2pwZWcnOiB7J2Zvcm1hdCc6ICdKb2ludCBQaG90b2dyYXBoaWMgRXhwZXJ0cyBHcm91cCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ2pmaWYnOiB7J2Zvcm1hdCc6ICdKb2ludCBQaG90b2dyYXBoaWMgRXhwZXJ0cyBHcm91cCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3BuZyc6IHsnZm9ybWF0JzogJ1BvcnRhYmxlIE5ldHdvcmsgR3JhcGhpY3MnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICd0aWZmJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAndGlmJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAncHNkJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAnc3ZnJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAnanAyJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAnZXB1Yic6IHsnZm9ybWF0JzogJ0VsZWN0cm9uaWMgUHVibGljYXRpb24nLCAnaWNvbic6ICdmaWxlLXBkZicsICd1bml0JzogJ3B0J30sXHJcbiAgICAnaWNvJzogeydmb3JtYXQnOiAnV2luZG93cyBJY29uJywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAnd2VicCc6IHsnZm9ybWF0JzogJ0NvbXByZXNzZWQgSW1hZ2UnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICdtb2JpJzogeydmb3JtYXQnOiAnTW9iaXBvY2tldCBlQm9vaycsICdpY29uJzogJ2ZpbGUtcGRmJywgJ3VuaXQnOiAncHQnfSxcclxuICAgICd0ZXgnOiB7J2Zvcm1hdCc6ICdMYVRlWCBTb3VyY2UgRG9jdW1lbnQnLCAnaWNvbic6ICdmaWxlLXBkZicsICd1bml0JzogJ3B0J30sXHJcbiAgICAnZGp2dSc6IHsnZm9ybWF0JzogJ011bHRpLUxheWVyIFJhc3RlciBJbWFnZScsICdpY29uJzogJ2ZpbGUtYWx0JywgJ3VuaXQnOiAncHQnfSxcclxuICAgICd1bmtub3duJzogeydmb3JtYXQnOiAnVGhpcyBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZCcsICdpY29uJzogJ2ZpbGUnfSxcclxuICB9O1xyXG5cclxuICBwdWJsaWMgc3RhdGljIGZpbmQoZmlsZW5hbWU6IHN0cmluZywgaXNEaXJlY3Rvcnk6IGJvb2xlYW4pIHtcclxuICAgIGlmIChmaWxlbmFtZSAmJiAhaXNEaXJlY3RvcnkpIHtcclxuICAgICAgY29uc3Qgc3RyaW5ncyA9IGZpbGVuYW1lLnNwbGl0KCcuJyk7XHJcbiAgICAgIGNvbnN0IG5hbWUgPSBzdHJpbmdzLnBvcCgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGlmICh0eXBlb2YgRmlsZVV0aWwubWFwW25hbWVdID09PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgICAgcmV0dXJuIHN0cmluZ3MubGVuZ3RoID4gMCA/IEZpbGVVdGlsLm1hcFsndW5rbm93biddIDogRmlsZVV0aWwubWFwWydmb2xkZXInXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gRmlsZVV0aWwubWFwW25hbWVdO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gRmlsZVV0aWwubWFwWydmb2xkZXInXTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js b/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js index fe2eeb7c8..95fb6af3f 100644 --- a/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js +++ b/dist/libs/common-components/esm5/lib/excel-document/excel-document.component.js @@ -3,7 +3,7 @@ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; -import { Component, ElementRef, ViewChildren, QueryList, Renderer2 } from '@angular/core'; +import { Component, ElementRef, ViewChildren, QueryList, Renderer2, Output, EventEmitter } from '@angular/core'; import { DocumentComponent } from '../document/document.component'; import { WindowService } from '../window.service'; import { NavigateService } from '../navigate.service'; @@ -15,6 +15,7 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { var _this = _super.call(this, _elementRef, zoomService, windowService, navigateService) || this; _this.renderer = renderer; _this.panzoom = null; + _this.selectedSheet = new EventEmitter(); _this.navigateService = navigateService; return _this; } @@ -95,6 +96,7 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { */ function (number) { this.currentPageNo = number; + this.selectedSheet.emit(number); }; /** * @param {?} page @@ -123,7 +125,8 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { { type: Renderer2 } ]; }; ExcelDocumentComponent.propDecorators = { - pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }] + pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }], + selectedSheet: [{ type: Output }] }; return ExcelDocumentComponent; }(DocumentComponent)); @@ -137,10 +140,12 @@ if (false) { ExcelDocumentComponent.prototype.panzoom; /** @type {?} */ ExcelDocumentComponent.prototype.navigateService; + /** @type {?} */ + ExcelDocumentComponent.prototype.selectedSheet; /** * @type {?} * @private */ ExcelDocumentComponent.prototype.renderer; } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFlBQVksRUFBRSxTQUFTLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTyxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd4RTtJQUs0QyxrREFBaUI7SUFPM0QsZ0NBQVksV0FBb0MsRUFDcEMsV0FBd0IsRUFDeEIsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDeEIsUUFBbUI7UUFKdkMsWUFLRSxrQkFBTSxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsU0FFaEU7UUFIbUIsY0FBUSxHQUFSLFFBQVEsQ0FBVztRQVB2QyxhQUFPLEdBQUcsSUFBSSxDQUFDO1FBU2IsS0FBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7O0lBQ3pDLENBQUM7Ozs7SUFFRCx5Q0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7O0lBRUQsZ0RBQWU7OztJQUFmO1FBQUEsaUJBbUJDO1FBbEJDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FB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LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlclZpZXdJbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9kb2N1bWVudC9kb2N1bWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vd2luZG93LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0ZVNlcnZpY2UgfSBmcm9tICcuLi9uYXZpZ2F0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWm9vbVNlcnZpY2UgfSBmcm9tICAnLi4vem9vbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXhjZWxQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhZ2VNb2RlbCB9IGZyb20gJy4uL2ZpbGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dkLWV4Y2VsLWRvY3VtZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeGNlbERvY3VtZW50Q29tcG9uZW50IGV4dGVuZHMgRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQgIHtcclxuICBAVmlld0NoaWxkcmVuKEV4Y2VsUGFnZUNvbXBvbmVudCkgcGFnZXM6IFF1ZXJ5TGlzdDxFeGNlbFBhZ2VDb21wb25lbnQ+OyBcclxuICBcclxuICBjdXJyZW50UGFnZU5vOiBudW1iZXI7XHJcbiAgcGFuem9vbSA9IG51bGw7XHJcbiAgbmF2aWdhdGVTZXJ2aWNlOiBOYXZpZ2F0ZVNlcnZpY2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgICAgICAgICAgICB6b29tU2VydmljZTogWm9vbVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgd2luZG93U2VydmljZTogV2luZG93U2VydmljZSxcclxuICAgICAgICAgICAgICBuYXZpZ2F0ZVNlcnZpY2U6IE5hdmlnYXRlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCB6b29tU2VydmljZSwgd2luZG93U2VydmljZSwgbmF2aWdhdGVTZXJ2aWNlKTtcclxuICAgIHRoaXMubmF2aWdhdGVTZXJ2aWNlID0gbmF2aWdhdGVTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IDE7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgdGhpcy5wYWdlcy5jaGFuZ2VzLnN1YnNjcmliZSgoKT0+e1xyXG4gICAgICAgIHRoaXMucmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm5hdmlnYXRlU2VydmljZS5uYXZpZ2F0ZS5zdWJzY3JpYmUoXHJcbiAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgIHRoaXMuc2VsZWN0U2hlZXQodmFsdWUpO1xyXG4gICAgICAgfVxyXG4gICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gdGhpcy5nZXRTY3JvbGxCYXJXaWR0aCgpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNoZWV0cycpLCAncmlnaHQnLCB0aGlzLmdldFNjcm9sbEJhcldpZHRoKCkgKyAncHgnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVldHMnKSwgJ2JvdHRvbScsIHRoaXMuZ2V0U2Nyb2xsQmFyV2lkdGgoKSArICdweCcpO1xyXG4gICAgaWYgKHNjcm9sbGJhcldpZHRoID09PSAwKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVldHMnKSwgJ3BhZGRpbmctcmlnaHQnLCAnMTdweCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0U2Nyb2xsQmFyV2lkdGgoKSB7XHJcbiAgICBjb25zdCBkb2N1bWVudEJveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5nZC1kb2N1bWVudCcpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29uc3Qgc2Nyb2xsYmFyV2lkdGggPSBkb2N1bWVudEJveC5vZmZzZXRXaWR0aCAtIGRvY3VtZW50Qm94LmNsaWVudFdpZHRoO1xyXG4gICAgcmV0dXJuIHNjcm9sbGJhcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaEV4Y2VsRG9jSGVpZ2h0KCkge1xyXG4gICAgLy8gRm9yIGN1cnJlbnQgaXRlcmF0aW9uIHdlJ2xsIGNoYW5nZSBhY3R1YWwgaGVpZ2h0IG9mIC5kb2N1bWVudFxyXG4gICAgdGhpcy5kb2MgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKTtcclxuICAgIHRoaXMucGFuem9vbSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApLmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICAvLyBtYWdpYyBudW1iZXIgMzcgaXMgdGhlIGhlaWdodCBvZiB0aGUgYm90dG9tLWJhciB3aXRoIG5hdmlnYXRpb24gYmV0d2VlbiBwYWdlc1xyXG4gICAgdGhpcy5kb2Muc3R5bGUuaGVpZ2h0ID0gdGhpcy5wYW56b29tLnNjcm9sbEhlaWdodCArIDM3ICsgXCJweFwiO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0U2hlZXQobnVtYmVyKXtcclxuICAgIHRoaXMuY3VycmVudFBhZ2VObyA9IG51bWJlcjtcclxuICB9XHJcblxyXG4gIGdldFNoZWV0TmFtZShwYWdlKSB7XHJcbiAgICByZXR1cm4gcGFnZS5zaGVldE5hbWUgPyBwYWdlLnNoZWV0TmFtZSA6IFwiU2hlZXQgXCIgKyBwYWdlLm51bWJlcjtcclxuICB9XHJcbn1cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFlBQVksRUFBRSxTQUFTLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFPLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR3hFO0lBSzRDLGtEQUFpQjtJQVEzRCxnQ0FBWSxXQUFvQyxFQUNwQyxXQUF3QixFQUN4QixhQUE0QixFQUM1QixlQUFnQyxFQUN4QixRQUFtQjtRQUp2QyxZQUtFLGtCQUFNLFdBQVcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxTQUVoRTtRQUhtQixjQUFRLEdBQVIsUUFBUSxDQUFXO1FBUnZDLGFBQU8sR0FBRyxJQUFJLENBQUM7UUFFTCxtQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFRbkQsS0FBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7O0lBQ3pDLENBQUM7Ozs7SUFFRCx5Q0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7O0lBRUQsZ0RBQWU7OztJQUFmO1FB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WSxzQkFBc0I7OztJQUNqQyx1Q0FBdUU7O0lBRXZFLCtDQUFzQjs7SUFDdEIseUNBQWU7O0lBQ2YsaURBQWlDOztJQUNqQywrQ0FBcUQ7Ozs7O0lBTXpDLDBDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3SW5pdCwgUmVuZGVyZXIyLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb2N1bWVudENvbXBvbmVudCB9IGZyb20gJy4uL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi93aW5kb3cuc2VydmljZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRlU2VydmljZSB9IGZyb20gJy4uL25hdmlnYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBab29tU2VydmljZSB9IGZyb20gICcuLi96b29tLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFeGNlbFBhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9leGNlbC1wYWdlL2V4Y2VsLXBhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZU1vZGVsIH0gZnJvbSAnLi4vZmlsZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ2QtZXhjZWwtZG9jdW1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leGNlbC1kb2N1bWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4Y2VsRG9jdW1lbnRDb21wb25lbnQgZXh0ZW5kcyBEb2N1bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCAge1xyXG4gIEBWaWV3Q2hpbGRyZW4oRXhjZWxQYWdlQ29tcG9uZW50KSBwYWdlczogUXVlcnlMaXN0PEV4Y2VsUGFnZUNvbXBvbmVudD47IFxyXG4gIFxyXG4gIGN1cnJlbnRQYWdlTm86IG51bWJlcjtcclxuICBwYW56b29tID0gbnVsbDtcclxuICBuYXZpZ2F0ZVNlcnZpY2U6IE5hdmlnYXRlU2VydmljZTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRTaGVldCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICAgICAgICAgICAgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgbmF2aWdhdGVTZXJ2aWNlOiBOYXZpZ2F0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgem9vbVNlcnZpY2UsIHdpbmRvd1NlcnZpY2UsIG5hdmlnYXRlU2VydmljZSk7XHJcbiAgICB0aGlzLm5hdmlnYXRlU2VydmljZSA9IG5hdmlnYXRlU2VydmljZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSAxO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5yZWZyZXNoRXhjZWxEb2NIZWlnaHQoKTtcclxuICAgIHRoaXMucGFnZXMuY2hhbmdlcy5zdWJzY3JpYmUoKCk9PntcclxuICAgICAgICB0aGlzLnJlZnJlc2hFeGNlbERvY0hlaWdodCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5uYXZpZ2F0ZVNlcnZpY2UubmF2aWdhdGUuc3Vic2NyaWJlKFxyXG4gICAgIHZhbHVlID0+IHtcclxuICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICB0aGlzLnNlbGVjdFNoZWV0KHZhbHVlKTtcclxuICAgICAgIH1cclxuICAgICB9KTtcclxuXHJcbiAgICBjb25zdCBzY3JvbGxiYXJXaWR0aCA9IHRoaXMuZ2V0U2Nyb2xsQmFyV2lkdGgoKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVldHMnKSwgJ3JpZ2h0JywgdGhpcy5nZXRTY3JvbGxCYXJXaWR0aCgpICsgJ3B4Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2hlZXRzJyksICdib3R0b20nLCB0aGlzLmdldFNjcm9sbEJhcldpZHRoKCkgKyAncHgnKTtcclxuICAgIGlmIChzY3JvbGxiYXJXaWR0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2hlZXRzJyksICdwYWRkaW5nLXJpZ2h0JywgJzE3cHgnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFNjcm9sbEJhcldpZHRoKCkge1xyXG4gICAgY29uc3QgZG9jdW1lbnRCb3ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZ2QtZG9jdW1lbnQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gZG9jdW1lbnRCb3gub2Zmc2V0V2lkdGggLSBkb2N1bWVudEJveC5jbGllbnRXaWR0aDtcclxuICAgIHJldHVybiBzY3JvbGxiYXJXaWR0aDtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hFeGNlbERvY0hlaWdodCgpIHtcclxuICAgIC8vIEZvciBjdXJyZW50IGl0ZXJhdGlvbiB3ZSdsbCBjaGFuZ2UgYWN0dWFsIGhlaWdodCBvZiAuZG9jdW1lbnRcclxuICAgIHRoaXMuZG9jID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCk7XHJcbiAgICB0aGlzLnBhbnpvb20gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKS5jaGlsZHJlbi5pdGVtKDApO1xyXG4gICAgLy8gbWFnaWMgbnVtYmVyIDM3IGlzIHRoZSBoZWlnaHQgb2YgdGhlIGJvdHRvbS1iYXIgd2l0aCBuYXZpZ2F0aW9uIGJldHdlZW4gcGFnZXNcclxuICAgIHRoaXMuZG9jLnN0eWxlLmhlaWdodCA9IHRoaXMucGFuem9vbS5zY3JvbGxIZWlnaHQgKyAzNyArIFwicHhcIjtcclxuICB9XHJcblxyXG4gIHNlbGVjdFNoZWV0KG51bWJlcil7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlTm8gPSBudW1iZXI7XHJcbiAgICB0aGlzLnNlbGVjdGVkU2hlZXQuZW1pdChudW1iZXIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2hlZXROYW1lKHBhZ2UpIHtcclxuICAgIHJldHVybiBwYWdlLnNoZWV0TmFtZSA/IHBhZ2Uuc2hlZXROYW1lIDogXCJTaGVldCBcIiArIHBhZ2UubnVtYmVyO1xyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/file.service.js b/dist/libs/common-components/esm5/lib/file.service.js index 5418d7760..2eb4a1ebb 100644 --- a/dist/libs/common-components/esm5/lib/file.service.js +++ b/dist/libs/common-components/esm5/lib/file.service.js @@ -51,9 +51,10 @@ if (false) { } var SaveFile = /** @class */ (function (_super) { tslib_1.__extends(SaveFile, _super); - function SaveFile(guid, password, content) { + function SaveFile(guid, password, content, pageNumber) { var _this = _super.call(this, guid, password) || this; _this.content = content; + _this.pageNumber = pageNumber; return _this; } return SaveFile; @@ -62,6 +63,8 @@ export { SaveFile }; if (false) { /** @type {?} */ SaveFile.prototype.content; + /** @type {?} */ + SaveFile.prototype.pageNumber; } var FileDescription = /** @class */ (function () { function FileDescription() { @@ -358,4 +361,4 @@ var FileService = /** @class */ (function () { return FileService; }()); export { FileService }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0lBQUE7SUFPQSxDQUFDO0lBQUQsZ0JBQUM7QUFBRCxDQUFDLEFBUEQsSUFPQzs7OztJQU5DLHlCQUFhOztJQUNiLDBCQUFjOztJQUNkLDBCQUFjOztJQUNkLDJCQUFlOztJQUNmLDJCQUFlOztJQUNmLDZCQUFrQjs7QUFHcEI7SUFBQTtJQUdBLENBQUM7SUFBRCxrQkFBQztBQUFELENBQUMsQUFIRCxJQUdDOzs7O0lBRkMsaUNBQW1COztJQUNuQiw0QkFBYzs7QUFHaEI7SUFJRSx5QkFBWSxJQUFZLEVBQUUsUUFBZ0I7UUFDeEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUNILHNCQUFDO0FBQUQsQ0FBQyxBQVJELElBUUM7Ozs7SUFQQywrQkFBYTs7SUFDYixtQ0FBaUI7O0FBUW5CO0lBQThCLG9DQUFlO0lBRzNDLGtCQUFZLElBQVksRUFBRSxRQUFnQixFQUFFLE9BQWU7UUFBM0QsWUFDRSxrQkFBTSxJQUFJLEVBQUUsUUFBUSxDQUFDLFNBRXRCO1FBREMsS0FBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7O0lBQ3pCLENBQUM7SUFDSCxlQUFDO0FBQUQsQ0FBQyxBQVBELENBQThCLGVBQWUsR0FPNUM7Ozs7SUFOQywyQkFBZ0I7O0FBUWxCO0lBQUE7UUFHRSxpQkFBWSxHQUFHLElBQUksQ0FBQztJQUd0QixDQUFDO0lBQUQsc0JBQUM7QUFBRCxDQUFDLEFBTkQsSUFNQzs7OztJQUxDLCtCQUFhOztJQUNiLGdDQUFtQjs7SUFDbkIsdUNBQW9COztJQUNwQix3Q0FBdUI7O0lBQ3ZCLHFDQUF3Qjs7QUFHMUI7SUFBQTtJQU1BLENBQUM7SUFBRCxnQkFBQztBQUFELENBQUMsQUFORCxJQU1DOzs7O0lBTEMseUJBQWE7O0lBQ2IseUJBQWE7O0lBQ2IsOEJBQW1COztJQUNuQix5QkFBYTs7SUFDYixnQ0FBcUI7O0FBR3ZCO0lBQUE7SUFRQSxDQUFDO0lBUFEsb0JBQVUsR0FBRyxHQUFHLENBQUM7SUFDakIsc0JBQVksR0FBRyxHQUFHLENBQUM7SUFDbkIsbUJBQVMsR0FBRyxHQUFHLENBQUM7SUFDaEIsa0JBQVEsR0FBRyxHQUFHLENBQUM7SUFDZixpQkFBTyxHQUFHLEdBQUcsQ0FBQztJQUNkLGtCQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ2YsNkJBQW1CLEdBQUcsR0FBRyxDQUFDO0lBQ25DLGdCQUFDO0NBQUEsQUFSRCxJQVFDO1NBUlksU0FBUzs7O0lBQ3BCLHFCQUF3Qjs7SUFDeEIsdUJBQTBCOztJQUMxQixvQkFBdUI7O0lBQ3ZCLG1CQUFzQjs7SUFDdEIsa0JBQXFCOztJQUNyQixtQkFBc0I7O0lBQ3RCLDhCQUFpQzs7QUFHbkM7SUFBQTtJQTJEQSxDQUFDOzs7OztJQTFEZSxzQkFBZ0I7Ozs7SUFBOUIsVUFBK0IsS0FBSzs7WUFDNUIsS0FBSyxHQUFHO1lBQ1osQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztTQUNMOztZQUNLLE1BQU0sR0FBYyxtQkFBVyxNQUFNLENBQUMsS0FBSyxFQUFBOztZQUMzQyxFQUFFLEdBQUcsS0FBSyxJQUFJLE1BQU07UUFDMUIsSUFBSSxFQUFFLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSzs7O2dCQUN2RyxLQUFLLEdBQUcsT0FBTyxFQUFFLENBQUMsS0FBSyxLQUFLLFdBQVcsSUFBSSxFQUFFLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUs7O2dCQUNuRixLQUFLLEdBQUcsT0FBTyxFQUFFLENBQUMsS0FBSyxLQUFLLFdBQVcsSUFBSSxFQUFFLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUs7O2dCQUNuRixTQUFPLEdBQUcsT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLENBQUM7O2dCQUN2RSxTQUFPLEdBQUcsT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLENBQUM7WUFDN0UsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0UsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUU7YUFBTSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJO1lBQzNCLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNoRCxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsUUFBUSxD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Q3hFLEtBQUssRUFBRSxFQUFDLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7UUFDNUUsTUFBTSxFQUFFLEVBQUMsUUFBUSxFQUFFLDBCQUEwQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQztRQUNoRixTQUFTLEVBQUUsRUFBQyxRQUFRLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQztLQUN0RSxDQUFDO0lBZUosZUFBQztDQUFBLEFBM0ZELElBMkZDO1NBM0ZZLFFBQVE7OztJQUNuQixhQTJFRTs7QUFpQko7SUFFRTtJQUNBLENBQUM7SUFDSCxrQkFBQztBQUFELENBQUMsQUFKRCxJQUlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFBhZ2VNb2RlbCB7XG4gIGRhdGE6IHN0cmluZztcbiAgYW5nbGU6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIG51bWJlcjogbnVtYmVyO1xuICBlZGl0YWJsZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFJvdGF0ZWRQYWdlIHtcbiAgcGFnZU51bWJlcjogbnVtYmVyO1xuICBhbmdsZTogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgRmlsZUNyZWRlbnRpYWxzIHtcbiAgZ3VpZDogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGd1aWQ6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZykge1xuICAgIHRoaXMuZ3VpZCA9IGd1aWQ7XG4gICAgdGhpcy5wYXNzd29yZCA9IHBhc3N3b3JkO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTYXZlRmlsZSBleHRlbmRzIEZpbGVDcmVkZW50aWFscyB7XG4gIGNvbnRlbnQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihndWlkOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZykge1xuICAgIHN1cGVyKGd1aWQsIHBhc3N3b3JkKTtcbiAgICB0aGlzLmNvbnRlbnQgPSBjb250ZW50O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWxlRGVzY3JpcHRpb24ge1xuICBndWlkOiBzdHJpbmc7XG4gIHBhZ2VzOiBQYWdlTW9kZWxbXTtcbiAgcHJpbnRBbGxvd2VkID0gdHJ1ZTtcbiAgc2hvd0dyaWRMaW5lczogYm9vbGVhbjtcbiAgdGh1bWJuYWlsczogUGFnZU1vZGVsW107XG59XG5cbmV4cG9ydCBjbGFzcyBGaWxlTW9kZWwge1xuICBndWlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGlyZWN0b3J5OiBib29sZWFuO1xuICBzaXplOiBudW1iZXI7XG4gIGlzRGlyZWN0b3J5OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgSHR0cEVycm9yIHtcbiAgc3RhdGljIEJhZFJlcXVlc3QgPSA0MDA7XG4gIHN0YXRpYyBVbmF1dGhvcml6ZWQgPSA0MDE7XG4gIHN0YXRpYyBGb3JiaWRkZW4gPSA0MDM7XG4gIHN0YXRpYyBOb3RGb3VuZCA9IDQwNDtcbiAgc3RhdGljIFRpbWVPdXQgPSA0MDg7XG4gIHN0YXRpYyBDb25mbGljdCA9IDQwOTtcbiAgc3RhdGljIEludGVybmFsU2VydmVyRXJyb3IgPSA1MDA7XG59XG5cbmV4cG9ydCBjbGFzcyBVdGlscyB7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0TW91c2VQb3NpdGlvbihldmVudCkge1xuICAgIGNvbnN0IG1vdXNlID0ge1xuICAgICAgeDogMCxcbiAgICAgIHk6IDBcbiAgICB9O1xuICAgIGNvbnN0IHdFdmVudDogRHJhZ0V2ZW50ID0gPERyYWdFdmVudD53aW5kb3cuZXZlbnQ7XG4gICAgY29uc3QgZXYgPSBldmVudCB8fCB3RXZlbnQ7IC8vTW96IHx8IElFXG4gICAgaWYgKGV2LnBhZ2VYIHx8IHdFdmVudC5wYWdlWCB8fCB3RXZlbnQuc2NyZWVuWCB8fCAoZXYudG91Y2hlcyAmJiBldi50b3VjaGVzWzBdICYmIGV2LnRvdWNoZXNbMF0ucGFnZVgpKSB7IC8vTW96XG4gICAgICBjb25zdCBwYWdlWCA9IHR5cGVvZiBldi5wYWdlWCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBldi5wYWdlWCAhPT0gMCA/IGV2LnBhZ2VYIDogd0V2ZW50LnBhZ2VYO1xuICAgICAgY29uc3QgcGFnZVkgPSB0eXBlb2YgZXYucGFnZVkgIT09IFwidW5kZWZpbmVkXCIgJiYgZXYucGFnZVkgIT09IDAgPyBldi5wYWdlWSA6IHdFdmVudC5wYWdlWTtcbiAgICAgIGNvbnN0IHNjcmVlblggPSB0eXBlb2Ygd0V2ZW50LnNjcmVlblggIT09IFwidW5kZWZpbmVkXCIgJiYgd0V2ZW50LnNjcmVlblkgIT09IDA7XG4gICAgICBjb25zdCBzY3JlZW5ZID0gdHlwZW9mIHdFdmVudC5zY3JlZW5ZICE9PSBcInVuZGVmaW5lZFwiICYmIHdFdmVudC5zY3JlZW5ZICE9PSAwO1xuICAgICAgbW91c2UueCA9IHBhZ2VYID8gcGFnZVggOiAoc2NyZWVuWCA/IHdFdmVudC5zY3JlZW5YIDogZXYudG91Y2hlc1swXS5wYWdlWCk7XG4gICAgICBtb3VzZS55ID0gcGFnZVkgPyBwYWdlWSA6IChzY3JlZW5ZID8gd0V2ZW50LnNjcmVlblkgOiBldi50b3VjaGVzWzBdLnBhZ2VZKTtcbiAgICB9IGVsc2UgaWYgKGV2LmNsaWVudFgpIHsgLy9JRVxuICAgICAgbW91c2UueCA9IGV2LmNsaWVudFggKyBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7XG4gICAgICBtb3VzZS55ID0gZXYuY2xpZW50WSArIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO1xuICAgIH1cbiAgICByZXR1cm4gbW91c2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvUmdiKGNvbG9yOiBzdHJpbmcpIHtcbiAgICBjb25zdCByZXN1bHQgPSAvXiM/KFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pJC9pLmV4ZWMoY29sb3IpO1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGNvbnN0IHIgPSBwYXJzZUludChyZXN1bHRbMV0sIDE2KTtcbiAgICAgIGNvbnN0IGcgPSBwYXJzZUludChyZXN1bHRbMl0sIDE2KTtcbiAgICAgIGNvbnN0IGIgPSBwYXJzZUludChyZXN1bHRbM10sIDE2KTtcbiAgICAgIHJldHVybiByZXN1bHQgPyAncmdiKCcgKyByICsgJywnICsgZyArICcsJyArIGIgKyAnKScgOiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGNvbG9yO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b0hleChjb2xvcjogc3RyaW5nKSB7XG4gICAgLy8gY2hlY2sgaWYgY29sb3IgaXMgc3RhbmRhcmQgaGV4IHZhbHVlXG4gICAgaWYgKGNvbG9yLm1hdGNoKC9bMC05QS1GXXs2fXxbMC05QS1GXXszfSQvaSkpIHtcbiAgICAgIHJldHVybiAoY29sb3IuY2hhckF0KDApID09PSBcIiNcIikgPyBjb2xvciA6IChcIiNcIiArIGNvbG9yKTtcbiAgICAgIC8vIGNoZWNrIGlmIGNvbG9yIGlzIFJHQiB2YWx1ZSAtPiBjb252ZXJ0IHRvIGhleFxuICAgIH0gZWxzZSBpZiAoY29sb3IubWF0Y2goL15yZ2JcXChcXHMqKFxcZHsxLDN9KVxccyosXFxzKihcXGR7MSwzfSlcXHMqLFxccyooXFxkezEsM30pXFxzKlxcKSQvKSkge1xuICAgICAgY29uc3QgYyA9IChbcGFyc2VJbnQoUmVnRXhwLiQxLCAxMCksIHBhcnNlSW50KFJlZ0V4cC4kMiwgMTApLCBwYXJzZUludChSZWdFeHAuJDMsIDEwKV0pLFxuICAgICAgICBwYWQgPSBmdW5jdGlvbiAoc3RyKSB7XG4gICAgICAgICAgaWYgKHN0ci5sZW5ndGggPCAyKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gMiAtIHN0ci5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgICBzdHIgPSAnMCcgKyBzdHI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdHI7XG4gICAgICAgIH07XG4gICAgICBpZiAoYy5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgY29uc3QgciA9IHBhZChjWzBdLnRvU3RyaW5nKDE2KSksXG4gICAgICAgICAgZyA9IHBhZChjWzFdLnRvU3RyaW5nKDE2KSksXG4gICAgICAgICAgYiA9IHBhZChjWzJdLnRvU3RyaW5nKDE2KSk7XG4gICAgICAgIHJldHVybiAnIycgKyByICsgZyArIGI7XG4gICAgICB9XG4gICAgICAvLyBlbHNlIGRvIG5vdGhpbmdcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRmlsZVV0aWwge1xuICBwdWJsaWMgc3RhdGljIG1hcCA9IHtcbiAgICAnZm9sZGVyJzogeydmb3JtYXQnOiAnJywgJ2ljb24nOiAnZm9sZGVyJ30sXG4gICAgJ3BkZic6IHsnZm9ybWF0JzogJ1BvcnRhYmxlIERvY3VtZW50IEZvcm1hdCcsICdpY29uJzogJ2ZpbGUtcGRmJywgJ3VuaXQnOiAncHQnfSxcbiAgICAnZG9jJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFdvcmQnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdkb2N4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFdvcmQnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdkb2NtJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFdvcmQnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdkb3QnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgV29yZCcsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ2RvdHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgV29yZCcsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ2RvdG0nOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgV29yZCcsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ3hscyc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBFeGNlbCcsICdpY29uJzogJ2ZpbGUtZXhjZWwnLCAndW5pdCc6ICdweCd9LFxuICAgICd4bHN4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IEV4Y2VsJywgJ2ljb24nOiAnZmlsZS1leGNlbCcsICd1bml0JzogJ3B4J30sXG4gICAgJ3hsc20nOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgRXhjZWwnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcbiAgICAneGxzYic6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBFeGNlbCcsICdpY29uJzogJ2ZpbGUtZXhjZWwnLCAndW5pdCc6ICdweCd9LFxuICAgICd4bHMyMDAzJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IEV4Y2VsJywgJ2ljb24nOiAnZmlsZS1leGNlbCcsICd1bml0JzogJ3B4J30sXG4gICAgJ3hsdHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgRXhjZWwnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcbiAgICAneGx0bSc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBFeGNlbCcsICdpY29uJzogJ2ZpbGUtZXhjZWwnLCAndW5pdCc6ICdweCd9LFxuICAgICdwcHQnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgUG93ZXJQb2ludCcsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXG4gICAgJ3BwdHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgUG93ZXJQb2ludCcsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXG4gICAgJ3Bwcyc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQb3dlclBvaW50JywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcbiAgICAncHBzeCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQb3dlclBvaW50JywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcbiAgICAndnNkJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAndmR4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAndnNzJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAndnN4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAndnN0Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAndnR4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAndnNkeCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBWaXNpbycsICdpY29uJzogJ2ZpbGUtY29kZScsICd1bml0JzogJ3B4J30sXG4gICAgJ3Zkdyc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBWaXNpbycsICdpY29uJzogJ2ZpbGUtY29kZScsICd1bml0JzogJ3B4J30sXG4gICAgJ3ZzdHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxuICAgICd2c3N4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAnbXBwJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFByb2plY3QnLCAnaWNvbic6ICdmaWxlLWFsdCcsICd1bml0JzogJ3B0J30sXG4gICAgJ21wdCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQcm9qZWN0JywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdtc2cnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgT3V0bG9vaycsICdpY29uJzogJ2ZpbGUtYWx0JywgJ3VuaXQnOiAncHQnfSxcbiAgICAnZW1sJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IE91dGxvb2snLCAnaWNvbic6ICdmaWxlLWFsdCcsICd1bml0JzogJ3B0J30sXG4gICAgJ2VtbHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgT3V0bG9vaycsICdpY29uJzogJ2ZpbGUtYWx0JywgJ3VuaXQnOiAncHQnfSxcbiAgICAnb25lJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IE9uZU5vdGUnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdvZHQnOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFRleHQnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdvdHQnOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFRleHQgVGVtcGxhdGUnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdvZHMnOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFNwcmVhZHNoZWV0JywgJ2ljb24nOiAnZmlsZS1leGNlbCcsICd1bml0JzogJ3B4J30sXG4gICAgJ29kcCc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgUHJlc2VudGF0aW9uJywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcbiAgICAnb3RwJzogeydmb3JtYXQnOiAnT3BlbiBEb2N1bWVudCBQcmVzZW50YXRpb24nLCAnaWNvbic6ICdmaWxlLXBvd2VycG9pbnQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdvdHMnOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFByZXNlbnRhdGlvbicsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXG4gICAgJ3BvdHgnOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFByZXNlbnRhdGlvbicsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXG4gICAgJ3BvdG0nOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFByZXNlbnRhdGlvbicsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXG4gICAgJ3BwdG0nOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFByZXNlbnRhdGlvbicsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXG4gICAgJ3Bwc20nOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFByZXNlbnRhdGlvbicsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXG4gICAgJ3J0Zic6IHsnZm9ybWF0JzogJ1JpY2ggVGV4dCBGb3JtYXQnLCAnaWNvbic6ICdmaWxlLWFsdCcsICd1bml0JzogJ3B0J30sXG4gICAgJ3R4dCc6IHsnZm9ybWF0JzogJ1BsYWluIFRleHQgRmlsZScsICdpY29uJzogJ2ZpbGUtYWx0JywgJ3VuaXQnOiAncHQnfSxcbiAgICAnY3N2Jzogeydmb3JtYXQnOiAnQ29tbWEtU2VwYXJhdGVkIFZhbHVlcycsICdpY29uJzogJ2ZpbGUtZXhjZWwnLCAndW5pdCc6ICdweCd9LFxuICAgICdodG1sJzogeydmb3JtYXQnOiAnSHlwZXJUZXh0IE1hcmt1cCBMYW5ndWFnZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ21odCc6IHsnZm9ybWF0JzogJ0h5cGVyVGV4dCBNYXJrdXAgTGFuZ3VhZ2UnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxuICAgICdtaHRtbCc6IHsnZm9ybWF0JzogJ0h5cGVyVGV4dCBNYXJrdXAgTGFuZ3VhZ2UnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxuICAgICd4bWwnOiB7J2Zvcm1hdCc6ICdFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXG4gICAgJ3hwcyc6IHsnZm9ybWF0JzogJ1hNTCBQYXBlciBTcGVjaWZpY2F0aW9uJywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcbiAgICAnZHhmJzogeydmb3JtYXQnOiAnQXV0b0NBRCBEcmF3aW5nIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXG4gICAgJ2R3Zyc6IHsnZm9ybWF0JzogJ0F1dG9DQUQgRHJhd2luZyBGaWxlIEZvcm1hdCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxuICAgICdibXAnOiB7J2Zvcm1hdCc6ICdCaXRtYXAgUGljdHVyZScsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxuICAgICdnaWYnOiB7J2Zvcm1hdCc6ICdHcmFwaGljcyBJbnRlcmNoYW5nZSBGb3JtYXQnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAnanBnJzogeydmb3JtYXQnOiAnSm9pbnQgUGhvdG9ncmFwaGljIEV4cGVydHMgR3JvdXAnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAnanBlJzogeydmb3JtYXQnOiAnSm9pbnQgUGhvdG9ncmFwaGljIEV4cGVydHMgR3JvdXAnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAnanBlZyc6IHsnZm9ybWF0JzogJ0pvaW50IFBob3RvZ3JhcGhpYyBFeHBlcnRzIEdyb3VwJywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXG4gICAgJ2pmaWYnOiB7J2Zvcm1hdCc6ICdKb2ludCBQaG90b2dyYXBoaWMgRXhwZXJ0cyBHcm91cCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxuICAgICdwbmcnOiB7J2Zvcm1hdCc6ICdQb3J0YWJsZSBOZXR3b3JrIEdyYXBoaWNzJywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXG4gICAgJ3RpZmYnOiB7J2Zvcm1hdCc6ICdUYWdnZWQgSW1hZ2UgRmlsZSBGb3JtYXQnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAndGlmJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXG4gICAgJ3BzZCc6IHsnZm9ybWF0JzogJ1RhZ2dlZCBJbWFnZSBGaWxlIEZvcm1hdCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxuICAgICdzdmcnOiB7J2Zvcm1hdCc6ICdUYWdnZWQgSW1hZ2UgRmlsZSBGb3JtYXQnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAnanAyJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXG4gICAgJ2VwdWInOiB7J2Zvcm1hdCc6ICdFbGVjdHJvbmljIFB1YmxpY2F0aW9uJywgJ2ljb24nOiAnZmlsZS1wZGYnLCAndW5pdCc6ICdwdCd9LFxuICAgICdpY28nOiB7J2Zvcm1hdCc6ICdXaW5kb3dzIEljb24nLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAnd2VicCc6IHsnZm9ybWF0JzogJ0NvbXByZXNzZWQgSW1hZ2UnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcbiAgICAnbW9iaSc6IHsnZm9ybWF0JzogJ01vYmlwb2NrZXQgZUJvb2snLCAnaWNvbic6ICdmaWxlLXBkZicsICd1bml0JzogJ3B0J30sXG4gICAgJ3RleCc6IHsnZm9ybWF0JzogJ0xhVGVYIFNvdXJjZSBEb2N1bWVudCcsICdpY29uJzogJ2ZpbGUtcGRmJywgJ3VuaXQnOiAncHQnfSxcbiAgICAnZGp2dSc6IHsnZm9ybWF0JzogJ011bHRpLUxheWVyIFJhc3RlciBJbWFnZScsICdpY29uJzogJ2ZpbGUtYWx0JywgJ3VuaXQnOiAncHQnfSxcbiAgICAndW5rbm93bic6IHsnZm9ybWF0JzogJ1RoaXMgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQnLCAnaWNvbic6ICdmaWxlJ30sXG4gIH07XG5cbiAgcHVibGljIHN0YXRpYyBmaW5kKGZpbGVuYW1lOiBzdHJpbmcsIGlzRGlyZWN0b3J5OiBib29sZWFuKSB7XG4gICAgaWYgKGZpbGVuYW1lICYmICFpc0RpcmVjdG9yeSkge1xuICAgICAgY29uc3Qgc3RyaW5ncyA9IGZpbGVuYW1lLnNwbGl0KCcuJyk7XG4gICAgICBjb25zdCBuYW1lID0gc3RyaW5ncy5wb3AoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKHR5cGVvZiBGaWxlVXRpbC5tYXBbbmFtZV0gPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZ3MubGVuZ3RoID4gMCA/IEZpbGVVdGlsLm1hcFsndW5rbm93biddIDogRmlsZVV0aWwubWFwWydmb2xkZXInXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBGaWxlVXRpbC5tYXBbbmFtZV07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBGaWxlVXRpbC5tYXBbJ2ZvbGRlciddO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRmlsZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0lBQUE7SUFPQSxDQUFDO0lBQUQsZ0JBQUM7QUFBRCxDQUFDLEFBUEQsSUFPQzs7OztJQU5DLHlCQUFhOztJQUNiLDBCQUFjOztJQUNkLDBCQUFjOztJQUNkLDJCQUFlOztJQUNmLDJCQUFlOztJQUNmLDZCQUFrQjs7QUFHcEI7SUFBQTtJQUdBLENBQUM7SUFBRCxrQkFBQztBQUFELENBQUMsQUFIRCxJQUdDOzs7O0lBRkMsaUNBQW1COztJQUNuQiw0QkFBYzs7QUFHaEI7SUFJRSx5QkFBWSxJQUFZLEVBQUUsUUFBZ0I7UUFDeEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUNILHNCQUFDO0FBQUQsQ0FBQyxBQVJELElBUUM7Ozs7SUFQQywrQkFBYTs7SUFDYixtQ0FBaUI7O0FBUW5CO0lBQThCLG9DQUFlO0lBSTNDLGtCQUFZLElBQVksRUFBRSxRQUFnQixFQUFFLE9BQWUsRUFBRSxVQUFrQjtRQUEvRSxZQUNFLGtCQUFNLElBQUksRUFBRSxRQUFRLENBQUMsU0FHdEI7UUFGQyxLQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixLQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQzs7SUFDL0IsQ0FBQztJQUNILGVBQUM7QUFBRCxDQUFDLEFBVEQsQ0FBOEIsZUFBZSxHQVM1Qzs7OztJQVJDLDJCQUFnQjs7SUFDaEIsOEJBQW1COztBQVNyQjtJQUFBO1FBR0UsaUJBQVksR0FBRyxJQUFJLENBQUM7SUFHdEIsQ0FBQztJQUFELHNCQUFDO0FBQUQsQ0FBQyxBQU5ELElBTUM7Ozs7SUFMQywrQkFBYTs7SUFDYixnQ0FBbUI7O0lBQ25CLHVDQUFvQjs7SUFDcEIsd0NBQXVCOztJQUN2QixxQ0FBd0I7O0FBRzFCO0lBQUE7SUFNQSxDQUFDO0lBQUQsZ0JBQUM7QUFBRCxDQUFDLEFBTkQsSUFNQzs7OztJQUxDLHlCQUFhOztJQUNiLHlCQUFhOztJQUNiLDhCQUFtQjs7SUFDbkIseUJBQWE7O0lBQ2IsZ0NBQXFCOztBQUd2QjtJQUFBO0lBUUEsQ0FBQztJQVBRLG9CQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLHNCQUFZLEdBQUcsR0FBRyxDQUFDO0lBQ25CLG1CQUFTLEdBQUcsR0FBRyxDQUFDO0lBQ2hCLGtCQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ2YsaUJBQU8sR0FBRyxHQUFHLENBQUM7SUFDZCxrQkFBUSxHQUFHLEdBQUcsQ0FBQztJQUNmLDZCQUFtQixHQUFHLEdBQUcsQ0FBQztJQUNuQyxnQkFBQztDQUFBLEFBUkQsSUFRQztTQVJZLFNBQVM7OztJQUNwQixxQkFBd0I7O0lBQ3hCLHVCQUEwQjs7SUFDMUIsb0JBQXVCOztJQUN2QixtQkFBc0I7O0lBQ3RCLGtCQUFxQjs7SUFDckIsbUJBQXNCOztJQUN0Qiw4QkFBaUM7O0FBR25DO0lBQUE7SUEyREEsQ0FBQzs7Ozs7SUExRGUsc0JBQWdCOzs7O0lBQTlCLFVBQStCLEtBQUs7O1lBQzVCLEtBQUssR0FBRztZQUNaLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7U0FDTDs7WUFDSyxNQUFNLEdBQWMsbUJBQVcsTUFBTSxDQUFDLEtBQUssRUFBQTs7WUFDM0MsRUFBRSxHQUFHLEtBQUssSUFBSSxNQUFNO1FBQzFCLElBQUksRUFBRSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUs7OztnQkFDdkcsS0FBSyxHQUFHLE9BQU8sRUFBRSxDQUFDLEtBQUssS0FBSyxXQUFXLElBQUksRUFBRSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLOztnQkFDbkYsS0FBSyxHQUFHLE9BQU8sRUFBRSxDQUFDLEtBQUssS0FBSyxXQUFXLElBQUksRUFBRSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLOztnQkFDbkYsU0FBTyxHQUFHLE9BQU8sTUFBTSxDQUFDLE9BQU8sS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxDQUFDOztnQkFDdkUsU0FBTyxHQUFHLE9BQU8sTUFBTSxDQUFDLE9BQU8sS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxDQUFDO1lBQzdFLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNFLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVFO2FBQU0sSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSTtZQUMzQixLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxV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USxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQztRQUN4RSxLQUFLLEVBQUUsRUFBQyxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDO1FBQzVFLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7UUFDaEYsU0FBUyxFQUFFLEVBQUMsUUFBUSxFQUFFLDhCQUE4QixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUM7S0FDdEUsQ0FBQztJQWVKLGVBQUM7Q0FBQSxBQTNGRCxJQTJGQztTQTNGWSxRQUFROzs7SUFDbkIsYUEyRUU7O0FBaUJKO0lBRUU7SUFDQSxDQUFDO0lBQ0gsa0JBQUM7QUFBRCxDQUFDLEFBSkQsSUFJQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBQYWdlTW9kZWwge1xyXG4gIGRhdGE6IHN0cmluZztcclxuICBhbmdsZTogbnVtYmVyO1xyXG4gIHdpZHRoOiBudW1iZXI7XHJcbiAgaGVpZ2h0OiBudW1iZXI7XHJcbiAgbnVtYmVyOiBudW1iZXI7XHJcbiAgZWRpdGFibGU6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSb3RhdGVkUGFnZSB7XHJcbiAgcGFnZU51bWJlcjogbnVtYmVyO1xyXG4gIGFuZ2xlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlQ3JlZGVudGlhbHMge1xyXG4gIGd1aWQ6IHN0cmluZztcclxuICBwYXNzd29yZDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihndWlkOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZ3VpZCA9IGd1aWQ7XHJcbiAgICB0aGlzLnBhc3N3b3JkID0gcGFzc3dvcmQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZUZpbGUgZXh0ZW5kcyBGaWxlQ3JlZGVudGlhbHMge1xyXG4gIGNvbnRlbnQ6IHN0cmluZztcclxuICBwYWdlTnVtYmVyOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGd1aWQ6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZywgY29udGVudDogc3RyaW5nLCBwYWdlTnVtYmVyOiBudW1iZXIpIHtcclxuICAgIHN1cGVyKGd1aWQsIHBhc3N3b3JkKTtcclxuICAgIHRoaXMuY29udGVudCA9IGNvbnRlbnQ7XHJcbiAgICB0aGlzLnBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEZpbGVEZXNjcmlwdGlvbiB7XHJcbiAgZ3VpZDogc3RyaW5nO1xyXG4gIHBhZ2VzOiBQYWdlTW9kZWxbXTtcclxuICBwcmludEFsbG93ZWQgPSB0cnVlO1xyXG4gIHNob3dHcmlkTGluZXM6IGJvb2xlYW47XHJcbiAgdGh1bWJuYWlsczogUGFnZU1vZGVsW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlTW9kZWwge1xyXG4gIGd1aWQ6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGlyZWN0b3J5OiBib29sZWFuO1xyXG4gIHNpemU6IG51bWJlcjtcclxuICBpc0RpcmVjdG9yeTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEh0dHBFcnJvciB7XHJcbiAgc3RhdGljIEJhZFJlcXVlc3QgPSA0MDA7XHJcbiAgc3RhdGljIFVuYXV0aG9yaXplZCA9IDQwMTtcclxuICBzdGF0aWMgRm9yYmlkZGVuID0gNDAzO1xyXG4gIHN0YXRpYyBOb3RGb3VuZCA9IDQwNDtcclxuICBzdGF0aWMgVGltZU91dCA9IDQwODtcclxuICBzdGF0aWMgQ29uZmxpY3QgPSA0MDk7XHJcbiAgc3RhdGljIEludGVybmFsU2VydmVyRXJyb3IgPSA1MDA7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBVdGlscyB7XHJcbiAgcHVibGljIHN0YXRpYyBnZXRNb3VzZVBvc2l0aW9uKGV2ZW50KSB7XHJcbiAgICBjb25zdCBtb3VzZSA9IHtcclxuICAgICAgeDogMCxcclxuICAgICAgeTogMFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHdFdmVudDogRHJhZ0V2ZW50ID0gPERyYWdFdmVudD53aW5kb3cuZXZlbnQ7XHJcbiAgICBjb25zdCBldiA9IGV2ZW50IHx8IHdFdmVudDsgLy9Nb3ogfHwgSUVcclxuICAgIGlmIChldi5wYWdlWCB8fCB3RXZlbnQucGFnZVggfHwgd0V2ZW50LnNjcmVlblggfHwgKGV2LnRvdWNoZXMgJiYgZXYudG91Y2hlc1swXSAmJiBldi50b3VjaGVzWzBdLnBhZ2VYKSkgeyAvL01velxyXG4gICAgICBjb25zdCBwYWdlWCA9IHR5cGVvZiBldi5wYWdlWCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBldi5wYWdlWCAhPT0gMCA/IGV2LnBhZ2VYIDogd0V2ZW50LnBhZ2VYO1xyXG4gICAgICBjb25zdCBwYWdlWSA9IHR5cGVvZiBldi5wYWdlWSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBldi5wYWdlWSAhPT0gMCA/IGV2LnBhZ2VZIDogd0V2ZW50LnBhZ2VZO1xyXG4gICAgICBjb25zdCBzY3JlZW5YID0gdHlwZW9mIHdFdmVudC5zY3JlZW5YICE9PSBcInVuZGVmaW5lZFwiICYmIHdFdmVudC5zY3JlZW5ZICE9PSAwO1xyXG4gICAgICBjb25zdCBzY3JlZW5ZID0gdHlwZW9mIHdFdmVudC5zY3JlZW5ZICE9PSBcInVuZGVmaW5lZFwiICYmIHdFdmVudC5zY3JlZW5ZICE9PSAwO1xyXG4gICAgICBtb3VzZS54ID0gcGFnZVggPyBwYWdlWCA6IChzY3JlZW5YID8gd0V2ZW50LnNjcmVlblggOiBldi50b3VjaGVzWzBdLnBhZ2VYKTtcclxuICAgICAgbW91c2UueSA9IHBhZ2VZID8gcGFnZVkgOiAoc2NyZWVuWSA/IHdFdmVudC5zY3JlZW5ZIDogZXYudG91Y2hlc1swXS5wYWdlWSk7XHJcbiAgICB9IGVsc2UgaWYgKGV2LmNsaWVudFgpIHsgLy9JRVxyXG4gICAgICBtb3VzZS54ID0gZXYuY2xpZW50WCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdDtcclxuICAgICAgbW91c2UueSA9IGV2LmNsaWVudFkgKyBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDtcclxuICAgIH1cclxuICAgIHJldHVybiBtb3VzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdG9SZ2IoY29sb3I6IHN0cmluZykge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gL14jPyhbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KSQvaS5leGVjKGNvbG9yKTtcclxuICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgY29uc3QgciA9IHBhcnNlSW50KHJlc3VsdFsxXSwgMTYpO1xyXG4gICAgICBjb25zdCBnID0gcGFyc2VJbnQocmVzdWx0WzJdLCAxNik7XHJcbiAgICAgIGNvbnN0IGIgPSBwYXJzZUludChyZXN1bHRbM10sIDE2KTtcclxuICAgICAgcmV0dXJuIHJlc3VsdCA/ICdyZ2IoJyArIHIgKyAnLCcgKyBnICsgJywnICsgYiArICcpJyA6ICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0b0hleChjb2xvcjogc3RyaW5nKSB7XHJcbiAgICAvLyBjaGVjayBpZiBjb2xvciBpcyBzdGFuZGFyZCBoZXggdmFsdWVcclxuICAgIGlmIChjb2xvci5tYXRjaCgvWzAtOUEtRl17Nn18WzAtOUEtRl17M30kL2kpKSB7XHJcbiAgICAgIHJldHVybiAoY29sb3IuY2hhckF0KDApID09PSBcIiNcIikgPyBjb2xvciA6IChcIiNcIiArIGNvbG9yKTtcclxuICAgICAgLy8gY2hlY2sgaWYgY29sb3IgaXMgUkdCIHZhbHVlIC0+IGNvbnZlcnQgdG8gaGV4XHJcbiAgICB9IGVsc2UgaWYgKGNvbG9yLm1hdGNoKC9ecmdiXFwoXFxzKihcXGR7MSwzfSlcXHMqLFxccyooXFxkezEsM30pXFxzKixcXHMqKFxcZHsxLDN9KVxccypcXCkkLykpIHtcclxuICAgICAgY29uc3QgYyA9IChbcGFyc2VJbnQoUmVnRXhwLiQxLCAxMCksIHBhcnNlSW50KFJlZ0V4cC4kMiwgMTApLCBwYXJzZUludChSZWdFeHAuJDMsIDEwKV0pLFxyXG4gICAgICAgIHBhZCA9IGZ1bmN0aW9uIChzdHIpIHtcclxuICAgICAgICAgIGlmIChzdHIubGVuZ3RoIDwgMikge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gMiAtIHN0ci5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgIHN0ciA9ICcwJyArIHN0cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgICAgICB9O1xyXG4gICAgICBpZiAoYy5sZW5ndGggPT09IDMpIHtcclxuICAgICAgICBjb25zdCByID0gcGFkKGNbMF0udG9TdHJpbmcoMTYpKSxcclxuICAgICAgICAgIGcgPSBwYWQoY1sxXS50b1N0cmluZygxNikpLFxyXG4gICAgICAgICAgYiA9IHBhZChjWzJdLnRvU3RyaW5nKDE2KSk7XHJcbiAgICAgICAgcmV0dXJuICcjJyArIHIgKyBnICsgYjtcclxuICAgICAgfVxyXG4gICAgICAvLyBlbHNlIGRvIG5vdGhpbmdcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXRpbCB7XHJcbiAgcHVibGljIHN0YXRpYyBtYXAgPSB7XHJcbiAgICAnZm9sZGVyJzogeydmb3JtYXQnOiAnJywgJ2ljb24nOiAnZm9sZGVyJ30sXHJcbiAgICAncGRmJzogeydmb3JtYXQnOiAnUG9ydGFibGUgRG9jdW1lbnQgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1wZGYnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2RvYyc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBXb3JkJywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcclxuICAgICdkb2N4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFdvcmQnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2RvY20nOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgV29yZCcsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAnZG90Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFdvcmQnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2RvdHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgV29yZCcsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAnZG90bSc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBXb3JkJywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcclxuICAgICd4bHMnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgRXhjZWwnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICd4bHN4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IEV4Y2VsJywgJ2ljb24nOiAnZmlsZS1leGNlbCcsICd1bml0JzogJ3B4J30sXHJcbiAgICAneGxzbSc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBFeGNlbCcsICdpY29uJzogJ2ZpbGUtZXhjZWwnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3hsc2InOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgRXhjZWwnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICd4bHMyMDAzJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IEV4Y2VsJywgJ2ljb24nOiAnZmlsZS1leGNlbCcsICd1bml0JzogJ3B4J30sXHJcbiAgICAneGx0eCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBFeGNlbCcsICdpY29uJzogJ2ZpbGUtZXhjZWwnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3hsdG0nOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgRXhjZWwnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICdwcHQnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgUG93ZXJQb2ludCcsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAncHB0eCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQb3dlclBvaW50JywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcclxuICAgICdwcHMnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgUG93ZXJQb2ludCcsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAncHBzeCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQb3dlclBvaW50JywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcclxuICAgICd2c2QnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3ZkeCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBWaXNpbycsICdpY29uJzogJ2ZpbGUtY29kZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAndnNzJzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICd2c3gnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3ZzdCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBWaXNpbycsICdpY29uJzogJ2ZpbGUtY29kZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAndnR4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICd2c2R4Jzogeydmb3JtYXQnOiAnTWljcm9zb2Z0IFZpc2lvJywgJ2ljb24nOiAnZmlsZS1jb2RlJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICd2ZHcnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3ZzdHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3Zzc3gnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgVmlzaW8nLCAnaWNvbic6ICdmaWxlLWNvZGUnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ21wcCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQcm9qZWN0JywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ21wdCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBQcm9qZWN0JywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ21zZyc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBPdXRsb29rJywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2VtbCc6IHsnZm9ybWF0JzogJ01pY3Jvc29mdCBPdXRsb29rJywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2VtbHgnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgT3V0bG9vaycsICdpY29uJzogJ2ZpbGUtYWx0JywgJ3VuaXQnOiAncHQnfSxcclxuICAgICdvbmUnOiB7J2Zvcm1hdCc6ICdNaWNyb3NvZnQgT25lTm90ZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAnb2R0Jzogeydmb3JtYXQnOiAnT3BlbiBEb2N1bWVudCBUZXh0JywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcclxuICAgICdvdHQnOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFRleHQgVGVtcGxhdGUnLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ29kcyc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgU3ByZWFkc2hlZXQnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICdvZHAnOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFByZXNlbnRhdGlvbicsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAnb3RwJzogeydmb3JtYXQnOiAnT3BlbiBEb2N1bWVudCBQcmVzZW50YXRpb24nLCAnaWNvbic6ICdmaWxlLXBvd2VycG9pbnQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ290cyc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgUHJlc2VudGF0aW9uJywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcclxuICAgICdwb3R4Jzogeydmb3JtYXQnOiAnT3BlbiBEb2N1bWVudCBQcmVzZW50YXRpb24nLCAnaWNvbic6ICdmaWxlLXBvd2VycG9pbnQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ3BvdG0nOiB7J2Zvcm1hdCc6ICdPcGVuIERvY3VtZW50IFByZXNlbnRhdGlvbicsICdpY29uJzogJ2ZpbGUtcG93ZXJwb2ludCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAncHB0bSc6IHsnZm9ybWF0JzogJ09wZW4gRG9jdW1lbnQgUHJlc2VudGF0aW9uJywgJ2ljb24nOiAnZmlsZS1wb3dlcnBvaW50JywgJ3VuaXQnOiAncHQnfSxcclxuICAgICdwcHNtJzogeydmb3JtYXQnOiAnT3BlbiBEb2N1bWVudCBQcmVzZW50YXRpb24nLCAnaWNvbic6ICdmaWxlLXBvd2VycG9pbnQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ3J0Zic6IHsnZm9ybWF0JzogJ1JpY2ggVGV4dCBGb3JtYXQnLCAnaWNvbic6ICdmaWxlLWFsdCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAndHh0Jzogeydmb3JtYXQnOiAnUGxhaW4gVGV4dCBGaWxlJywgJ2ljb24nOiAnZmlsZS1hbHQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2Nzdic6IHsnZm9ybWF0JzogJ0NvbW1hLVNlcGFyYXRlZCBWYWx1ZXMnLCAnaWNvbic6ICdmaWxlLWV4Y2VsJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICdodG1sJzogeydmb3JtYXQnOiAnSHlwZXJUZXh0IE1hcmt1cCBMYW5ndWFnZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAnbWh0Jzogeydmb3JtYXQnOiAnSHlwZXJUZXh0IE1hcmt1cCBMYW5ndWFnZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAnbWh0bWwnOiB7J2Zvcm1hdCc6ICdIeXBlclRleHQgTWFya3VwIExhbmd1YWdlJywgJ2ljb24nOiAnZmlsZS13b3JkJywgJ3VuaXQnOiAncHQnfSxcclxuICAgICd4bWwnOiB7J2Zvcm1hdCc6ICdFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZScsICdpY29uJzogJ2ZpbGUtd29yZCcsICd1bml0JzogJ3B0J30sXHJcbiAgICAneHBzJzogeydmb3JtYXQnOiAnWE1MIFBhcGVyIFNwZWNpZmljYXRpb24nLCAnaWNvbic6ICdmaWxlLXdvcmQnLCAndW5pdCc6ICdwdCd9LFxyXG4gICAgJ2R4Zic6IHsnZm9ybWF0JzogJ0F1dG9DQUQgRHJhd2luZyBGaWxlIEZvcm1hdCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ2R3Zyc6IHsnZm9ybWF0JzogJ0F1dG9DQUQgRHJhd2luZyBGaWxlIEZvcm1hdCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ2JtcCc6IHsnZm9ybWF0JzogJ0JpdG1hcCBQaWN0dXJlJywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAnZ2lmJzogeydmb3JtYXQnOiAnR3JhcGhpY3MgSW50ZXJjaGFuZ2UgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAnanBnJzogeydmb3JtYXQnOiAnSm9pbnQgUGhvdG9ncmFwaGljIEV4cGVydHMgR3JvdXAnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICdqcGUnOiB7J2Zvcm1hdCc6ICdKb2ludCBQaG90b2dyYXBoaWMgRXhwZXJ0cyBHcm91cCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ2pwZWcnOiB7J2Zvcm1hdCc6ICdKb2ludCBQaG90b2dyYXBoaWMgRXhwZXJ0cyBHcm91cCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ2pmaWYnOiB7J2Zvcm1hdCc6ICdKb2ludCBQaG90b2dyYXBoaWMgRXhwZXJ0cyBHcm91cCcsICdpY29uJzogJ2ZpbGUtaW1hZ2UnLCAndW5pdCc6ICdweCd9LFxyXG4gICAgJ3BuZyc6IHsnZm9ybWF0JzogJ1BvcnRhYmxlIE5ldHdvcmsgR3JhcGhpY3MnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICd0aWZmJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAndGlmJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAncHNkJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAnc3ZnJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAnanAyJzogeydmb3JtYXQnOiAnVGFnZ2VkIEltYWdlIEZpbGUgRm9ybWF0JywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAnZXB1Yic6IHsnZm9ybWF0JzogJ0VsZWN0cm9uaWMgUHVibGljYXRpb24nLCAnaWNvbic6ICdmaWxlLXBkZicsICd1bml0JzogJ3B0J30sXHJcbiAgICAnaWNvJzogeydmb3JtYXQnOiAnV2luZG93cyBJY29uJywgJ2ljb24nOiAnZmlsZS1pbWFnZScsICd1bml0JzogJ3B4J30sXHJcbiAgICAnd2VicCc6IHsnZm9ybWF0JzogJ0NvbXByZXNzZWQgSW1hZ2UnLCAnaWNvbic6ICdmaWxlLWltYWdlJywgJ3VuaXQnOiAncHgnfSxcclxuICAgICdtb2JpJzogeydmb3JtYXQnOiAnTW9iaXBvY2tldCBlQm9vaycsICdpY29uJzogJ2ZpbGUtcGRmJywgJ3VuaXQnOiAncHQnfSxcclxuICAgICd0ZXgnOiB7J2Zvcm1hdCc6ICdMYVRlWCBTb3VyY2UgRG9jdW1lbnQnLCAnaWNvbic6ICdmaWxlLXBkZicsICd1bml0JzogJ3B0J30sXHJcbiAgICAnZGp2dSc6IHsnZm9ybWF0JzogJ011bHRpLUxheWVyIFJhc3RlciBJbWFnZScsICdpY29uJzogJ2ZpbGUtYWx0JywgJ3VuaXQnOiAncHQnfSxcclxuICAgICd1bmtub3duJzogeydmb3JtYXQnOiAnVGhpcyBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZCcsICdpY29uJzogJ2ZpbGUnfSxcclxuICB9O1xyXG5cclxuICBwdWJsaWMgc3RhdGljIGZpbmQoZmlsZW5hbWU6IHN0cmluZywgaXNEaXJlY3Rvcnk6IGJvb2xlYW4pIHtcclxuICAgIGlmIChmaWxlbmFtZSAmJiAhaXNEaXJlY3RvcnkpIHtcclxuICAgICAgY29uc3Qgc3RyaW5ncyA9IGZpbGVuYW1lLnNwbGl0KCcuJyk7XHJcbiAgICAgIGNvbnN0IG5hbWUgPSBzdHJpbmdzLnBvcCgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGlmICh0eXBlb2YgRmlsZVV0aWwubWFwW25hbWVdID09PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgICAgcmV0dXJuIHN0cmluZ3MubGVuZ3RoID4gMCA/IEZpbGVVdGlsLm1hcFsndW5rbm93biddIDogRmlsZVV0aWwubWFwWydmb2xkZXInXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gRmlsZVV0aWwubWFwW25hbWVdO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gRmlsZVV0aWwubWFwWydmb2xkZXInXTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxufVxyXG4iXX0= \ 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 ab992e879..0b17d055c 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 @@ -885,15 +885,19 @@ class SaveFile extends FileCredentials { * @param {?} guid * @param {?} password * @param {?} content + * @param {?} pageNumber */ - constructor(guid, password, content) { + constructor(guid, password, content, pageNumber) { super(guid, password); this.content = content; + this.pageNumber = pageNumber; } } if (false) { /** @type {?} */ SaveFile.prototype.content; + /** @type {?} */ + SaveFile.prototype.pageNumber; } class FileDescription { constructor() { @@ -2108,6 +2112,7 @@ class ExcelDocumentComponent extends DocumentComponent { super(_elementRef, zoomService, windowService, navigateService); this.renderer = renderer; this.panzoom = null; + this.selectedSheet = new EventEmitter(); this.navigateService = navigateService; } /** @@ -2170,6 +2175,7 @@ class ExcelDocumentComponent extends DocumentComponent { */ selectSheet(number) { this.currentPageNo = number; + this.selectedSheet.emit(number); } /** * @param {?} page @@ -2195,7 +2201,8 @@ ExcelDocumentComponent.ctorParameters = () => [ { type: Renderer2 } ]; ExcelDocumentComponent.propDecorators = { - pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }] + pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }], + selectedSheet: [{ type: Output }] }; if (false) { /** @type {?} */ @@ -2206,6 +2213,8 @@ if (false) { ExcelDocumentComponent.prototype.panzoom; /** @type {?} */ ExcelDocumentComponent.prototype.navigateService; + /** @type {?} */ + ExcelDocumentComponent.prototype.selectedSheet; /** * @type {?} * @private 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 9000dbf29..b2cea307f 100644 --- a/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js.map +++ b/dist/libs/common-components/fesm2015/groupdocs.examples.angular-common-components.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n pageNumber: number;\r\n\r\n constructor(guid: string, password: string, content: string, pageNumber: number) {\r\n super(guid, password);\r\n this.content = content;\r\n this.pageNumber = pageNumber;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2, Output, EventEmitter } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n @Output() selectedSheet = new EventEmitter();\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n this.selectedSheet.emit(number);\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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 8e97f4cb3..a21c56539 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 @@ -1026,9 +1026,10 @@ if (false) { } var SaveFile = /** @class */ (function (_super) { __extends(SaveFile, _super); - function SaveFile(guid, password, content) { + function SaveFile(guid, password, content, pageNumber) { var _this = _super.call(this, guid, password) || this; _this.content = content; + _this.pageNumber = pageNumber; return _this; } return SaveFile; @@ -1036,6 +1037,8 @@ var SaveFile = /** @class */ (function (_super) { if (false) { /** @type {?} */ SaveFile.prototype.content; + /** @type {?} */ + SaveFile.prototype.pageNumber; } var FileDescription = /** @class */ (function () { function FileDescription() { @@ -2445,6 +2448,7 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { var _this = _super.call(this, _elementRef, zoomService, windowService, navigateService) || this; _this.renderer = renderer; _this.panzoom = null; + _this.selectedSheet = new EventEmitter(); _this.navigateService = navigateService; return _this; } @@ -2525,6 +2529,7 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { */ function (number) { this.currentPageNo = number; + this.selectedSheet.emit(number); }; /** * @param {?} page @@ -2553,7 +2558,8 @@ var ExcelDocumentComponent = /** @class */ (function (_super) { { type: Renderer2 } ]; }; ExcelDocumentComponent.propDecorators = { - pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }] + pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }], + selectedSheet: [{ type: Output }] }; return ExcelDocumentComponent; }(DocumentComponent)); @@ -2566,6 +2572,8 @@ if (false) { ExcelDocumentComponent.prototype.panzoom; /** @type {?} */ ExcelDocumentComponent.prototype.navigateService; + /** @type {?} */ + ExcelDocumentComponent.prototype.selectedSheet; /** * @type {?} * @private 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 7c5b33998..b98d4ed1d 100644 --- a/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js.map +++ b/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n\r\n constructor(guid: string, password: string, content: string) {\r\n super(guid, password);\r\n this.content = content;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n pageNumber: number;\r\n\r\n constructor(guid: string, password: string, content: string, pageNumber: number) {\r\n super(guid, password);\r\n this.content = content;\r\n this.pageNumber = pageNumber;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2, Output, EventEmitter } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n @Output() selectedSheet = new EventEmitter();\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n this.selectedSheet.emit(number);\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\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+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : 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 {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 private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import {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 {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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 5e93b6524..1e4af9a2b 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":112,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":113,"character":12},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":113,"character":26},{"__symbolic":"reference","module":"ng-click-outside","name":"ClickOutsideModule","line":113,"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":"ExcelDocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"ExcelPageComponent"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"DisabledCursorDirective"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"EditorDirective"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"}],"exports":[{"__symbolic":"reference","name":"TopToolbarComponent"},{"__symbolic":"reference","name":"SidePanelComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"LogoComponent"},{"__symbolic":"reference","name":"TooltipComponent"},{"__symbolic":"reference","name":"ModalComponent"},{"__symbolic":"reference","name":"BrowseFilesModalComponent"},{"__symbolic":"reference","name":"DocumentComponent"},{"__symbolic":"reference","name":"ExcelDocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"ExcelPageComponent"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"},{"__symbolic":"reference","name":"EditorDirective"},{"__symbolic":"reference","name":"FormattingDirective"}],"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"},{"__symbolic":"reference","name":"ExcelPageService"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Api":{"__symbolic":"class","members":{},"statics":{"VIEWER_APP":"/viewer","SIGNATURE_APP":"/signature","ANNOTATION_APP":"/annotation","SEARCH_APP":"/search","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","METADATA_APP":"/metadata","DEFAULT_API_ENDPOINT":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"window"},"member":"location"},"member":"href"},"LOAD_FILE_TREE":"/loadFileTree","LOAD_CONFIG":"/loadConfig","LOAD_DOCUMENT_DESCRIPTION":"/loadDocumentDescription","LOAD_DOCUMENT_PAGE":"/loadDocumentPage","LOAD_DOCUMENT_PROPERTIES":"/loadProperties","LOAD_DOCUMENT_PROPERTIES_NAMES":"/loadPropertiesNames","SAVE_PROPERTY":"/saveProperty","REMOVE_PROPERTY":"/removeProperty","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","CREATE_FILE":"/createFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","REMOVE_FROM_INDEX":"/removeFromIndex","GET_FILE_STATUS":"/getFileStatus","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","SEARCH":"/search","ADD_FILES_TO_INDEX":"/addFilesToIndex","CLEAN_METADATA":"/clean","EXPORT_METADATA":"/export","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":49,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":54,"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":61,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getMetadataApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__symbolic":"method"}],"getSearchApiEndpoint":[{"__symbolic":"method"}]}},"CommonModals":{"__symbolic":"class","members":{},"statics":{"PasswordRequired":"gd-password-required","ErrorMessage":"gd-error-message","BrowseFiles":"gd-browse-files","CreateDocument":"gd-create-document","OperationSuccess":"gd-success-modal","DrawHandSignature":"gd-draw-hand-signature","DrawStampSignature":"gd-draw-stamp-signature","InformationMessage":"gd-information-message"}},"ModalService":{"__symbolic":"class","members":{"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"PageModel":{"__symbolic":"class","members":{}},"RotatedPage":{"__symbolic":"class","members":{}},"FileCredentials":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"SaveFile":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FileCredentials"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"FileDescription":{"__symbolic":"class","members":{}},"FileModel":{"__symbolic":"class","members":{}},"HttpError":{"__symbolic":"class","members":{},"statics":{"BadRequest":400,"Unauthorized":401,"Forbidden":403,"NotFound":404,"TimeOut":408,"Conflict":409,"InternalServerError":500}},"Utils":{"__symbolic":"class","members":{}},"FileUtil":{"__symbolic":"class","members":{},"statics":{"map":{"folder":{"format":"","icon":"folder","$quoted$":["format","icon"]},"pdf":{"format":"Portable Document Format","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"doc":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"docx":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"docm":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dot":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dotx":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dotm":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xls":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsx":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsm":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsb":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xls2003":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xltx":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xltm":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"ppt":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pptx":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pps":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ppsx":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"vsd":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vdx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vss":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vsx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vst":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vtx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vsdx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vdw":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vstx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vssx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"mpp":{"format":"Microsoft Project","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"mpt":{"format":"Microsoft Project","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"msg":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"eml":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"emlx":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"one":{"format":"Microsoft OneNote","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"odt":{"format":"Open Document Text","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"ott":{"format":"Open Document Text Template","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"ods":{"format":"Open Document Spreadsheet","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"odp":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"otp":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ots":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"potx":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"potm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pptm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ppsm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"rtf":{"format":"Rich Text Format","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"txt":{"format":"Plain Text File","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"csv":{"format":"Comma-Separated Values","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"html":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"mht":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"mhtml":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xml":{"format":"Extensible Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xps":{"format":"XML Paper Specification","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dxf":{"format":"AutoCAD Drawing File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"dwg":{"format":"AutoCAD Drawing File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"bmp":{"format":"Bitmap Picture","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"gif":{"format":"Graphics Interchange Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpg":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpe":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpeg":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jfif":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"png":{"format":"Portable Network Graphics","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"tiff":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"tif":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"psd":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"svg":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jp2":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"epub":{"format":"Electronic Publication","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"ico":{"format":"Windows Icon","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"webp":{"format":"Compressed Image","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"mobi":{"format":"Mobipocket eBook","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"tex":{"format":"LaTeX Source Document","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"djvu":{"format":"Multi-Layer Raster Image","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"unknown":{"format":"This format is not supported","icon":"file","$quoted$":["format","icon"]},"$quoted$":["folder","pdf","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown"]}}},"FileService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"UploadFilesService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeFilesList":[{"__symbolic":"method"}]}},"SanitizeHtmlPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"safeHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"SanitizeResourceHtmlPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":13,"character":1},"arguments":[{"name":"safeResourceHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"SanitizeStylePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":23,"character":1},"arguments":[{"name":"safeStyle"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"HighlightSearchPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":33,"character":1},"arguments":[{"name":"highlight"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"NavigateService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PagePreloadService"}]}],"nextPage":[{"__symbolic":"method"}],"prevPage":[{"__symbolic":"method"}],"toLastPage":[{"__symbolic":"method"}],"toFirstPage":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"PagePreloadService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeLastPageInView":[{"__symbolic":"method"}]}},"ZoomService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeZoom":[{"__symbolic":"method"}],"createZoomOption":[{"__symbolic":"method"}],"zoomOptions":[{"__symbolic":"method"}]}},"RenderPrintService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changePages":[{"__symbolic":"method"}],"changeBlob":[{"__symbolic":"method"}]}},"ErrorInterceptorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"intercept":[{"__symbolic":"method"}]},"statics":{"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:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],"members":{"files":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"uploadConfig":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"selectedFileGuid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"selectedDirectory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"urlForUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"closing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getSize":[{"__symbolic":"method"}],"getFormatName":[{"__symbolic":"method"}],"getFormatIcon":[{"__symbolic":"method"}],"choose":[{"__symbolic":"method"}],"goUp":[{"__symbolic":"method"}],"selectUpload":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"showSpinner":[{"__symbolic":"method"}],"uploadUrl":[{"__symbolic":"method"}],"handleFileInput":[{"__symbolic":"method"}],"cleanUpload":[{"__symbolic":"method"}]}},"ButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-button","template":"
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","styles":[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],"members":{"iconOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"intent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"className":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"toggle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"iconSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"iconRegular":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"elementPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"}]}],"iconButtonClass":[{"__symbolic":"method"}],"onHovering":[{"__symbolic":"method"}],"onUnhovering":[{"__symbolic":"method"}],"cleanAll":[{"__symbolic":"method"}]}},"DisabledCursorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdDisabledCursor]"}]}],"members":{"dis":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"cursor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":3},"arguments":["class.inactive"]}]}],"updateCursor":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"DndDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[gdDnd]"}]}],"members":{"closing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"opening":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":9,"character":3}}]}],"dropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":3},"arguments":["class.active"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"onDragEnter":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":19,"character":3},"arguments":["dragenter",["$event"]]}]}],"onDragOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":28,"character":3},"arguments":["dragover",["$event"]]}]}],"onDragLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["dragleave",["$event"]]}]}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":46,"character":3},"arguments":["drop",["$event"]]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":59,"character":3},"arguments":["click",["$event"]]}]}],"closeArea":[{"__symbolic":"method"}]}},"DocumentComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"gd-document","template":"
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n","styles":[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"selectedPage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"showActiveSlide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":51,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"ifPresentation":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"isVisible":[{"__symbolic":"method"}]}},"ExcelDocumentComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"DocumentComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"gd-excel-document","template":"
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n","styles":[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"pages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":14,"character":3},"arguments":[{"__symbolic":"reference","name":"ExcelPageComponent"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":20,"character":38,"context":{"typeName":"HTMLElement"},"module":"./lib/excel-document/excel-document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":24,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"getScrollBarWidth":[{"__symbolic":"method"}],"refreshExcelDocHeight":[{"__symbolic":"method"}],"selectSheet":[{"__symbolic":"method"}],"getSheetName":[{"__symbolic":"method"}]}},"ErrorModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-error-modal","template":"\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : 'Server is not available'}}
\r\n
\r\n
\r\n
\r\n","styles":[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"InitStateComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-init-state","template":"
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n","styles":[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],"members":{"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"fileDropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"dropped":[{"__symbolic":"method"}]}},"LogoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-logo","template":"
\r\n \r\n \r\n
\r\n\r\n","styles":[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],"members":{"logo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-modal","template":"
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
×
\r\n

{{title}}

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

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n","styles":[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"]}]}],"members":{"closeUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"ngOnInit":[{"__symbolic":"method"}],"handleFileInput":[{"__symbolic":"method"}],"onCloseUpload":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ZoomDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[gdZoom]"}]}],"members":{"zoomActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"zoomInt":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":13,"character":3},"arguments":["style.zoom"]}]}],"transform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":14,"character":3},"arguments":["style.transform"]}]}],"transformOrigin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":15,"character":3},"arguments":["style.transform-origin"]}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["style.width"]}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"character":3},"arguments":["style.height"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":18,"character":3},"arguments":["style.min-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":21,"character":92}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setStyles":[{"__symbolic":"method"}],"getScrollWidth":[{"__symbolic":"method"}],"getScrollHeight":[{"__symbolic":"method"}],"resizePages":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SelectionService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"restoreSelection":[{"__symbolic":"method"}],"captureSelection":[{"__symbolic":"method"}],"putSelection":[{"__symbolic":"method"}],"refreshSelection":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"OnCloseService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"close":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"LoadingMaskService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"onRequestStart":[{"__symbolic":"method"}],"onRequestFinish":[{"__symbolic":"method"}],"notify":[{"__symbolic":"method"}]}},"LoadingMaskInterceptorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LoadingMaskService"}]}],"intercept":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"FormattingDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"selector":"[gdFormatting]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FormattingService"},{"__symbolic":"reference","name":"BackFormattingService"},{"__symbolic":"reference","name":"SelectionService"}]}],"mouseup":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":29,"character":3},"arguments":["mouseup"]}]}],"checkJustify":[{"__symbolic":"method"}],"checkList":[{"__symbolic":"method"}],"reportFontSize":[{"__symbolic":"method"}],"getComputedStyleProperty":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"setBgColor":[{"__symbolic":"method"}],"setColor":[{"__symbolic":"method"}],"setFontSize":[{"__symbolic":"method"}],"toggleUndo":[{"__symbolic":"method"}],"toggleRedo":[{"__symbolic":"method"}],"setFont":[{"__symbolic":"method"}],"toggleStrikeout":[{"__symbolic":"method"}],"toggleAlign":[{"__symbolic":"method"}],"toggleAlignIE":[{"__symbolic":"method"}],"toggleList":[{"__symbolic":"method"}]}},"Formatting":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]},"statics":{"default":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Formatting"},"arguments":[10,"#000000","#FFFFFF",false,false,false,"Arial",false,"",""]}}}},"FormattingService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeFormatFontSize":[{"__symbolic":"method"}],"changeFormatBold":[{"__symbolic":"method"}],"changeFormatUnderline":[{"__symbolic":"method"}],"Undo":[{"__symbolic":"method"}],"Redo":[{"__symbolic":"method"}],"changeFormatItalic":[{"__symbolic":"method"}],"changeFormatColor":[{"__symbolic":"method"}],"changeFormatBgColor":[{"__symbolic":"method"}],"changeFormatFont":[{"__symbolic":"method"}],"changeFormatStrikeout":[{"__symbolic":"method"}],"changeFormatAlign":[{"__symbolic":"method"}],"changeFormatList":[{"__symbolic":"method"}]},"statics":{"createFontSizeOption":{"__symbolic":"function","parameters":["val"],"value":{"value":{"__symbolic":"reference","name":"val"},"name":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"reference","name":"val"},"right":"px"},"separator":false}},"getFontSizeOptions":{"__symbolic":"function","parameters":[],"value":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[8]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[10]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[12]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[14]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[16]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[18]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[20]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[22]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[24]}]},"createFontOption":{"__symbolic":"function","parameters":["val"],"value":{"value":{"__symbolic":"reference","name":"val"},"name":{"__symbolic":"reference","name":"val"},"separator":false}}}},"BackFormattingService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FormattingService"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ngInjectableDef":{}}},"EditorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[gdEditor]"}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SelectionService"},{"__symbolic":"reference","name":"EditHtmlService"}]}],"onInput":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":15,"character":3},"arguments":["keyup",["$event"]]}]}],"onMouseleave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":26,"character":3},"arguments":["mouseleave",["$event"]]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["blur",["$event"]]}]}]}},"EditHtmlService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ngInjectableDef":{}}},"ColorPickerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"gd-color-picker","template":"
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"]}]}],"members":{"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"selectedColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"closeOutside":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"LoadingMaskComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-loading-mask","template":"
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n","styles":[".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"]}]}],"members":{"loadingMask":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LoadingMaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SuccessModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-success-modal","template":"\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TabComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-tab","template":"
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n","styles":[".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"tabTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TabActivatorService"}]}],"activation":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"selectTab":[{"__symbolic":"method"}]}},"TabbedToolbarsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabbed-toolbars","template":"
\r\n \r\n \r\n
\r\n","styles":[".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"]}]}],"members":{"logo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TabActivatorService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeActiveTab":[{"__symbolic":"method"}]}},"DropDownToggleComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":41,"character":1},"arguments":[{"selector":"gd-drop-down-toggle","template":"","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":45,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"click":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":48,"character":3},"arguments":["click",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}]}},"DropDownItemsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":56,"character":1},"arguments":[{"selector":"gd-drop-down-items","template":"
","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":60,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}],"onClickOutside":[{"__symbolic":"method"}]}},"DropDownItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":86,"character":1},"arguments":[{"selector":"gd-drop-down-item","template":"
","styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":92,"character":3},"arguments":["class"]}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":95,"character":3}}]}],"click":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":98,"character":3},"arguments":["click"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":101,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}],"selectEntry":[{"__symbolic":"method"}]}},"DropDownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":112,"character":1},"arguments":[{"selector":"gd-drop-down","template":"
","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":116,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"placement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":126,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":127,"character":3},"arguments":["class.show"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":130,"character":3},"arguments":["class"]}]}],"close":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"getPlacement":[{"__symbolic":"method"}]}},"LeftSideBarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-left-side-bar","template":"
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n","styles":[".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"]}]}],"members":{"showSpinner":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"AddDynamicComponentService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":12,"character":40},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":13,"character":31}]}],"addDynamicComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"HostDynamicDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[gdHostDynamic]"}]}],"members":{"ident":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":9,"character":39},{"__symbolic":"reference","name":"HostingDynamicComponentService"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"HostingDynamicComponentService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}]}},"TopTabActivatorService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"TabActivatorService"},"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"MenuType":{"__symbolic":"class","members":{},"statics":{"FOR_SIGNATURE":"signature","FOR_ANNOTATION":"annotation"}},"ContextMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"gd-context-menu","template":"
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","styles":[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"]}]}],"members":{"formatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"textMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"topPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"lock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"translation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"menuType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"changeFormatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"removeItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"copySign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"lockOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"comment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":32,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/context-menu/context-menu.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":33,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"changeScale":[{"__symbolic":"method"}],"saveChanges":[{"__symbolic":"method"}],"selectFontSize":[{"__symbolic":"method"}],"selectFont":[{"__symbolic":"method"}],"selectColor":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"deleteItem":[{"__symbolic":"method"}],"toggleLock":[{"__symbolic":"method"}],"onCopySign":[{"__symbolic":"method"}],"isSignature":[{"__symbolic":"method"}],"isAnnotation":[{"__symbolic":"method"}],"addComment":[{"__symbolic":"method"}]}},"TextMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"gd-text-menu","template":"
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n","styles":["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"]}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"fontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"font":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"bold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"italic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"decoration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"showTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"outFontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"outFont":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"outBold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"outItalic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"outUnderline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"outColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":42,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/text-menu/text-menu.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":43,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"changePosition":[{"__symbolic":"method"}],"selectFontSize":[{"__symbolic":"method"}],"selectFont":[{"__symbolic":"method"}],"toggleColorPicker":[{"__symbolic":"method"}],"selectColor":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"closePicker":[{"__symbolic":"method"}]}},"ExcelPageService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getUpdatedPage":[{"__symbolic":"method"}],"getPageWithoutHeader":[{"__symbolic":"method"}],"createHeader":[{"__symbolic":"method"}],"colName":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabs","template":"
\r\n \r\n
\r\n","styles":[".gd-tabs{display:-webkit-box;display:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdTooltip]"}]}],"members":{"showToolTip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"onHovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["mouseenter"]}]}],"onUnhovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":17,"character":3},"arguments":["mouseleave"]}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"gd-resizing","template":"
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n","styles":[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],"members":{"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"se":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"ne":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"sw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"nw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"pageWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"pageHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"offsetY":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"offsetTop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"offsetLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"release":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"catchUp":[{"__symbolic":"method"}],"resize":[{"__symbolic":"method"}],"setOffsets":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"getElementId":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"gd-top-tab","template":"
\r\n \r\n \r\n
\r\n","styles":[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"activeTab":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"elementPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TopTabActivatorService"},{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"activation":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"toggleTab":[{"__symbolic":"method"}]}}},"origins":{"CommonComponentsModule":"./lib/common-components.module","Api":"./lib/config.service","ConfigService":"./lib/config.service","CommonModals":"./lib/modal.service","ModalService":"./lib/modal.service","PageModel":"./lib/file.service","RotatedPage":"./lib/file.service","FileCredentials":"./lib/file.service","SaveFile":"./lib/file.service","FileDescription":"./lib/file.service","FileModel":"./lib/file.service","HttpError":"./lib/file.service","Utils":"./lib/file.service","FileUtil":"./lib/file.service","FileService":"./lib/file.service","UploadFilesService":"./lib/upload-files.service","SanitizeHtmlPipe":"./lib/pipes","SanitizeResourceHtmlPipe":"./lib/pipes","SanitizeStylePipe":"./lib/pipes","HighlightSearchPipe":"./lib/pipes","NavigateService":"./lib/navigate.service","PagePreloadService":"./lib/page-preload.service","ZoomService":"./lib/zoom.service","RenderPrintService":"./lib/render-print.service","ErrorInterceptorService":"./lib/error-interceptor.service","ExceptionMessageService":"./lib/exception-message.service","PasswordService":"./lib/password.service","WindowService":"./lib/window.service","ViewportService":"./lib/viewport.service","BrowseFilesModalComponent":"./lib/browse-files-modal/browse-files-modal.component","ButtonComponent":"./lib/button/button.component","DisabledCursorDirective":"./lib/disabled-cursor.directive","DndDirective":"./lib/dnd.directive","DocumentComponent":"./lib/document/document.component","ExcelDocumentComponent":"./lib/excel-document/excel-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","ExcelPageComponent":"./lib/excel-page/excel-page.component","PasswordRequiredComponent":"./lib/password-required/password-required.component","RenderPrintDirective":"./lib/render-print.directive","RotationDirective":"./lib/rotation.directive","ScrollableDirective":"./lib/scrollable.directive","MouseWheelDirective":"./lib/mousewheel.directive","SearchService":"./lib/search.service","SearchComponent":"./lib/search/search.component","SearchableDirective":"./lib/searchable.directive","Option":"./lib/select/select.component","SelectComponent":"./lib/select/select.component","TooltipComponent":"./lib/tooltip/tooltip.component","TopToolbarComponent":"./lib/top-toolbar/top-toolbar.component","SidePanelComponent":"./lib/side-panel/side-panel.component","UploadFileZoneComponent":"./lib/upload-file-zone/upload-file-zone.component","ZoomDirective":"./lib/zoom.directive","SelectionService":"./lib/selection.service","OnCloseService":"./lib/on-close.service","LoadingMaskService":"./lib/loading-mask.service","LoadingMaskInterceptorService":"./lib/loading-mask-interceptor.service","FormattingDirective":"./lib/formatting.directive","Formatting":"./lib/formatting.service","FormattingService":"./lib/formatting.service","BackFormattingService":"./lib/back-formatting.service","EditorDirective":"./lib/editor.directive","EditHtmlService":"./lib/edit-html.service","ColorPickerComponent":"./lib/color-picker/color-picker.component","LoadingMaskComponent":"./lib/loading-mask/loading-mask.component","SuccessModalComponent":"./lib/success-modal/success-modal.component","TabComponent":"./lib/tab/tab.component","TabbedToolbarsComponent":"./lib/tabbed-toolbars/tabbed-toolbars.component","TabActivatorService":"./lib/tab-activator.service","DropDownToggleComponent":"./lib/drop-down/drop-down.component","DropDownItemsComponent":"./lib/drop-down/drop-down.component","DropDownItemComponent":"./lib/drop-down/drop-down.component","DropDownComponent":"./lib/drop-down/drop-down.component","LeftSideBarComponent":"./lib/left-side-bar/left-side-bar.component","AddDynamicComponentService":"./lib/add-dynamic-component.service","HostDynamicDirective":"./lib/host-dynamic.directive","HostingDynamicComponentService":"./lib/hosting-dynamic-component.service","TopTabActivatorService":"./lib/top-tab-activator.service","MenuType":"./lib/context-menu/context-menu.component","ContextMenuComponent":"./lib/context-menu/context-menu.component","TextMenuComponent":"./lib/text-menu/text-menu.component","ExcelPageService":"./lib/excel-page.service","ɵ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":112,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":113,"character":12},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":113,"character":26},{"__symbolic":"reference","module":"ng-click-outside","name":"ClickOutsideModule","line":113,"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":"ExcelDocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"ExcelPageComponent"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"DisabledCursorDirective"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"EditorDirective"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"}],"exports":[{"__symbolic":"reference","name":"TopToolbarComponent"},{"__symbolic":"reference","name":"SidePanelComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"LogoComponent"},{"__symbolic":"reference","name":"TooltipComponent"},{"__symbolic":"reference","name":"ModalComponent"},{"__symbolic":"reference","name":"BrowseFilesModalComponent"},{"__symbolic":"reference","name":"DocumentComponent"},{"__symbolic":"reference","name":"ExcelDocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"ExcelPageComponent"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"},{"__symbolic":"reference","name":"EditorDirective"},{"__symbolic":"reference","name":"FormattingDirective"}],"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"},{"__symbolic":"reference","name":"ExcelPageService"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Api":{"__symbolic":"class","members":{},"statics":{"VIEWER_APP":"/viewer","SIGNATURE_APP":"/signature","ANNOTATION_APP":"/annotation","SEARCH_APP":"/search","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","METADATA_APP":"/metadata","DEFAULT_API_ENDPOINT":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"window"},"member":"location"},"member":"href"},"LOAD_FILE_TREE":"/loadFileTree","LOAD_CONFIG":"/loadConfig","LOAD_DOCUMENT_DESCRIPTION":"/loadDocumentDescription","LOAD_DOCUMENT_PAGE":"/loadDocumentPage","LOAD_DOCUMENT_PROPERTIES":"/loadProperties","LOAD_DOCUMENT_PROPERTIES_NAMES":"/loadPropertiesNames","SAVE_PROPERTY":"/saveProperty","REMOVE_PROPERTY":"/removeProperty","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","CREATE_FILE":"/createFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","REMOVE_FROM_INDEX":"/removeFromIndex","GET_FILE_STATUS":"/getFileStatus","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","SEARCH":"/search","ADD_FILES_TO_INDEX":"/addFilesToIndex","CLEAN_METADATA":"/clean","EXPORT_METADATA":"/export","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":49,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":54,"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":61,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getMetadataApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__symbolic":"method"}],"getSearchApiEndpoint":[{"__symbolic":"method"}]}},"CommonModals":{"__symbolic":"class","members":{},"statics":{"PasswordRequired":"gd-password-required","ErrorMessage":"gd-error-message","BrowseFiles":"gd-browse-files","CreateDocument":"gd-create-document","OperationSuccess":"gd-success-modal","DrawHandSignature":"gd-draw-hand-signature","DrawStampSignature":"gd-draw-stamp-signature","InformationMessage":"gd-information-message"}},"ModalService":{"__symbolic":"class","members":{"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"PageModel":{"__symbolic":"class","members":{}},"RotatedPage":{"__symbolic":"class","members":{}},"FileCredentials":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"SaveFile":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FileCredentials"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"number"}]}]}},"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:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],"members":{"files":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"uploadConfig":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"selectedFileGuid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"selectedDirectory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"urlForUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"closing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getSize":[{"__symbolic":"method"}],"getFormatName":[{"__symbolic":"method"}],"getFormatIcon":[{"__symbolic":"method"}],"choose":[{"__symbolic":"method"}],"goUp":[{"__symbolic":"method"}],"selectUpload":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"showSpinner":[{"__symbolic":"method"}],"uploadUrl":[{"__symbolic":"method"}],"handleFileInput":[{"__symbolic":"method"}],"cleanUpload":[{"__symbolic":"method"}]}},"ButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-button","template":"
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","styles":[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],"members":{"iconOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"intent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"className":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"toggle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"iconSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"iconRegular":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"elementPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"}]}],"iconButtonClass":[{"__symbolic":"method"}],"onHovering":[{"__symbolic":"method"}],"onUnhovering":[{"__symbolic":"method"}],"cleanAll":[{"__symbolic":"method"}]}},"DisabledCursorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdDisabledCursor]"}]}],"members":{"dis":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"cursor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":3},"arguments":["class.inactive"]}]}],"updateCursor":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"DndDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[gdDnd]"}]}],"members":{"closing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"opening":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":9,"character":3}}]}],"dropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":3},"arguments":["class.active"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"onDragEnter":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":19,"character":3},"arguments":["dragenter",["$event"]]}]}],"onDragOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":28,"character":3},"arguments":["dragover",["$event"]]}]}],"onDragLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["dragleave",["$event"]]}]}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":46,"character":3},"arguments":["drop",["$event"]]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":59,"character":3},"arguments":["click",["$event"]]}]}],"closeArea":[{"__symbolic":"method"}]}},"DocumentComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"gd-document","template":"
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n","styles":[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"selectedPage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"showActiveSlide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":51,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"ifPresentation":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"isVisible":[{"__symbolic":"method"}]}},"ExcelDocumentComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"DocumentComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"gd-excel-document","template":"
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n","styles":[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"pages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":14,"character":3},"arguments":[{"__symbolic":"reference","name":"ExcelPageComponent"}]}]}],"selectedSheet":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":21,"character":38,"context":{"typeName":"HTMLElement"},"module":"./lib/excel-document/excel-document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":25,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"getScrollBarWidth":[{"__symbolic":"method"}],"refreshExcelDocHeight":[{"__symbolic":"method"}],"selectSheet":[{"__symbolic":"method"}],"getSheetName":[{"__symbolic":"method"}]}},"ErrorModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-error-modal","template":"\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : 'Server is not available'}}
\r\n
\r\n
\r\n
\r\n","styles":[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"InitStateComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-init-state","template":"
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n","styles":[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],"members":{"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"fileDropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"dropped":[{"__symbolic":"method"}]}},"LogoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-logo","template":"
\r\n \r\n \r\n
\r\n\r\n","styles":[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],"members":{"logo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-modal","template":"
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
×
\r\n

{{title}}

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

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n","styles":[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"]}]}],"members":{"closeUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"ngOnInit":[{"__symbolic":"method"}],"handleFileInput":[{"__symbolic":"method"}],"onCloseUpload":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ZoomDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[gdZoom]"}]}],"members":{"zoomActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"zoomInt":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":13,"character":3},"arguments":["style.zoom"]}]}],"transform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":14,"character":3},"arguments":["style.transform"]}]}],"transformOrigin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":15,"character":3},"arguments":["style.transform-origin"]}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":16,"character":3},"arguments":["style.width"]}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"character":3},"arguments":["style.height"]}]}],"minWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":18,"character":3},"arguments":["style.min-width"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":21,"character":92}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setStyles":[{"__symbolic":"method"}],"getScrollWidth":[{"__symbolic":"method"}],"getScrollHeight":[{"__symbolic":"method"}],"resizePages":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SelectionService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"restoreSelection":[{"__symbolic":"method"}],"captureSelection":[{"__symbolic":"method"}],"putSelection":[{"__symbolic":"method"}],"refreshSelection":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"OnCloseService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"close":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"LoadingMaskService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"onRequestStart":[{"__symbolic":"method"}],"onRequestFinish":[{"__symbolic":"method"}],"notify":[{"__symbolic":"method"}]}},"LoadingMaskInterceptorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LoadingMaskService"}]}],"intercept":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"FormattingDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"selector":"[gdFormatting]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FormattingService"},{"__symbolic":"reference","name":"BackFormattingService"},{"__symbolic":"reference","name":"SelectionService"}]}],"mouseup":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":29,"character":3},"arguments":["mouseup"]}]}],"checkJustify":[{"__symbolic":"method"}],"checkList":[{"__symbolic":"method"}],"reportFontSize":[{"__symbolic":"method"}],"getComputedStyleProperty":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"setBgColor":[{"__symbolic":"method"}],"setColor":[{"__symbolic":"method"}],"setFontSize":[{"__symbolic":"method"}],"toggleUndo":[{"__symbolic":"method"}],"toggleRedo":[{"__symbolic":"method"}],"setFont":[{"__symbolic":"method"}],"toggleStrikeout":[{"__symbolic":"method"}],"toggleAlign":[{"__symbolic":"method"}],"toggleAlignIE":[{"__symbolic":"method"}],"toggleList":[{"__symbolic":"method"}]}},"Formatting":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]},"statics":{"default":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Formatting"},"arguments":[10,"#000000","#FFFFFF",false,false,false,"Arial",false,"",""]}}}},"FormattingService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeFormatFontSize":[{"__symbolic":"method"}],"changeFormatBold":[{"__symbolic":"method"}],"changeFormatUnderline":[{"__symbolic":"method"}],"Undo":[{"__symbolic":"method"}],"Redo":[{"__symbolic":"method"}],"changeFormatItalic":[{"__symbolic":"method"}],"changeFormatColor":[{"__symbolic":"method"}],"changeFormatBgColor":[{"__symbolic":"method"}],"changeFormatFont":[{"__symbolic":"method"}],"changeFormatStrikeout":[{"__symbolic":"method"}],"changeFormatAlign":[{"__symbolic":"method"}],"changeFormatList":[{"__symbolic":"method"}]},"statics":{"createFontSizeOption":{"__symbolic":"function","parameters":["val"],"value":{"value":{"__symbolic":"reference","name":"val"},"name":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"reference","name":"val"},"right":"px"},"separator":false}},"getFontSizeOptions":{"__symbolic":"function","parameters":[],"value":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[8]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[10]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[12]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[14]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[16]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[18]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[20]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[22]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormattingService"},"member":"createFontSizeOption"},"arguments":[24]}]},"createFontOption":{"__symbolic":"function","parameters":["val"],"value":{"value":{"__symbolic":"reference","name":"val"},"name":{"__symbolic":"reference","name":"val"},"separator":false}}}},"BackFormattingService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FormattingService"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ngInjectableDef":{}}},"EditorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[gdEditor]"}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SelectionService"},{"__symbolic":"reference","name":"EditHtmlService"}]}],"onInput":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":15,"character":3},"arguments":["keyup",["$event"]]}]}],"onMouseleave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":26,"character":3},"arguments":["mouseleave",["$event"]]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["blur",["$event"]]}]}]}},"EditHtmlService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"ngInjectableDef":{}}},"ColorPickerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"gd-color-picker","template":"
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"]}]}],"members":{"isOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"selectedColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"closeOutside":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"LoadingMaskComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-loading-mask","template":"
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n","styles":[".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"]}]}],"members":{"loadingMask":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LoadingMaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"SuccessModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-success-modal","template":"\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","styles":[".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TabComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-tab","template":"
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n","styles":[".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"tabTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TabActivatorService"}]}],"activation":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"selectTab":[{"__symbolic":"method"}]}},"TabbedToolbarsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabbed-toolbars","template":"
\r\n \r\n \r\n
\r\n","styles":[".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"]}]}],"members":{"logo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"TabActivatorService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeActiveTab":[{"__symbolic":"method"}]}},"DropDownToggleComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":41,"character":1},"arguments":[{"selector":"gd-drop-down-toggle","template":"","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":45,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"click":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":48,"character":3},"arguments":["click",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}]}},"DropDownItemsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":56,"character":1},"arguments":[{"selector":"gd-drop-down-items","template":"
","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":60,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}],"onClickOutside":[{"__symbolic":"method"}]}},"DropDownItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":86,"character":1},"arguments":[{"selector":"gd-drop-down-item","template":"
","styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":92,"character":3},"arguments":["class"]}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":95,"character":3}}]}],"click":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":98,"character":3},"arguments":["click"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":101,"character":15},"arguments":[{"__symbolic":"reference","name":"DropDownComponent"}]}]],"parameters":[null]}],"selectEntry":[{"__symbolic":"method"}]}},"DropDownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":112,"character":1},"arguments":[{"selector":"gd-drop-down","template":"
","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":116,"character":18},"member":"None"},"styles":[".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"]}]}],"members":{"placement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":126,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":127,"character":3},"arguments":["class.show"]}]}],"class":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":130,"character":3},"arguments":["class"]}]}],"close":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"getPlacement":[{"__symbolic":"method"}]}},"LeftSideBarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-left-side-bar","template":"
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n","styles":[".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"]}]}],"members":{"showSpinner":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"AddDynamicComponentService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":12,"character":40},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":13,"character":31}]}],"addDynamicComponent":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"HostDynamicDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[gdHostDynamic]"}]}],"members":{"ident":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":9,"character":39},{"__symbolic":"reference","name":"HostingDynamicComponentService"}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"HostingDynamicComponentService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}]}},"TopTabActivatorService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"TabActivatorService"},"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"MenuType":{"__symbolic":"class","members":{},"statics":{"FOR_SIGNATURE":"signature","FOR_ANNOTATION":"annotation"}},"ContextMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"gd-context-menu","template":"
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","styles":[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"]}]}],"members":{"formatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"textMenu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"topPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"lock":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"translation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"menuType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"changeFormatting":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"removeItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"copySign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"lockOut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"comment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":32,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/context-menu/context-menu.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":33,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"changeScale":[{"__symbolic":"method"}],"saveChanges":[{"__symbolic":"method"}],"selectFontSize":[{"__symbolic":"method"}],"selectFont":[{"__symbolic":"method"}],"selectColor":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"deleteItem":[{"__symbolic":"method"}],"toggleLock":[{"__symbolic":"method"}],"onCopySign":[{"__symbolic":"method"}],"isSignature":[{"__symbolic":"method"}],"isAnnotation":[{"__symbolic":"method"}],"addComment":[{"__symbolic":"method"}]}},"TextMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"gd-text-menu","template":"
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n","styles":["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"]}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"fontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"font":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"bold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"italic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"decoration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"showTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"outFontSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"outFont":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"outBold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"outItalic":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"outUnderline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"outColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OnCloseService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":42,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/text-menu/text-menu.component"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":43,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"changePosition":[{"__symbolic":"method"}],"selectFontSize":[{"__symbolic":"method"}],"selectFont":[{"__symbolic":"method"}],"toggleColorPicker":[{"__symbolic":"method"}],"selectColor":[{"__symbolic":"method"}],"toggleBold":[{"__symbolic":"method"}],"toggleItalic":[{"__symbolic":"method"}],"toggleUnderline":[{"__symbolic":"method"}],"closePicker":[{"__symbolic":"method"}]}},"ExcelPageService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getUpdatedPage":[{"__symbolic":"method"}],"getPageWithoutHeader":[{"__symbolic":"method"}],"createHeader":[{"__symbolic":"method"}],"colName":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-tabs","template":"
\r\n \r\n
\r\n","styles":[".gd-tabs{display:-webkit-box;display:flex}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdTooltip]"}]}],"members":{"showToolTip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"onHovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["mouseenter"]}]}],"onUnhovering":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":17,"character":3},"arguments":["mouseleave"]}]}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"gd-resizing","template":"
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n","styles":[".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"]}]}],"members":{"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"se":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"ne":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"sw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"nw":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"pageWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"pageHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"offsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"offsetY":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"offsetTop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"offsetLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":3}}]}],"release":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"catchUp":[{"__symbolic":"method"}],"resize":[{"__symbolic":"method"}],"setOffsets":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"getElementId":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"gd-top-tab","template":"
\r\n \r\n \r\n
\r\n","styles":[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"activeTab":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"elementPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TopTabActivatorService"},{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"activation":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"toggleTab":[{"__symbolic":"method"}]}}},"origins":{"CommonComponentsModule":"./lib/common-components.module","Api":"./lib/config.service","ConfigService":"./lib/config.service","CommonModals":"./lib/modal.service","ModalService":"./lib/modal.service","PageModel":"./lib/file.service","RotatedPage":"./lib/file.service","FileCredentials":"./lib/file.service","SaveFile":"./lib/file.service","FileDescription":"./lib/file.service","FileModel":"./lib/file.service","HttpError":"./lib/file.service","Utils":"./lib/file.service","FileUtil":"./lib/file.service","FileService":"./lib/file.service","UploadFilesService":"./lib/upload-files.service","SanitizeHtmlPipe":"./lib/pipes","SanitizeResourceHtmlPipe":"./lib/pipes","SanitizeStylePipe":"./lib/pipes","HighlightSearchPipe":"./lib/pipes","NavigateService":"./lib/navigate.service","PagePreloadService":"./lib/page-preload.service","ZoomService":"./lib/zoom.service","RenderPrintService":"./lib/render-print.service","ErrorInterceptorService":"./lib/error-interceptor.service","ExceptionMessageService":"./lib/exception-message.service","PasswordService":"./lib/password.service","WindowService":"./lib/window.service","ViewportService":"./lib/viewport.service","BrowseFilesModalComponent":"./lib/browse-files-modal/browse-files-modal.component","ButtonComponent":"./lib/button/button.component","DisabledCursorDirective":"./lib/disabled-cursor.directive","DndDirective":"./lib/dnd.directive","DocumentComponent":"./lib/document/document.component","ExcelDocumentComponent":"./lib/excel-document/excel-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","ExcelPageComponent":"./lib/excel-page/excel-page.component","PasswordRequiredComponent":"./lib/password-required/password-required.component","RenderPrintDirective":"./lib/render-print.directive","RotationDirective":"./lib/rotation.directive","ScrollableDirective":"./lib/scrollable.directive","MouseWheelDirective":"./lib/mousewheel.directive","SearchService":"./lib/search.service","SearchComponent":"./lib/search/search.component","SearchableDirective":"./lib/searchable.directive","Option":"./lib/select/select.component","SelectComponent":"./lib/select/select.component","TooltipComponent":"./lib/tooltip/tooltip.component","TopToolbarComponent":"./lib/top-toolbar/top-toolbar.component","SidePanelComponent":"./lib/side-panel/side-panel.component","UploadFileZoneComponent":"./lib/upload-file-zone/upload-file-zone.component","ZoomDirective":"./lib/zoom.directive","SelectionService":"./lib/selection.service","OnCloseService":"./lib/on-close.service","LoadingMaskService":"./lib/loading-mask.service","LoadingMaskInterceptorService":"./lib/loading-mask-interceptor.service","FormattingDirective":"./lib/formatting.directive","Formatting":"./lib/formatting.service","FormattingService":"./lib/formatting.service","BackFormattingService":"./lib/back-formatting.service","EditorDirective":"./lib/editor.directive","EditHtmlService":"./lib/edit-html.service","ColorPickerComponent":"./lib/color-picker/color-picker.component","LoadingMaskComponent":"./lib/loading-mask/loading-mask.component","SuccessModalComponent":"./lib/success-modal/success-modal.component","TabComponent":"./lib/tab/tab.component","TabbedToolbarsComponent":"./lib/tabbed-toolbars/tabbed-toolbars.component","TabActivatorService":"./lib/tab-activator.service","DropDownToggleComponent":"./lib/drop-down/drop-down.component","DropDownItemsComponent":"./lib/drop-down/drop-down.component","DropDownItemComponent":"./lib/drop-down/drop-down.component","DropDownComponent":"./lib/drop-down/drop-down.component","LeftSideBarComponent":"./lib/left-side-bar/left-side-bar.component","AddDynamicComponentService":"./lib/add-dynamic-component.service","HostDynamicDirective":"./lib/host-dynamic.directive","HostingDynamicComponentService":"./lib/hosting-dynamic-component.service","TopTabActivatorService":"./lib/top-tab-activator.service","MenuType":"./lib/context-menu/context-menu.component","ContextMenuComponent":"./lib/context-menu/context-menu.component","TextMenuComponent":"./lib/text-menu/text-menu.component","ExcelPageService":"./lib/excel-page.service","ɵa":"./lib/tabs/tabs.component","ɵb":"./lib/tooltip.directive","ɵc":"./lib/resizing/resizing.component","ɵd":"./lib/top-tab/top-tab.component"},"importAs":"@groupdocs.examples.angular/common-components"} \ No newline at end of file diff --git a/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts b/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts index 1f6783aff..bad563273 100644 --- a/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts +++ b/dist/libs/common-components/lib/excel-document/excel-document.component.d.ts @@ -1,4 +1,4 @@ -import { ElementRef, OnInit, QueryList, AfterViewInit, Renderer2 } from '@angular/core'; +import { ElementRef, OnInit, QueryList, AfterViewInit, Renderer2, EventEmitter } from '@angular/core'; import { DocumentComponent } from '../document/document.component'; import { WindowService } from '../window.service'; import { NavigateService } from '../navigate.service'; @@ -10,6 +10,7 @@ export declare class ExcelDocumentComponent extends DocumentComponent implements currentPageNo: number; panzoom: any; navigateService: NavigateService; + selectedSheet: EventEmitter; constructor(_elementRef: ElementRef, zoomService: ZoomService, windowService: WindowService, navigateService: NavigateService, renderer: Renderer2); ngOnInit(): void; ngAfterViewInit(): void; diff --git a/dist/libs/common-components/lib/file.service.d.ts b/dist/libs/common-components/lib/file.service.d.ts index d7300adcd..ff32ac8c6 100644 --- a/dist/libs/common-components/lib/file.service.d.ts +++ b/dist/libs/common-components/lib/file.service.d.ts @@ -17,7 +17,8 @@ export declare class FileCredentials { } export declare class SaveFile extends FileCredentials { content: string; - constructor(guid: string, password: string, content: string); + pageNumber: number; + constructor(guid: string, password: string, content: string, pageNumber: number); } export declare class FileDescription { guid: string; diff --git a/libs/common-components/src/lib/excel-document/excel-document.component.ts b/libs/common-components/src/lib/excel-document/excel-document.component.ts index c507b5174..b38bcb1f4 100644 --- a/libs/common-components/src/lib/excel-document/excel-document.component.ts +++ b/libs/common-components/src/lib/excel-document/excel-document.component.ts @@ -1,4 +1,4 @@ -import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2 } from '@angular/core'; +import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2, Output, EventEmitter } from '@angular/core'; import { DocumentComponent } from '../document/document.component'; import { WindowService } from '../window.service'; import { NavigateService } from '../navigate.service'; @@ -17,6 +17,7 @@ export class ExcelDocumentComponent extends DocumentComponent implements OnInit, currentPageNo: number; panzoom = null; navigateService: NavigateService; + @Output() selectedSheet = new EventEmitter(); constructor(_elementRef: ElementRef, zoomService: ZoomService, @@ -68,6 +69,7 @@ export class ExcelDocumentComponent extends DocumentComponent implements OnInit, selectSheet(number){ this.currentPageNo = number; + this.selectedSheet.emit(number); } getSheetName(page) { diff --git a/libs/common-components/src/lib/file.service.ts b/libs/common-components/src/lib/file.service.ts index ccee6ea22..0bcb7c5ef 100644 --- a/libs/common-components/src/lib/file.service.ts +++ b/libs/common-components/src/lib/file.service.ts @@ -24,10 +24,12 @@ export class FileCredentials { export class SaveFile extends FileCredentials { content: string; + pageNumber: number; - constructor(guid: string, password: string, content: string) { + constructor(guid: string, password: string, content: string, pageNumber: number) { super(guid, password); this.content = content; + this.pageNumber = pageNumber; } } diff --git a/libs/editor/src/lib/editor-app.component.html b/libs/editor/src/lib/editor-app.component.html index 438f86925..604920216 100644 --- a/libs/editor/src/lib/editor-app.component.html +++ b/libs/editor/src/lib/editor-app.component.html @@ -111,7 +111,7 @@ [preloadPageCount]="0" gdFormatting gdRenderPrint gdScrollable> + [preloadPageCount]="0" (selectedSheet)="selectCurrentSheet($event)" gdFormatting gdRenderPrint gdScrollable> diff --git a/libs/editor/src/lib/editor-app.component.ts b/libs/editor/src/lib/editor-app.component.ts index 4dba39251..fea260dc8 100644 --- a/libs/editor/src/lib/editor-app.component.ts +++ b/libs/editor/src/lib/editor-app.component.ts @@ -55,6 +55,7 @@ export class EditorAppComponent implements OnInit, AfterViewInit { selectFontSizeShow = false; newFile = false; formatIcon: string; + selectedPageNumber: number; constructor(private _editorService: EditorService, private _modalService: ModalService, @@ -179,6 +180,8 @@ export class EditorAppComponent implements OnInit, AfterViewInit { this.isLoading = true; this.selectFile(this.editorConfig.defaultDocument, "", ""); } + + this.selectedPageNumber = 1; } ngAfterViewInit() { @@ -290,7 +293,10 @@ export class EditorAppComponent implements OnInit, AfterViewInit { private loadFile(file: FileDescription) { this.file = file; if (this.file && this.file.pages[0]) { - this.file.pages[0].editable = true; + // this.file.pages[0].editable = true; + this.file.pages.forEach((page) => { + page.editable = true; + }); this.file.pages[0].width = 595; this.file.pages[0].height = 842; this.textBackup = this.file.pages[0].data; @@ -571,7 +577,7 @@ export class EditorAppComponent implements OnInit, AfterViewInit { const updatedTextBackup = credentials.guid.includes('xls') ? this._excelPageService.getPageWithoutHeader(this.textBackup) : this.getPageWithRootTags(this.textBackup, credentials.guid); - const saveFile = new SaveFile(credentials.guid, credentials.password, updatedTextBackup); + const saveFile = new SaveFile(credentials.guid, credentials.password, updatedTextBackup, this.selectedPageNumber - 1); this._editorService.save(saveFile).subscribe((loadFile: FileDescription) => { this.loadFile(loadFile); this.credentials = new FileCredentials(loadFile.guid, credentials.password); @@ -587,7 +593,7 @@ export class EditorAppComponent implements OnInit, AfterViewInit { this.textBackup = this.getPageWithRootTags(this.textBackup, credentials.guid); - const saveFile = new SaveFile(credentials.guid, credentials.password, this.textBackup); + const saveFile = new SaveFile(credentials.guid, credentials.password, this.textBackup, 0); this._editorService.create(saveFile).subscribe((loadFile: FileDescription) => { this.loadFile(loadFile); this.credentials = new FileCredentials(loadFile.guid, credentials.password); @@ -657,4 +663,8 @@ export class EditorAppComponent implements OnInit, AfterViewInit { this._selectionService.restoreSelection(); } } + + selectCurrentSheet($event) { + this.selectedPageNumber = $event; + } } From e751d3da6eaf029eaae26e8780eb26b5d14d264b Mon Sep 17 00:00:00 2001 From: Egor Date: Wed, 2 Dec 2020 16:50:20 +0300 Subject: [PATCH 09/10] Add white background for Excel tables. --- libs/editor/src/lib/editor-app.component.less | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/editor/src/lib/editor-app.component.less b/libs/editor/src/lib/editor-app.component.less index 62516c17d..17f3c4548 100644 --- a/libs/editor/src/lib/editor-app.component.less +++ b/libs/editor/src/lib/editor-app.component.less @@ -270,6 +270,7 @@ gd-tab { ::ng-deep gd-excel-page { .gd-wrapper { padding: 0px !important; + background-color: white; } } From 0c3716e13b5c6720c8f64fba4c7a66fc4e5fe0b5 Mon Sep 17 00:00:00 2001 From: Egor Date: Tue, 4 May 2021 12:39:47 +0300 Subject: [PATCH 10/10] Added needed dist files, removed unneeded. --- ....examples.angular-common-components.umd.js | 16621 ++++++++-------- ...mples.angular-common-components.umd.js.map | 2 +- ...mples.angular-common-components.umd.min.js | 4 +- ...s.angular-common-components.umd.min.js.map | 2 +- dist/libs/common-components/esm2015/index.js | 5 +- .../esm2015/lib/common-components.module.js | 16 +- ...docs.examples.angular-common-components.js | 4 +- dist/libs/common-components/esm5/index.js | 5 +- .../esm5/lib/common-components.module.js | 16 +- ...docs.examples.angular-common-components.js | 427 +- ....examples.angular-common-components.js.map | 2 +- ...docs.examples.angular-common-components.js | 466 +- ....examples.angular-common-components.js.map | 2 +- ...es.angular-common-components.metadata.json | 2 +- .../viewer/src/lib/excel-page.service.spec.ts | 5 - libs/viewer/src/lib/excel-page.service.ts | 78 - 16 files changed, 9388 insertions(+), 8269 deletions(-) delete mode 100644 libs/viewer/src/lib/excel-page.service.spec.ts delete mode 100644 libs/viewer/src/lib/excel-page.service.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 6f8a22a3e..8bea33674 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js @@ -201,8246 +201,8650 @@ return (mod && mod.__esModule) ? mod : { default: mod }; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TopToolbarComponent = /** @class */ (function () { - function TopToolbarComponent() { - } - TopToolbarComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-top-toolbar', - template: "
\n
\n \n
\n
\n", - styles: [".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"] - }] } - ]; - /** @nocollapse */ - TopToolbarComponent.ctorParameters = function () { return []; }; - return TopToolbarComponent; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TopToolbarComponent = /** @class */ (function () { + function TopToolbarComponent() { + } + TopToolbarComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-top-toolbar', + template: "
\r\n
\r\n \r\n
\r\n
\r\n", + styles: [".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"] + }] } + ]; + /** @nocollapse */ + TopToolbarComponent.ctorParameters = function () { return []; }; + return TopToolbarComponent; }()); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SidePanelComponent = /** @class */ (function () { - function SidePanelComponent() { - this.closable = true; - this.saveable = true; - this.hideSidePanel = new core.EventEmitter(); - this.saveInSidePanel = new core.EventEmitter(); - this.onlyTitle = false; - } - /** - * @return {?} - */ - SidePanelComponent.prototype.closeSidePanel = /** - * @return {?} - */ - function () { - this.hideSidePanel.emit(true); - }; - /** - * @return {?} - */ - SidePanelComponent.prototype.saveBySidePanel = /** - * @return {?} - */ - function () { - this.saveInSidePanel.emit(true); - }; - /** - * @return {?} - */ - SidePanelComponent.prototype.toggleTitleMode = /** - * @return {?} - */ - function () { - if (this.closable && !this.saveable) { - this.onlyTitle = !this.onlyTitle; - } - }; - SidePanelComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-side-panel', - template: "
\n
\n \n
{{title}}
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n", - styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"] - }] } - ]; - /** @nocollapse */ - SidePanelComponent.ctorParameters = function () { return []; }; - SidePanelComponent.propDecorators = { - title: [{ type: core.Input }], - icon: [{ type: core.Input }], - closable: [{ type: core.Input }], - saveable: [{ type: core.Input }], - hideSidePanel: [{ type: core.Output }], - saveInSidePanel: [{ type: core.Output }] - }; - return SidePanelComponent; - }()); - if (false) { - /** @type {?} */ - SidePanelComponent.prototype.title; - /** @type {?} */ - SidePanelComponent.prototype.icon; - /** @type {?} */ - SidePanelComponent.prototype.closable; - /** @type {?} */ - SidePanelComponent.prototype.saveable; - /** @type {?} */ - SidePanelComponent.prototype.hideSidePanel; - /** @type {?} */ - SidePanelComponent.prototype.saveInSidePanel; - /** @type {?} */ - SidePanelComponent.prototype.onlyTitle; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SidePanelComponent = /** @class */ (function () { + function SidePanelComponent() { + this.closable = true; + this.saveable = true; + this.hideSidePanel = new core.EventEmitter(); + this.saveInSidePanel = new core.EventEmitter(); + this.onlyTitle = false; + } + /** + * @return {?} + */ + SidePanelComponent.prototype.closeSidePanel = /** + * @return {?} + */ + function () { + this.hideSidePanel.emit(true); + }; + /** + * @return {?} + */ + SidePanelComponent.prototype.saveBySidePanel = /** + * @return {?} + */ + function () { + this.saveInSidePanel.emit(true); + }; + /** + * @return {?} + */ + SidePanelComponent.prototype.toggleTitleMode = /** + * @return {?} + */ + function () { + if (this.closable && !this.saveable) { + this.onlyTitle = !this.onlyTitle; + } + }; + SidePanelComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-side-panel', + template: "
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n", + styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"] + }] } + ]; + /** @nocollapse */ + SidePanelComponent.ctorParameters = function () { return []; }; + SidePanelComponent.propDecorators = { + title: [{ type: core.Input }], + icon: [{ type: core.Input }], + closable: [{ type: core.Input }], + saveable: [{ type: core.Input }], + hideSidePanel: [{ type: core.Output }], + saveInSidePanel: [{ type: core.Output }] + }; + return SidePanelComponent; + }()); + if (false) { + /** @type {?} */ + SidePanelComponent.prototype.title; + /** @type {?} */ + SidePanelComponent.prototype.icon; + /** @type {?} */ + SidePanelComponent.prototype.closable; + /** @type {?} */ + SidePanelComponent.prototype.saveable; + /** @type {?} */ + SidePanelComponent.prototype.hideSidePanel; + /** @type {?} */ + SidePanelComponent.prototype.saveInSidePanel; + /** @type {?} */ + SidePanelComponent.prototype.onlyTitle; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var MOBILE_MAX_WIDTH = 425; - /** @type {?} */ - var TABLET_MAX_WIDTH = 1024; - var WindowService = /** @class */ (function () { - function WindowService() { - var _this = this; - this.resizeSubject = new rxjs.Subject(); - this.width = window.innerWidth; - this.height = window.innerHeight; - this._resize$ = rxjs.fromEvent(window, 'resize') - .pipe(operators.debounceTime(200), operators.distinctUntilChanged(), operators.startWith({ target: { innerWidth: window.innerWidth, innerHeight: window.innerHeight } }), operators.tap((/** - * @param {?} event - * @return {?} - */ - function (event) { - _this.resizeSubject.next((/** @type {?} */ (event.target))); - _this.width = ((/** @type {?} */ (event.target))).innerWidth; - _this.height = ((/** @type {?} */ (event.target))).innerHeight; - }))); - this._resize$.subscribe(); - } - Object.defineProperty(WindowService.prototype, "onResize", { - get: /** - * @return {?} - */ - function () { - return this.resizeSubject.asObservable(); - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - WindowService.prototype.isMobile = /** - * @return {?} - */ - function () { - return this.width <= MOBILE_MAX_WIDTH; - }; - /** - * @return {?} - */ - WindowService.prototype.isTablet = /** - * @return {?} - */ - function () { - return this.width <= TABLET_MAX_WIDTH; - }; - /** - * @return {?} - */ - WindowService.prototype.isDesktop = /** - * @return {?} - */ - function () { - return !this.isMobile() && !this.isTablet(); - }; - /** - * @return {?} - */ - WindowService.prototype.getWidth = /** - * @return {?} - */ - function () { - return this.width; - }; - /** - * @return {?} - */ - WindowService.prototype.getHeight = /** - * @return {?} - */ - function () { - return this.height; - }; - /** - * @return {?} - */ - WindowService.prototype.isEdge = /** - * @return {?} - */ - function () { - return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1; - }; - /** - * @return {?} - */ - WindowService.prototype.isFirefox = /** - * @return {?} - */ - function () { - return navigator.userAgent.toLowerCase().indexOf('firefox') > -1; - }; - return WindowService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - WindowService.prototype.resizeSubject; - /** - * @type {?} - * @private - */ - WindowService.prototype._resize$; - /** - * @type {?} - * @private - */ - WindowService.prototype.width; - /** - * @type {?} - * @private - */ - WindowService.prototype.height; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var MOBILE_MAX_WIDTH = 425; + /** @type {?} */ + var TABLET_MAX_WIDTH = 1024; + var WindowService = /** @class */ (function () { + function WindowService() { + var _this = this; + this.resizeSubject = new rxjs.Subject(); + this.width = window.innerWidth; + this.height = window.innerHeight; + this._resize$ = rxjs.fromEvent(window, 'resize') + .pipe(operators.debounceTime(200), operators.distinctUntilChanged(), operators.startWith({ target: { innerWidth: window.innerWidth, innerHeight: window.innerHeight } }), operators.tap((/** + * @param {?} event + * @return {?} + */ + function (event) { + _this.resizeSubject.next((/** @type {?} */ (event.target))); + _this.width = ((/** @type {?} */ (event.target))).innerWidth; + _this.height = ((/** @type {?} */ (event.target))).innerHeight; + }))); + this._resize$.subscribe(); + } + Object.defineProperty(WindowService.prototype, "onResize", { + get: /** + * @return {?} + */ + function () { + return this.resizeSubject.asObservable(); + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + WindowService.prototype.isMobile = /** + * @return {?} + */ + function () { + return this.width <= MOBILE_MAX_WIDTH; + }; + /** + * @return {?} + */ + WindowService.prototype.isTablet = /** + * @return {?} + */ + function () { + return this.width <= TABLET_MAX_WIDTH; + }; + /** + * @return {?} + */ + WindowService.prototype.isDesktop = /** + * @return {?} + */ + function () { + return !this.isMobile() && !this.isTablet(); + }; + /** + * @return {?} + */ + WindowService.prototype.getWidth = /** + * @return {?} + */ + function () { + return this.width; + }; + /** + * @return {?} + */ + WindowService.prototype.getHeight = /** + * @return {?} + */ + function () { + return this.height; + }; + /** + * @return {?} + */ + WindowService.prototype.isEdge = /** + * @return {?} + */ + function () { + return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1; + }; + /** + * @return {?} + */ + WindowService.prototype.isFirefox = /** + * @return {?} + */ + function () { + return navigator.userAgent.toLowerCase().indexOf('firefox') > -1; + }; + return WindowService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + WindowService.prototype.resizeSubject; + /** + * @type {?} + * @private + */ + WindowService.prototype._resize$; + /** + * @type {?} + * @private + */ + WindowService.prototype.width; + /** + * @type {?} + * @private + */ + WindowService.prototype.height; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ButtonComponent = /** @class */ (function () { - function ButtonComponent(windowService) { - var _this = this; - this.iconOnly = true; - this.intent = 'default'; - this.disabled = false; - this.toggle = false; - this.iconRegular = false; - this.elementPosition = 0; - this.showToolTip = false; - this.isDesktop = windowService.isDesktop(); - windowService.onResize.subscribe((/** - * @param {?} w - * @return {?} - */ - function (w) { - _this.isDesktop = windowService.isDesktop(); - })); - } - /** - * @return {?} - */ - ButtonComponent.prototype.iconButtonClass = /** - * @return {?} - */ - function () { - return this.iconOnly ? 'icon-button' : ''; - }; - /** - * @return {?} - */ - ButtonComponent.prototype.onHovering = /** - * @return {?} - */ - function () { - if (this.isDesktop && !this.disabled) { - this.className += ' active'; - } - }; - /** - * @return {?} - */ - ButtonComponent.prototype.onUnhovering = /** - * @return {?} - */ - function () { - if (this.isDesktop && !this.disabled) { - this.className = this.cleanAll(this.className, ' active'); - } - }; - /** - * @private - * @param {?} str - * @param {?} val - * @return {?} - */ - ButtonComponent.prototype.cleanAll = /** - * @private - * @param {?} str - * @param {?} val - * @return {?} - */ - function (str, val) { - while (str && str.indexOf(val) !== -1) { - str = str.replace(val, ''); - } - return str; - }; - ButtonComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-button', - template: "
\n \n \n
\n \n
\n
\n", - styles: [".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"] - }] } - ]; - /** @nocollapse */ - ButtonComponent.ctorParameters = function () { return [ - { type: WindowService } - ]; }; - ButtonComponent.propDecorators = { - iconOnly: [{ type: core.Input }], - intent: [{ type: core.Input }], - disabled: [{ type: core.Input }], - icon: [{ type: core.Input }], - iconClass: [{ type: core.Input }], - tooltip: [{ type: core.Input }], - className: [{ type: core.Input }], - toggle: [{ type: core.Input }], - iconSize: [{ type: core.Input }], - iconRegular: [{ type: core.Input }], - elementPosition: [{ type: core.Input }] - }; - return ButtonComponent; - }()); - if (false) { - /** @type {?} */ - ButtonComponent.prototype.iconOnly; - /** @type {?} */ - ButtonComponent.prototype.intent; - /** @type {?} */ - ButtonComponent.prototype.disabled; - /** @type {?} */ - ButtonComponent.prototype.icon; - /** @type {?} */ - ButtonComponent.prototype.iconClass; - /** @type {?} */ - ButtonComponent.prototype.tooltip; - /** @type {?} */ - ButtonComponent.prototype.className; - /** @type {?} */ - ButtonComponent.prototype.toggle; - /** @type {?} */ - ButtonComponent.prototype.iconSize; - /** @type {?} */ - ButtonComponent.prototype.iconRegular; - /** @type {?} */ - ButtonComponent.prototype.elementPosition; - /** @type {?} */ - ButtonComponent.prototype.showToolTip; - /** - * @type {?} - * @private - */ - ButtonComponent.prototype.isDesktop; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ButtonComponent = /** @class */ (function () { + function ButtonComponent(windowService) { + var _this = this; + this.iconOnly = true; + this.intent = 'default'; + this.disabled = false; + this.toggle = false; + this.iconRegular = false; + this.elementPosition = 0; + this.showToolTip = false; + this.isDesktop = windowService.isDesktop(); + windowService.onResize.subscribe((/** + * @param {?} w + * @return {?} + */ + function (w) { + _this.isDesktop = windowService.isDesktop(); + })); + } + /** + * @return {?} + */ + ButtonComponent.prototype.iconButtonClass = /** + * @return {?} + */ + function () { + return this.iconOnly ? 'icon-button' : ''; + }; + /** + * @return {?} + */ + ButtonComponent.prototype.onHovering = /** + * @return {?} + */ + function () { + if (this.isDesktop && !this.disabled) { + this.className += ' active'; + } + }; + /** + * @return {?} + */ + ButtonComponent.prototype.onUnhovering = /** + * @return {?} + */ + function () { + if (this.isDesktop && !this.disabled) { + this.className = this.cleanAll(this.className, ' active'); + } + }; + /** + * @private + * @param {?} str + * @param {?} val + * @return {?} + */ + ButtonComponent.prototype.cleanAll = /** + * @private + * @param {?} str + * @param {?} val + * @return {?} + */ + function (str, val) { + while (str && str.indexOf(val) !== -1) { + str = str.replace(val, ''); + } + return str; + }; + ButtonComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-button', + template: "
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n", + styles: [".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"] + }] } + ]; + /** @nocollapse */ + ButtonComponent.ctorParameters = function () { return [ + { type: WindowService } + ]; }; + ButtonComponent.propDecorators = { + iconOnly: [{ type: core.Input }], + intent: [{ type: core.Input }], + disabled: [{ type: core.Input }], + icon: [{ type: core.Input }], + iconClass: [{ type: core.Input }], + tooltip: [{ type: core.Input }], + className: [{ type: core.Input }], + toggle: [{ type: core.Input }], + iconSize: [{ type: core.Input }], + iconRegular: [{ type: core.Input }], + elementPosition: [{ type: core.Input }] + }; + return ButtonComponent; + }()); + if (false) { + /** @type {?} */ + ButtonComponent.prototype.iconOnly; + /** @type {?} */ + ButtonComponent.prototype.intent; + /** @type {?} */ + ButtonComponent.prototype.disabled; + /** @type {?} */ + ButtonComponent.prototype.icon; + /** @type {?} */ + ButtonComponent.prototype.iconClass; + /** @type {?} */ + ButtonComponent.prototype.tooltip; + /** @type {?} */ + ButtonComponent.prototype.className; + /** @type {?} */ + ButtonComponent.prototype.toggle; + /** @type {?} */ + ButtonComponent.prototype.iconSize; + /** @type {?} */ + ButtonComponent.prototype.iconRegular; + /** @type {?} */ + ButtonComponent.prototype.elementPosition; + /** @type {?} */ + ButtonComponent.prototype.showToolTip; + /** + * @type {?} + * @private + */ + ButtonComponent.prototype.isDesktop; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LogoComponent = /** @class */ (function () { - function LogoComponent() { - } - /** - * @return {?} - */ - LogoComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - LogoComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-logo', - template: "
\n \n \n
\n\n", - styles: [".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"] - }] } - ]; - /** @nocollapse */ - LogoComponent.ctorParameters = function () { return []; }; - LogoComponent.propDecorators = { - logo: [{ type: core.Input }], - icon: [{ type: core.Input }] - }; - return LogoComponent; - }()); - if (false) { - /** @type {?} */ - LogoComponent.prototype.logo; - /** @type {?} */ - LogoComponent.prototype.icon; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LogoComponent = /** @class */ (function () { + function LogoComponent() { + } + /** + * @return {?} + */ + LogoComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + LogoComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-logo', + template: "
\r\n \r\n \r\n
\r\n\r\n", + styles: [".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"] + }] } + ]; + /** @nocollapse */ + LogoComponent.ctorParameters = function () { return []; }; + LogoComponent.propDecorators = { + logo: [{ type: core.Input }], + icon: [{ type: core.Input }] + }; + return LogoComponent; + }()); + if (false) { + /** @type {?} */ + LogoComponent.prototype.logo; + /** @type {?} */ + LogoComponent.prototype.icon; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TooltipComponent = /** @class */ (function () { - function TooltipComponent() { - this.position = 0; - this.visibility = 'hidden'; - } - /** - * @return {?} - */ - TooltipComponent.prototype.getClass = /** - * @return {?} - */ - function () { - if (this.position === 0) { - return 'tooltip'; - } - return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element'); - }; - Object.defineProperty(TooltipComponent.prototype, "show", { - set: /** - * @param {?} value - * @return {?} - */ - function (value) { - this.visibility = value ? 'shown' : 'hidden'; - }, - enumerable: true, - configurable: true - }); - /** - * @return {?} - */ - TooltipComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - TooltipComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-tooltip', - template: "\n", - styles: [".tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:\" \";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}"] - }] } - ]; - /** @nocollapse */ - TooltipComponent.ctorParameters = function () { return []; }; - TooltipComponent.propDecorators = { - text: [{ type: core.Input }], - position: [{ type: core.Input }], - show: [{ type: core.Input }] - }; - return TooltipComponent; - }()); - if (false) { - /** @type {?} */ - TooltipComponent.prototype.text; - /** @type {?} */ - TooltipComponent.prototype.position; - /** @type {?} */ - TooltipComponent.prototype.visibility; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TooltipComponent = /** @class */ (function () { + function TooltipComponent() { + this.position = 0; + this.visibility = 'hidden'; + } + /** + * @return {?} + */ + TooltipComponent.prototype.getClass = /** + * @return {?} + */ + function () { + if (this.position === 0) { + return 'tooltip'; + } + return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element'); + }; + Object.defineProperty(TooltipComponent.prototype, "show", { + set: /** + * @param {?} value + * @return {?} + */ + function (value) { + this.visibility = value ? 'shown' : 'hidden'; + }, + enumerable: true, + configurable: true + }); + /** + * @return {?} + */ + TooltipComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + TooltipComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-tooltip', + template: "\r\n", + styles: [".tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:\" \";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}"] + }] } + ]; + /** @nocollapse */ + TooltipComponent.ctorParameters = function () { return []; }; + TooltipComponent.propDecorators = { + text: [{ type: core.Input }], + position: [{ type: core.Input }], + show: [{ type: core.Input }] + }; + return TooltipComponent; + }()); + if (false) { + /** @type {?} */ + TooltipComponent.prototype.text; + /** @type {?} */ + TooltipComponent.prototype.position; + /** @type {?} */ + TooltipComponent.prototype.visibility; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var Api = /** @class */ (function () { - function Api() { - } - Api.VIEWER_APP = '/viewer'; - Api.SIGNATURE_APP = '/signature'; - Api.ANNOTATION_APP = '/annotation'; - Api.SEARCH_APP = '/search'; - Api.EDITOR_APP = '/editor'; - Api.COMPARISON_APP = '/comparison'; - Api.CONVERSION_APP = '/conversion'; - Api.METADATA_APP = '/metadata'; - Api.DEFAULT_API_ENDPOINT = window.location.href; - Api.LOAD_FILE_TREE = '/loadFileTree'; - Api.LOAD_CONFIG = '/loadConfig'; - Api.LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription'; - Api.LOAD_DOCUMENT_PAGE = '/loadDocumentPage'; - Api.LOAD_DOCUMENT_PROPERTIES = '/loadProperties'; - Api.LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames'; - Api.SAVE_PROPERTY = '/saveProperty'; - Api.REMOVE_PROPERTY = '/removeProperty'; - Api.ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages'; - Api.UPLOAD_DOCUMENTS = '/uploadDocument'; - Api.DOWNLOAD_DOCUMENTS = '/downloadDocument'; - Api.DOWNLOAD_ANNOTATED = '/downloadAnnotated'; - Api.LOAD_PRINT = '/loadPrint'; - Api.LOAD_PRINT_PDF = '/printPdf'; - Api.LOAD_THUMBNAILS = '/loadThumbnails'; - Api.LOAD_FORMATS = '/loadFormats'; - Api.SAVE_FILE = '/saveFile'; - Api.CREATE_FILE = '/createFile'; - Api.COMPARE_FILES = '/compare'; - Api.CONVERT_FILE = '/convert'; - Api.DELETE_SIGNATURE_FILE = '/deleteSignatureFile'; - Api.REMOVE_FROM_INDEX = '/removeFromIndex'; - Api.GET_FILE_STATUS = '/getFileStatus'; - Api.SAVE_OPTICAL_CODE = '/saveOpticalCode'; - Api.SAVE_TEXT = '/saveText'; - Api.SAVE_IMAGE = '/saveImage'; - Api.SAVE_STAMP = '/saveStamp'; - Api.SIGN = '/sign'; - Api.DOWNLOAD_SIGNED = '/downloadSigned'; - Api.LOAD_SIGNATURE_IMAGE = '/loadSignatureImage'; - Api.ANNOTATE = '/annotate'; - Api.SEARCH = '/search'; - Api.ADD_FILES_TO_INDEX = '/addFilesToIndex'; - Api.CLEAN_METADATA = '/clean'; - Api.EXPORT_METADATA = '/export'; - Api.httpOptionsJson = { - headers: new http.HttpHeaders({ - 'Content-Type': 'application/json', - }) - }; - Api.httpOptionsJsonResponseTypeBlob = { - headers: new http.HttpHeaders({ - 'Content-Type': 'application/json', - }), - responseType: (/** @type {?} */ ('blob')) - }; - return Api; - }()); - if (false) { - /** @type {?} */ - Api.VIEWER_APP; - /** @type {?} */ - Api.SIGNATURE_APP; - /** @type {?} */ - Api.ANNOTATION_APP; - /** @type {?} */ - Api.SEARCH_APP; - /** @type {?} */ - Api.EDITOR_APP; - /** @type {?} */ - Api.COMPARISON_APP; - /** @type {?} */ - Api.CONVERSION_APP; - /** @type {?} */ - Api.METADATA_APP; - /** @type {?} */ - Api.DEFAULT_API_ENDPOINT; - /** @type {?} */ - Api.LOAD_FILE_TREE; - /** @type {?} */ - Api.LOAD_CONFIG; - /** @type {?} */ - Api.LOAD_DOCUMENT_DESCRIPTION; - /** @type {?} */ - Api.LOAD_DOCUMENT_PAGE; - /** @type {?} */ - Api.LOAD_DOCUMENT_PROPERTIES; - /** @type {?} */ - Api.LOAD_DOCUMENT_PROPERTIES_NAMES; - /** @type {?} */ - Api.SAVE_PROPERTY; - /** @type {?} */ - Api.REMOVE_PROPERTY; - /** @type {?} */ - Api.ROTATE_DOCUMENT_PAGE; - /** @type {?} */ - Api.UPLOAD_DOCUMENTS; - /** @type {?} */ - Api.DOWNLOAD_DOCUMENTS; - /** @type {?} */ - Api.DOWNLOAD_ANNOTATED; - /** @type {?} */ - Api.LOAD_PRINT; - /** @type {?} */ - Api.LOAD_PRINT_PDF; - /** @type {?} */ - Api.LOAD_THUMBNAILS; - /** @type {?} */ - Api.LOAD_FORMATS; - /** @type {?} */ - Api.SAVE_FILE; - /** @type {?} */ - Api.CREATE_FILE; - /** @type {?} */ - Api.COMPARE_FILES; - /** @type {?} */ - Api.CONVERT_FILE; - /** @type {?} */ - Api.DELETE_SIGNATURE_FILE; - /** @type {?} */ - Api.REMOVE_FROM_INDEX; - /** @type {?} */ - Api.GET_FILE_STATUS; - /** @type {?} */ - Api.SAVE_OPTICAL_CODE; - /** @type {?} */ - Api.SAVE_TEXT; - /** @type {?} */ - Api.SAVE_IMAGE; - /** @type {?} */ - Api.SAVE_STAMP; - /** @type {?} */ - Api.SIGN; - /** @type {?} */ - Api.DOWNLOAD_SIGNED; - /** @type {?} */ - Api.LOAD_SIGNATURE_IMAGE; - /** @type {?} */ - Api.ANNOTATE; - /** @type {?} */ - Api.SEARCH; - /** @type {?} */ - Api.ADD_FILES_TO_INDEX; - /** @type {?} */ - Api.CLEAN_METADATA; - /** @type {?} */ - Api.EXPORT_METADATA; - /** @type {?} */ - Api.httpOptionsJson; - /** @type {?} */ - Api.httpOptionsJsonResponseTypeBlob; - } - var ConfigService = /** @class */ (function () { - function ConfigService() { - this.apiEndpoint = Api.DEFAULT_API_ENDPOINT; - } - Object.defineProperty(ConfigService.prototype, "apiEndpoint", { - get: /** - * @return {?} - */ - function () { - return this._apiEndpoint; - }, - set: /** - * @param {?} url - * @return {?} - */ - function (url) { - this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} app - * @return {?} - */ - ConfigService.prototype.getConfigEndpoint = /** - * @param {?} app - * @return {?} - */ - function (app) { - return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG; - }; - /** - * @return {?} - */ - ConfigService.prototype.getViewerApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getEditorApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getComparisonApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getConversionApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getMetadataApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getSignatureApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getAnnotationApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP; - }; - /** - * @return {?} - */ - ConfigService.prototype.getSearchApiEndpoint = /** - * @return {?} - */ - function () { - return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP; - }; - ConfigService.decorators = [ - { type: core.Injectable } - ]; - /** @nocollapse */ - ConfigService.ctorParameters = function () { return []; }; - return ConfigService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - ConfigService.prototype._apiEndpoint; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var Api = /** @class */ (function () { + function Api() { + } + Api.VIEWER_APP = '/viewer'; + Api.SIGNATURE_APP = '/signature'; + Api.ANNOTATION_APP = '/annotation'; + Api.SEARCH_APP = '/search'; + Api.EDITOR_APP = '/editor'; + Api.COMPARISON_APP = '/comparison'; + Api.CONVERSION_APP = '/conversion'; + Api.METADATA_APP = '/metadata'; + Api.DEFAULT_API_ENDPOINT = window.location.href; + Api.LOAD_FILE_TREE = '/loadFileTree'; + Api.LOAD_CONFIG = '/loadConfig'; + Api.LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription'; + Api.LOAD_DOCUMENT_PAGE = '/loadDocumentPage'; + Api.LOAD_DOCUMENT_PROPERTIES = '/loadProperties'; + Api.LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames'; + Api.SAVE_PROPERTY = '/saveProperty'; + Api.REMOVE_PROPERTY = '/removeProperty'; + Api.ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages'; + Api.UPLOAD_DOCUMENTS = '/uploadDocument'; + Api.DOWNLOAD_DOCUMENTS = '/downloadDocument'; + Api.DOWNLOAD_ANNOTATED = '/downloadAnnotated'; + Api.LOAD_PRINT = '/loadPrint'; + Api.LOAD_PRINT_PDF = '/printPdf'; + Api.LOAD_THUMBNAILS = '/loadThumbnails'; + Api.LOAD_FORMATS = '/loadFormats'; + Api.SAVE_FILE = '/saveFile'; + Api.CREATE_FILE = '/createFile'; + Api.COMPARE_FILES = '/compare'; + Api.CONVERT_FILE = '/convert'; + Api.DELETE_SIGNATURE_FILE = '/deleteSignatureFile'; + Api.REMOVE_FROM_INDEX = '/removeFromIndex'; + Api.GET_FILE_STATUS = '/getFileStatus'; + Api.SAVE_OPTICAL_CODE = '/saveOpticalCode'; + Api.SAVE_TEXT = '/saveText'; + Api.SAVE_IMAGE = '/saveImage'; + Api.SAVE_STAMP = '/saveStamp'; + Api.SIGN = '/sign'; + Api.DOWNLOAD_SIGNED = '/downloadSigned'; + Api.LOAD_SIGNATURE_IMAGE = '/loadSignatureImage'; + Api.ANNOTATE = '/annotate'; + Api.SEARCH = '/search'; + Api.ADD_FILES_TO_INDEX = '/addFilesToIndex'; + Api.CLEAN_METADATA = '/clean'; + Api.EXPORT_METADATA = '/export'; + Api.httpOptionsJson = { + headers: new http.HttpHeaders({ + 'Content-Type': 'application/json', + }) + }; + Api.httpOptionsJsonResponseTypeBlob = { + headers: new http.HttpHeaders({ + 'Content-Type': 'application/json', + }), + responseType: (/** @type {?} */ ('blob')) + }; + return Api; + }()); + if (false) { + /** @type {?} */ + Api.VIEWER_APP; + /** @type {?} */ + Api.SIGNATURE_APP; + /** @type {?} */ + Api.ANNOTATION_APP; + /** @type {?} */ + Api.SEARCH_APP; + /** @type {?} */ + Api.EDITOR_APP; + /** @type {?} */ + Api.COMPARISON_APP; + /** @type {?} */ + Api.CONVERSION_APP; + /** @type {?} */ + Api.METADATA_APP; + /** @type {?} */ + Api.DEFAULT_API_ENDPOINT; + /** @type {?} */ + Api.LOAD_FILE_TREE; + /** @type {?} */ + Api.LOAD_CONFIG; + /** @type {?} */ + Api.LOAD_DOCUMENT_DESCRIPTION; + /** @type {?} */ + Api.LOAD_DOCUMENT_PAGE; + /** @type {?} */ + Api.LOAD_DOCUMENT_PROPERTIES; + /** @type {?} */ + Api.LOAD_DOCUMENT_PROPERTIES_NAMES; + /** @type {?} */ + Api.SAVE_PROPERTY; + /** @type {?} */ + Api.REMOVE_PROPERTY; + /** @type {?} */ + Api.ROTATE_DOCUMENT_PAGE; + /** @type {?} */ + Api.UPLOAD_DOCUMENTS; + /** @type {?} */ + Api.DOWNLOAD_DOCUMENTS; + /** @type {?} */ + Api.DOWNLOAD_ANNOTATED; + /** @type {?} */ + Api.LOAD_PRINT; + /** @type {?} */ + Api.LOAD_PRINT_PDF; + /** @type {?} */ + Api.LOAD_THUMBNAILS; + /** @type {?} */ + Api.LOAD_FORMATS; + /** @type {?} */ + Api.SAVE_FILE; + /** @type {?} */ + Api.CREATE_FILE; + /** @type {?} */ + Api.COMPARE_FILES; + /** @type {?} */ + Api.CONVERT_FILE; + /** @type {?} */ + Api.DELETE_SIGNATURE_FILE; + /** @type {?} */ + Api.REMOVE_FROM_INDEX; + /** @type {?} */ + Api.GET_FILE_STATUS; + /** @type {?} */ + Api.SAVE_OPTICAL_CODE; + /** @type {?} */ + Api.SAVE_TEXT; + /** @type {?} */ + Api.SAVE_IMAGE; + /** @type {?} */ + Api.SAVE_STAMP; + /** @type {?} */ + Api.SIGN; + /** @type {?} */ + Api.DOWNLOAD_SIGNED; + /** @type {?} */ + Api.LOAD_SIGNATURE_IMAGE; + /** @type {?} */ + Api.ANNOTATE; + /** @type {?} */ + Api.SEARCH; + /** @type {?} */ + Api.ADD_FILES_TO_INDEX; + /** @type {?} */ + Api.CLEAN_METADATA; + /** @type {?} */ + Api.EXPORT_METADATA; + /** @type {?} */ + Api.httpOptionsJson; + /** @type {?} */ + Api.httpOptionsJsonResponseTypeBlob; + } + var ConfigService = /** @class */ (function () { + function ConfigService() { + this.apiEndpoint = Api.DEFAULT_API_ENDPOINT; + } + Object.defineProperty(ConfigService.prototype, "apiEndpoint", { + get: /** + * @return {?} + */ + function () { + return this._apiEndpoint; + }, + set: /** + * @param {?} url + * @return {?} + */ + function (url) { + this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} app + * @return {?} + */ + ConfigService.prototype.getConfigEndpoint = /** + * @param {?} app + * @return {?} + */ + function (app) { + return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG; + }; + /** + * @return {?} + */ + ConfigService.prototype.getViewerApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getEditorApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getComparisonApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getConversionApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getMetadataApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getSignatureApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getAnnotationApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP; + }; + /** + * @return {?} + */ + ConfigService.prototype.getSearchApiEndpoint = /** + * @return {?} + */ + function () { + return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP; + }; + ConfigService.decorators = [ + { type: core.Injectable } + ]; + /** @nocollapse */ + ConfigService.ctorParameters = function () { return []; }; + return ConfigService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + ConfigService.prototype._apiEndpoint; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var CommonModals = /** @class */ (function () { - function CommonModals() { - } - CommonModals.PasswordRequired = "gd-password-required"; - CommonModals.ErrorMessage = "gd-error-message"; - CommonModals.BrowseFiles = "gd-browse-files"; - CommonModals.CreateDocument = "gd-create-document"; - CommonModals.OperationSuccess = "gd-success-modal"; - CommonModals.DrawHandSignature = "gd-draw-hand-signature"; - CommonModals.DrawStampSignature = "gd-draw-stamp-signature"; - CommonModals.InformationMessage = "gd-information-message"; - return CommonModals; - }()); - if (false) { - /** @type {?} */ - CommonModals.PasswordRequired; - /** @type {?} */ - CommonModals.ErrorMessage; - /** @type {?} */ - CommonModals.BrowseFiles; - /** @type {?} */ - CommonModals.CreateDocument; - /** @type {?} */ - CommonModals.OperationSuccess; - /** @type {?} */ - CommonModals.DrawHandSignature; - /** @type {?} */ - CommonModals.DrawStampSignature; - /** @type {?} */ - CommonModals.InformationMessage; - } - var ModalService = /** @class */ (function () { - function ModalService() { - this.modals = []; - } - /** - * @param {?} modal - * @return {?} - */ - ModalService.prototype.add = /** - * @param {?} modal - * @return {?} - */ - function (modal) { - this.modals.push(modal); - }; - /** - * @param {?} id - * @return {?} - */ - ModalService.prototype.remove = /** - * @param {?} id - * @return {?} - */ - function (id) { - this.modals = this.modals.filter((/** - * @param {?} x - * @return {?} - */ - function (x) { return x.id !== id; })); - }; - /** - * @param {?} id - * @return {?} - */ - ModalService.prototype.open = /** - * @param {?} id - * @return {?} - */ - function (id) { - /** @type {?} */ - var modal = this.modals.filter((/** - * @param {?} x - * @return {?} - */ - function (x) { return x.id === id; }))[0]; - if (modal) { - modal.open(); - } - }; - /** - * @param {?} id - * @return {?} - */ - ModalService.prototype.close = /** - * @param {?} id - * @return {?} - */ - function (id) { - /** @type {?} */ - var modal = this.modals.filter((/** - * @param {?} x - * @return {?} - */ - function (x) { return x.id === id; }))[0]; - if (modal) { - modal.close(); - } - }; - return ModalService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - ModalService.prototype.modals; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var CommonModals = /** @class */ (function () { + function CommonModals() { + } + CommonModals.PasswordRequired = "gd-password-required"; + CommonModals.ErrorMessage = "gd-error-message"; + CommonModals.BrowseFiles = "gd-browse-files"; + CommonModals.CreateDocument = "gd-create-document"; + CommonModals.OperationSuccess = "gd-success-modal"; + CommonModals.DrawHandSignature = "gd-draw-hand-signature"; + CommonModals.DrawStampSignature = "gd-draw-stamp-signature"; + CommonModals.InformationMessage = "gd-information-message"; + return CommonModals; + }()); + if (false) { + /** @type {?} */ + CommonModals.PasswordRequired; + /** @type {?} */ + CommonModals.ErrorMessage; + /** @type {?} */ + CommonModals.BrowseFiles; + /** @type {?} */ + CommonModals.CreateDocument; + /** @type {?} */ + CommonModals.OperationSuccess; + /** @type {?} */ + CommonModals.DrawHandSignature; + /** @type {?} */ + CommonModals.DrawStampSignature; + /** @type {?} */ + CommonModals.InformationMessage; + } + var ModalService = /** @class */ (function () { + function ModalService() { + this.modals = []; + } + /** + * @param {?} modal + * @return {?} + */ + ModalService.prototype.add = /** + * @param {?} modal + * @return {?} + */ + function (modal) { + this.modals.push(modal); + }; + /** + * @param {?} id + * @return {?} + */ + ModalService.prototype.remove = /** + * @param {?} id + * @return {?} + */ + function (id) { + this.modals = this.modals.filter((/** + * @param {?} x + * @return {?} + */ + function (x) { return x.id !== id; })); + }; + /** + * @param {?} id + * @return {?} + */ + ModalService.prototype.open = /** + * @param {?} id + * @return {?} + */ + function (id) { + /** @type {?} */ + var modal = this.modals.filter((/** + * @param {?} x + * @return {?} + */ + function (x) { return x.id === id; }))[0]; + if (modal) { + modal.open(); + } + }; + /** + * @param {?} id + * @return {?} + */ + ModalService.prototype.close = /** + * @param {?} id + * @return {?} + */ + function (id) { + /** @type {?} */ + var modal = this.modals.filter((/** + * @param {?} x + * @return {?} + */ + function (x) { return x.id === id; }))[0]; + if (modal) { + modal.close(); + } + }; + return ModalService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + ModalService.prototype.modals; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ModalComponent = /** @class */ (function () { - function ModalComponent(modalService, el) { - this.modalService = modalService; - this.visible = new core.EventEmitter(); - this.cancel = new core.EventEmitter(); - this.visibility = false; - this.element = el.nativeElement; - } - /** - * @return {?} - */ - ModalComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - if (!this.id) { - console.error('modal must have an id'); - return; - } - document.body.appendChild(this.element); - this.modalService.add(this); - }; - /** - * @return {?} - */ - ModalComponent.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { - this.modalService.remove(this.id); - this.element.remove(); - }; - /** - * @return {?} - */ - ModalComponent.prototype.open = /** - * @return {?} - */ - function () { - this.visibility = true; - this.visible.emit(true); - }; - /** - * @return {?} - */ - ModalComponent.prototype.close = /** - * @return {?} - */ - function () { - event.preventDefault(); - event.stopPropagation(); - this.visibility = false; - this.visible.emit(false); - }; - /** - * @param {?} $event - * @return {?} - */ - ModalComponent.prototype.onClose = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $event.stopPropagation(); - if ($event && $event.target && ((/** @type {?} */ ($event.target))).id === 'modalDialog') { - this.close(); - } - }; - /** - * @return {?} - */ - ModalComponent.prototype.cancelClose = /** - * @return {?} - */ - function () { - this.cancel.emit(false); - this.close(); - }; - ModalComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-modal', - template: "
\n
\n
\n
\n\n
\n
×
\n

{{title}}

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

{{title}}

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

Drag & Drop your files here

\n

OR

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

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n", + styles: [".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"] + }] } + ]; + /** @nocollapse */ + UploadFileZoneComponent.ctorParameters = function () { return [ + { type: UploadFilesService } + ]; }; + UploadFileZoneComponent.propDecorators = { + closeUpload: [{ type: core.Output }] + }; + return UploadFileZoneComponent; + }()); + if (false) { + /** @type {?} */ + UploadFileZoneComponent.prototype.closeUpload; + /** + * @type {?} + * @private + */ + UploadFileZoneComponent.prototype._uploadService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var DndDirective = /** @class */ (function () { - function DndDirective(_uploadFilesService) { - this._uploadFilesService = _uploadFilesService; - this.closing = new core.EventEmitter(); - this.opening = new core.EventEmitter(); - this.dropped = new core.EventEmitter(); - this.active = false; - this.dragCounter = 0; - } - /** - * @param {?} evt - * @return {?} - */ - DndDirective.prototype.onDragEnter = /** - * @param {?} evt - * @return {?} - */ - function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - this.dragCounter++; - this.active = true; - this.opening.emit(true); - }; - /** - * @param {?} evt - * @return {?} - */ - DndDirective.prototype.onDragOver = /** - * @param {?} evt - * @return {?} - */ - function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - return false; - }; - /** - * @param {?} evt - * @return {?} - */ - DndDirective.prototype.onDragLeave = /** - * @param {?} evt - * @return {?} - */ - function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - this.dragCounter--; - if (this.dragCounter === 0) { - this.active = false; - this.closeArea(); - } - }; - /** - * @param {?} evt - * @return {?} - */ - DndDirective.prototype.onDrop = /** - * @param {?} evt - * @return {?} - */ - function (evt) { - evt.preventDefault(); - evt.stopPropagation(); - /** @type {?} */ - var files = evt.dataTransfer.files; - if (files.length > 0) { - this.active = false; - this.dropped.emit(true); - this._uploadFilesService.changeFilesList(files); - this.closeArea(); - } - }; - /** - * @param {?} event - * @return {?} - */ - DndDirective.prototype.onClick = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.closeArea(); - }; - /** - * @private - * @return {?} - */ - DndDirective.prototype.closeArea = /** - * @private - * @return {?} - */ - function () { - this.closing.emit(true); - this.opening.emit(false); - }; - DndDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdDnd]' - },] } - ]; - /** @nocollapse */ - DndDirective.ctorParameters = function () { return [ - { type: UploadFilesService } - ]; }; - DndDirective.propDecorators = { - closing: [{ type: core.Output }], - opening: [{ type: core.Output }], - dropped: [{ type: core.Output }], - active: [{ type: core.HostBinding, args: ['class.active',] }], - onDragEnter: [{ type: core.HostListener, args: ['dragenter', ['$event'],] }], - onDragOver: [{ type: core.HostListener, args: ['dragover', ['$event'],] }], - onDragLeave: [{ type: core.HostListener, args: ['dragleave', ['$event'],] }], - onDrop: [{ type: core.HostListener, args: ['drop', ['$event'],] }], - onClick: [{ type: core.HostListener, args: ['click', ['$event'],] }] - }; - return DndDirective; - }()); - if (false) { - /** @type {?} */ - DndDirective.prototype.closing; - /** @type {?} */ - DndDirective.prototype.opening; - /** @type {?} */ - DndDirective.prototype.dropped; - /** @type {?} */ - DndDirective.prototype.active; - /** - * @type {?} - * @private - */ - DndDirective.prototype.dragCounter; - /** - * @type {?} - * @protected - */ - DndDirective.prototype._uploadFilesService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var DndDirective = /** @class */ (function () { + function DndDirective(_uploadFilesService) { + this._uploadFilesService = _uploadFilesService; + this.closing = new core.EventEmitter(); + this.opening = new core.EventEmitter(); + this.dropped = new core.EventEmitter(); + this.active = false; + this.dragCounter = 0; + } + /** + * @param {?} evt + * @return {?} + */ + DndDirective.prototype.onDragEnter = /** + * @param {?} evt + * @return {?} + */ + function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + this.dragCounter++; + this.active = true; + this.opening.emit(true); + }; + /** + * @param {?} evt + * @return {?} + */ + DndDirective.prototype.onDragOver = /** + * @param {?} evt + * @return {?} + */ + function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + return false; + }; + /** + * @param {?} evt + * @return {?} + */ + DndDirective.prototype.onDragLeave = /** + * @param {?} evt + * @return {?} + */ + function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + this.dragCounter--; + if (this.dragCounter === 0) { + this.active = false; + this.closeArea(); + } + }; + /** + * @param {?} evt + * @return {?} + */ + DndDirective.prototype.onDrop = /** + * @param {?} evt + * @return {?} + */ + function (evt) { + evt.preventDefault(); + evt.stopPropagation(); + /** @type {?} */ + var files = evt.dataTransfer.files; + if (files.length > 0) { + this.active = false; + this.dropped.emit(true); + this._uploadFilesService.changeFilesList(files); + this.closeArea(); + } + }; + /** + * @param {?} event + * @return {?} + */ + DndDirective.prototype.onClick = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.closeArea(); + }; + /** + * @private + * @return {?} + */ + DndDirective.prototype.closeArea = /** + * @private + * @return {?} + */ + function () { + this.closing.emit(true); + this.opening.emit(false); + }; + DndDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdDnd]' + },] } + ]; + /** @nocollapse */ + DndDirective.ctorParameters = function () { return [ + { type: UploadFilesService } + ]; }; + DndDirective.propDecorators = { + closing: [{ type: core.Output }], + opening: [{ type: core.Output }], + dropped: [{ type: core.Output }], + active: [{ type: core.HostBinding, args: ['class.active',] }], + onDragEnter: [{ type: core.HostListener, args: ['dragenter', ['$event'],] }], + onDragOver: [{ type: core.HostListener, args: ['dragover', ['$event'],] }], + onDragLeave: [{ type: core.HostListener, args: ['dragleave', ['$event'],] }], + onDrop: [{ type: core.HostListener, args: ['drop', ['$event'],] }], + onClick: [{ type: core.HostListener, args: ['click', ['$event'],] }] + }; + return DndDirective; + }()); + if (false) { + /** @type {?} */ + DndDirective.prototype.closing; + /** @type {?} */ + DndDirective.prototype.opening; + /** @type {?} */ + DndDirective.prototype.dropped; + /** @type {?} */ + DndDirective.prototype.active; + /** + * @type {?} + * @private + */ + DndDirective.prototype.dragCounter; + /** + * @type {?} + * @protected + */ + DndDirective.prototype._uploadFilesService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$2 = jquery; - var ViewportService = /** @class */ (function () { - function ViewportService() { - } - /** - * @param {?} el - * @param {?=} zoom - * @param {?=} leftOffset - * @param {?=} deltaX - * @return {?} - */ - ViewportService.prototype.checkInViewport = /** - * @param {?} el - * @param {?=} zoom - * @param {?=} leftOffset - * @param {?=} deltaX - * @return {?} - */ - function (el, zoom, leftOffset, deltaX) { - if (zoom === void 0) { zoom = 100; } - if (leftOffset === void 0) { leftOffset = 0; } - if (deltaX === void 0) { deltaX = 0.5; } - if (!el) { - return false; - } - /** @type {?} */ - var x = deltaX; - /** @type {?} */ - var y = 0.5; - /** @type {?} */ - var win = $$2(window); - /** @type {?} */ - var viewport = { - top: win.scrollTop(), - left: win.scrollLeft() + leftOffset, - right: win.scrollLeft() + win.width() - 10, - bottom: win.scrollTop() + win.height() - }; - if (isNaN(zoom)) { - zoom = 100; - } - /** @type {?} */ - var zoomN = zoom / 100; - /** @type {?} */ - var height = $$2(el).outerHeight() * (zoomN); - /** @type {?} */ - var width = $$2(el).outerWidth() * (zoomN); - if (!width || !height) { - return false; - } - /** @type {?} */ - var bounds = $$2(el).offset(); - /** @type {?} */ - var right = (bounds.left * (zoomN)) + width; - /** @type {?} */ - var bottom = (bounds.top * (zoomN)) + height; - /** @type {?} */ - var visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom)); - if (!visible) { - return false; - } - /** @type {?} */ - var deltas = { - top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)), - bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)), - left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)), - right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2)) - }; - return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y; - }; - ViewportService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - ViewportService.ctorParameters = function () { return []; }; - /** @nocollapse */ ViewportService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ViewportService_Factory() { return new ViewportService(); }, token: ViewportService, providedIn: "root" }); - return ViewportService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$2 = jquery; + var ViewportService = /** @class */ (function () { + function ViewportService() { + } + /** + * @param {?} el + * @param {?=} zoom + * @param {?=} leftOffset + * @param {?=} deltaX + * @return {?} + */ + ViewportService.prototype.checkInViewport = /** + * @param {?} el + * @param {?=} zoom + * @param {?=} leftOffset + * @param {?=} deltaX + * @return {?} + */ + function (el, zoom, leftOffset, deltaX) { + if (zoom === void 0) { zoom = 100; } + if (leftOffset === void 0) { leftOffset = 0; } + if (deltaX === void 0) { deltaX = 0.5; } + if (!el) { + return false; + } + /** @type {?} */ + var x = deltaX; + /** @type {?} */ + var y = 0.5; + /** @type {?} */ + var win = $$2(window); + /** @type {?} */ + var viewport = { + top: win.scrollTop(), + left: win.scrollLeft() + leftOffset, + right: win.scrollLeft() + win.width() - 10, + bottom: win.scrollTop() + win.height() + }; + if (isNaN(zoom)) { + zoom = 100; + } + /** @type {?} */ + var zoomN = zoom / 100; + /** @type {?} */ + var height = $$2(el).outerHeight() * (zoomN); + /** @type {?} */ + var width = $$2(el).outerWidth() * (zoomN); + if (!width || !height) { + return false; + } + /** @type {?} */ + var bounds = $$2(el).offset(); + /** @type {?} */ + var right = (bounds.left * (zoomN)) + width; + /** @type {?} */ + var bottom = (bounds.top * (zoomN)) + height; + /** @type {?} */ + var visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom)); + if (!visible) { + return false; + } + /** @type {?} */ + var deltas = { + top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)), + bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)), + left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)), + right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2)) + }; + return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y; + }; + ViewportService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + ViewportService.ctorParameters = function () { return []; }; + /** @nocollapse */ ViewportService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ViewportService_Factory() { return new ViewportService(); }, token: ViewportService, providedIn: "root" }); + return ViewportService; }()); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$3 = jquery; - var ScrollableDirective = /** @class */ (function () { - function ScrollableDirective(_elementRef, _navigateService, _pagePreloadService, _zoomService, _windowService, _viewportService) { - var _this = this; - this._elementRef = _elementRef; - this._navigateService = _navigateService; - this._pagePreloadService = _pagePreloadService; - this._zoomService = _zoomService; - this._windowService = _windowService; - this._viewportService = _viewportService; - this.zoom = 100; - this.loadedPagesSet = new Set(); - this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom; - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - _this.zoom = val ? val : _this.zoom; - _this.refresh(); - })); - } - /** - * @return {?} - */ - ScrollableDirective.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - var _this = this; - this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom; - this._navigateService.navigate.subscribe(((/** - * @param {?} value - * @return {?} - */ - function (value) { - _this.currentPage = value; - _this.scrollToPage(value); - }))); - this.refresh(); - }; - /** - * @return {?} - */ - ScrollableDirective.prototype.scrolling = /** - * @return {?} - */ - function () { - this.refresh(); - }; - /** - * @return {?} - */ - ScrollableDirective.prototype.resizing = /** - * @return {?} - */ - function () { - this.refresh(); - }; - /** - * @param {?} pageNumber - * @return {?} - */ - ScrollableDirective.prototype.scrollToPage = /** - * @param {?} pageNumber - * @return {?} - */ - function (pageNumber) { - /** @type {?} */ - var el = this._elementRef.nativeElement; - /** @type {?} */ - var page = this.getPage(pageNumber); - /** @type {?} */ - var prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null; - /** @type {?} */ - var isSameTop = (prev && $$3(prev).offset().top === $$3(page).offset().top); - if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) { - return; - } - /** @type {?} */ - var pagesHeight = this.calculateOffset(pageNumber); - /** @type {?} */ - var options = { - left: 0, - top: pagesHeight - }; - if (el) { - // using polyfill - el.scroll(options); - } - }; - /** - * @private - * @return {?} - */ - ScrollableDirective.prototype.getChildren = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var el = this._elementRef ? this._elementRef.nativeElement : null; - if (el) { - // here and in the similar line below we getting the document pages - return el.children.item(0).children.item(0).children; - } - }; - /** - * @private - * @param {?} pageNumber - * @return {?} - */ - ScrollableDirective.prototype.getPage = /** - * @private - * @param {?} pageNumber - * @return {?} - */ - function (pageNumber) { - /** @type {?} */ - var el = this._elementRef ? this._elementRef.nativeElement : null; - if (el) { - return el.children.item(0).children.item(0).children.item(pageNumber - 1); - } - }; - /** - * @private - * @param {?} pageNumber - * @return {?} - */ - ScrollableDirective.prototype.calculateOffset = /** - * @private - * @param {?} pageNumber - * @return {?} - */ - function (pageNumber) { - /** @type {?} */ - var count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth(); - /** @type {?} */ - var margin = this._windowService.isDesktop() ? 40 : 10; - /** @type {?} */ - var pagesHeight = 0; - for (var i = 1; i < pageNumber / count; i++) { - /** @type {?} */ - var item = this.getPage(i); - /** @type {?} */ - var clientHeight = item ? item.clientHeight : 0; - pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0; - } - return pagesHeight; - }; - /** - * @private - * @return {?} - */ - ScrollableDirective.prototype.countPagesOnWidth = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var pageEl = this.getPage(1); - /** @type {?} */ - var offset = 150; - if (pageEl) { - /** @type {?} */ - var count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom())); - if (count !== 0) { - return count; - } - } - return 1; - }; - /** - * @return {?} - */ - ScrollableDirective.prototype.refresh = /** - * @return {?} - */ - function () { - /** @type {?} */ - var page; - /** @type {?} */ - var currentPageSet = false; - /** @type {?} */ - var pageElem = this.getPage(this.currentPage); - /** @type {?} */ - var currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null; - for (page = 1; page < this.getChildren().length + 1; page++) { - /** @type {?} */ - var element = this.getPage(page); - if (this._viewportService.checkInViewport(element, this.zoom)) { - if (!currentPageSet) { - if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) { - this.currentPage = page; - if (this._navigateService.currentPage === 0) { - this._navigateService.currentPage = page; - } - } - currentPageSet = true; - } - if (!this.loadedPagesSet.has(page)) { - this._pagePreloadService.changeLastPageInView(page); - this.loadedPagesSet.add(page); - } - } - } - }; - /** - * @param {?} changes - * @return {?} - */ - ScrollableDirective.prototype.ngOnChanges = /** - * @param {?} changes - * @return {?} - */ - function (changes) { - this.refresh(); - }; - /** - * @return {?} - */ - ScrollableDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom; - }; - /** - * @private - * @return {?} - */ - ScrollableDirective.prototype.getWidth = /** - * @private - * @return {?} - */ - function () { - return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth; - }; - /** - * @private - * @return {?} - */ - ScrollableDirective.prototype.getZoom = /** - * @private - * @return {?} - */ - function () { - return this.zoom / 100; - }; - ScrollableDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdScrollable]' - },] } - ]; - /** @nocollapse */ - ScrollableDirective.ctorParameters = function () { return [ - { type: core.ElementRef }, - { type: NavigateService }, - { type: PagePreloadService }, - { type: ZoomService }, - { type: WindowService }, - { type: ViewportService } - ]; }; - ScrollableDirective.propDecorators = { - scrolling: [{ type: core.HostListener, args: ['scroll',] }], - resizing: [{ type: core.HostListener, args: ['window:resize',] }] - }; - return ScrollableDirective; - }()); - if (false) { - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.currentPage; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.zoom; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype.loadedPagesSet; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._elementRef; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._navigateService; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._pagePreloadService; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._zoomService; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._windowService; - /** - * @type {?} - * @private - */ - ScrollableDirective.prototype._viewportService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$3 = jquery; + var ScrollableDirective = /** @class */ (function () { + function ScrollableDirective(_elementRef, _navigateService, _pagePreloadService, _zoomService, _windowService, _viewportService) { + var _this = this; + this._elementRef = _elementRef; + this._navigateService = _navigateService; + this._pagePreloadService = _pagePreloadService; + this._zoomService = _zoomService; + this._windowService = _windowService; + this._viewportService = _viewportService; + this.zoom = 100; + this.loadedPagesSet = new Set(); + this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom; + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + _this.zoom = val ? val : _this.zoom; + _this.refresh(); + })); + } + /** + * @return {?} + */ + ScrollableDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom; + this._navigateService.navigate.subscribe(((/** + * @param {?} value + * @return {?} + */ + function (value) { + _this.currentPage = value; + _this.scrollToPage(value); + }))); + this.refresh(); + }; + /** + * @return {?} + */ + ScrollableDirective.prototype.scrolling = /** + * @return {?} + */ + function () { + this.refresh(); + }; + /** + * @return {?} + */ + ScrollableDirective.prototype.resizing = /** + * @return {?} + */ + function () { + this.refresh(); + }; + /** + * @param {?} pageNumber + * @return {?} + */ + ScrollableDirective.prototype.scrollToPage = /** + * @param {?} pageNumber + * @return {?} + */ + function (pageNumber) { + /** @type {?} */ + var el = this._elementRef.nativeElement; + /** @type {?} */ + var page = this.getPage(pageNumber); + /** @type {?} */ + var prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null; + /** @type {?} */ + var isSameTop = (prev && $$3(prev).offset().top === $$3(page).offset().top); + if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) { + return; + } + /** @type {?} */ + var pagesHeight = this.calculateOffset(pageNumber); + /** @type {?} */ + var options = { + left: 0, + top: pagesHeight + }; + if (el) { + // using polyfill + el.scroll(options); + } + }; + /** + * @private + * @return {?} + */ + ScrollableDirective.prototype.getChildren = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var el = this._elementRef ? this._elementRef.nativeElement : null; + if (el) { + // here and in the similar line below we getting the document pages + return el.children.item(0).children.item(0).children; + } + }; + /** + * @private + * @param {?} pageNumber + * @return {?} + */ + ScrollableDirective.prototype.getPage = /** + * @private + * @param {?} pageNumber + * @return {?} + */ + function (pageNumber) { + /** @type {?} */ + var el = this._elementRef ? this._elementRef.nativeElement : null; + if (el) { + return el.children.item(0).children.item(0).children.item(pageNumber - 1); + } + }; + /** + * @private + * @param {?} pageNumber + * @return {?} + */ + ScrollableDirective.prototype.calculateOffset = /** + * @private + * @param {?} pageNumber + * @return {?} + */ + function (pageNumber) { + /** @type {?} */ + var count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth(); + /** @type {?} */ + var margin = this._windowService.isDesktop() ? 40 : 10; + /** @type {?} */ + var pagesHeight = 0; + for (var i = 1; i < pageNumber / count; i++) { + /** @type {?} */ + var item = this.getPage(i); + /** @type {?} */ + var clientHeight = item ? item.clientHeight : 0; + pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0; + } + return pagesHeight; + }; + /** + * @private + * @return {?} + */ + ScrollableDirective.prototype.countPagesOnWidth = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var pageEl = this.getPage(1); + /** @type {?} */ + var offset = 150; + if (pageEl) { + /** @type {?} */ + var count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom())); + if (count !== 0) { + return count; + } + } + return 1; + }; + /** + * @return {?} + */ + ScrollableDirective.prototype.refresh = /** + * @return {?} + */ + function () { + /** @type {?} */ + var page; + /** @type {?} */ + var currentPageSet = false; + /** @type {?} */ + var pageElem = this.getPage(this.currentPage); + /** @type {?} */ + var currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null; + for (page = 1; page < this.getChildren().length + 1; page++) { + /** @type {?} */ + var element = this.getPage(page); + if (this._viewportService.checkInViewport(element, this.zoom)) { + if (!currentPageSet) { + if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) { + this.currentPage = page; + if (this._navigateService.currentPage === 0) { + this._navigateService.currentPage = page; + } + } + currentPageSet = true; + } + if (!this.loadedPagesSet.has(page)) { + this._pagePreloadService.changeLastPageInView(page); + this.loadedPagesSet.add(page); + } + } + } + }; + /** + * @param {?} changes + * @return {?} + */ + ScrollableDirective.prototype.ngOnChanges = /** + * @param {?} changes + * @return {?} + */ + function (changes) { + this.refresh(); + }; + /** + * @return {?} + */ + ScrollableDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom; + }; + /** + * @private + * @return {?} + */ + ScrollableDirective.prototype.getWidth = /** + * @private + * @return {?} + */ + function () { + return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth; + }; + /** + * @private + * @return {?} + */ + ScrollableDirective.prototype.getZoom = /** + * @private + * @return {?} + */ + function () { + return this.zoom / 100; + }; + ScrollableDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdScrollable]' + },] } + ]; + /** @nocollapse */ + ScrollableDirective.ctorParameters = function () { return [ + { type: core.ElementRef }, + { type: NavigateService }, + { type: PagePreloadService }, + { type: ZoomService }, + { type: WindowService }, + { type: ViewportService } + ]; }; + ScrollableDirective.propDecorators = { + scrolling: [{ type: core.HostListener, args: ['scroll',] }], + resizing: [{ type: core.HostListener, args: ['window:resize',] }] + }; + return ScrollableDirective; + }()); + if (false) { + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype.currentPage; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype.zoom; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype.loadedPagesSet; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._elementRef; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._navigateService; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._pagePreloadService; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._zoomService; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._windowService; + /** + * @type {?} + * @private + */ + ScrollableDirective.prototype._viewportService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$4 = jquery; - var MouseWheelDirective = /** @class */ (function () { - function MouseWheelDirective() { - this.mouseWheelUp = new core.EventEmitter(); - this.mouseWheelDown = new core.EventEmitter(); - } - /** - * @param {?} event - * @return {?} - */ - MouseWheelDirective.prototype.onMouseWheelChrome = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.mouseWheelFunc(event); - }; - /** - * @param {?} event - * @return {?} - */ - MouseWheelDirective.prototype.onMouseWheelFirefox = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.mouseWheelFunc(event); - }; - /** - * @param {?} event - * @return {?} - */ - MouseWheelDirective.prototype.onMouseWheelIE = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.mouseWheelFunc(event); - }; - /** - * @param {?} event - * @return {?} - */ - MouseWheelDirective.prototype.mouseWheelFunc = /** - * @param {?} event - * @return {?} - */ - function (event) { - event = window.event; - /** @type {?} */ - var delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail))); - if (delta > 0) { - this.mouseWheelUp.emit(event); - } - else if (delta < 0) { - this.mouseWheelDown.emit(event); - } - }; - MouseWheelDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdMouseWheel]' - },] } - ]; - MouseWheelDirective.propDecorators = { - mouseWheelUp: [{ type: core.Output }], - mouseWheelDown: [{ type: core.Output }], - onMouseWheelChrome: [{ type: core.HostListener, args: ['mousewheel', ['$event'],] }], - onMouseWheelFirefox: [{ type: core.HostListener, args: ['DOMMouseScroll', ['$event'],] }], - onMouseWheelIE: [{ type: core.HostListener, args: ['onmousewheel', ['$event'],] }] - }; - return MouseWheelDirective; - }()); - if (false) { - /** @type {?} */ - MouseWheelDirective.prototype.mouseWheelUp; - /** @type {?} */ - MouseWheelDirective.prototype.mouseWheelDown; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$4 = jquery; + var MouseWheelDirective = /** @class */ (function () { + function MouseWheelDirective() { + this.mouseWheelUp = new core.EventEmitter(); + this.mouseWheelDown = new core.EventEmitter(); + } + /** + * @param {?} event + * @return {?} + */ + MouseWheelDirective.prototype.onMouseWheelChrome = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.mouseWheelFunc(event); + }; + /** + * @param {?} event + * @return {?} + */ + MouseWheelDirective.prototype.onMouseWheelFirefox = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.mouseWheelFunc(event); + }; + /** + * @param {?} event + * @return {?} + */ + MouseWheelDirective.prototype.onMouseWheelIE = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.mouseWheelFunc(event); + }; + /** + * @param {?} event + * @return {?} + */ + MouseWheelDirective.prototype.mouseWheelFunc = /** + * @param {?} event + * @return {?} + */ + function (event) { + event = window.event; + /** @type {?} */ + var delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail))); + if (delta > 0) { + this.mouseWheelUp.emit(event); + } + else if (delta < 0) { + this.mouseWheelDown.emit(event); + } + }; + MouseWheelDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdMouseWheel]' + },] } + ]; + MouseWheelDirective.propDecorators = { + mouseWheelUp: [{ type: core.Output }], + mouseWheelDown: [{ type: core.Output }], + onMouseWheelChrome: [{ type: core.HostListener, args: ['mousewheel', ['$event'],] }], + onMouseWheelFirefox: [{ type: core.HostListener, args: ['DOMMouseScroll', ['$event'],] }], + onMouseWheelIE: [{ type: core.HostListener, args: ['onmousewheel', ['$event'],] }] + }; + return MouseWheelDirective; + }()); + if (false) { + /** @type {?} */ + MouseWheelDirective.prototype.mouseWheelUp; + /** @type {?} */ + MouseWheelDirective.prototype.mouseWheelDown; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ZoomDirective = /** @class */ (function () { - function ZoomDirective(_zoomService, _windowService, el) { - this._zoomService = _zoomService; - this._windowService = _windowService; - this.zoomActive = true; - this.el = el; - } - /** - * @return {?} - */ - ZoomDirective.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - ZoomDirective.prototype.ngOnChanges = /** - * @return {?} - */ - function () { - this.setStyles(this._zoomService.zoom); - this.resizePages(this._zoomService.zoom); - }; - /** - * @return {?} - */ - ZoomDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - var _this = this; - if (!this.zoomActive) { - return; - } - this.setStyles(this._zoomService.zoom); - this._zoomService.zoomChange.subscribe((/** - * @param {?} zoom - * @return {?} - */ - function (zoom) { - _this.setStyles(zoom); - _this.resizePages(zoom); - })); - }; - /** - * @private - * @param {?} zoom - * @return {?} - */ - ZoomDirective.prototype.setStyles = /** - * @private - * @param {?} zoom - * @return {?} - */ - function (zoom) { - if (!this.zoomActive) { - return; - } - /** @type {?} */ - var zoomInt = zoom === 100 ? 1 : zoom / 100; - if (this._windowService.isEdge()) { - this.zoomInt = zoomInt; - } - else { - this.zoomInt = null; - } - if (!this._windowService.isEdge()) { - this.transform = 'scale(' + zoomInt + ')'; - this.transformOrigin = 'top left'; - } - else { - this.transform = ""; - this.transformOrigin = ""; - } - /** @type {?} */ - var maxWidth = 0; - this.file.pages.forEach((/** - * @param {?} page - * @return {?} - */ - function (page) { - { - if (page.width > maxWidth) { - maxWidth = page.width; - } - } - })); - // Images and Excel-related files receiving dimensions in px from server - this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit; - }; - /** - * @private - * @param {?} elm - * @return {?} - */ - ZoomDirective.prototype.getScrollWidth = /** - * @private - * @param {?} elm - * @return {?} - */ - function (elm) { - return elm.offsetWidth - elm.clientWidth; - }; - /** - * @private - * @param {?} elm - * @return {?} - */ - ZoomDirective.prototype.getScrollHeight = /** - * @private - * @param {?} elm - * @return {?} - */ - function (elm) { - return elm.offsetHeight - elm.clientHeight; - }; - /** - * @private - * @param {?} zoom - * @return {?} - */ - ZoomDirective.prototype.resizePages = /** - * @private - * @param {?} zoom - * @return {?} - */ - function (zoom) { - /** @type {?} */ - var zoomInt = zoom === 100 ? 1 : zoom / 100; - /** @type {?} */ - var viewPortWidth = this.el.nativeElement.parentElement.offsetWidth; - /** @type {?} */ - var viewPortHeight = this.el.nativeElement.parentElement.offsetHeight; - /** @type {?} */ - var scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement); - /** @type {?} */ - var scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement); - this.width = (viewPortWidth / zoomInt - scrollWidth / zoomInt) + 'px'; - this.height = (viewPortHeight / zoomInt - scrollHeight / zoomInt) + 'px'; - }; - /** - * @return {?} - */ - ZoomDirective.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - this.setStyles(this._zoomService.zoom); - }; - ZoomDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdZoom]' - },] } - ]; - /** @nocollapse */ - ZoomDirective.ctorParameters = function () { return [ - { type: ZoomService }, - { type: WindowService }, - { type: core.ElementRef } - ]; }; - ZoomDirective.propDecorators = { - zoomActive: [{ type: core.Input }], - file: [{ type: core.Input }], - zoomInt: [{ type: core.HostBinding, args: ['style.zoom',] }], - transform: [{ type: core.HostBinding, args: ['style.transform',] }], - transformOrigin: [{ type: core.HostBinding, args: ['style.transform-origin',] }], - width: [{ type: core.HostBinding, args: ['style.width',] }], - height: [{ type: core.HostBinding, args: ['style.height',] }], - minWidth: [{ type: core.HostBinding, args: ['style.min-width',] }] - }; - return ZoomDirective; - }()); - if (false) { - /** @type {?} */ - ZoomDirective.prototype.zoomActive; - /** @type {?} */ - ZoomDirective.prototype.file; - /** @type {?} */ - ZoomDirective.prototype.zoomInt; - /** @type {?} */ - ZoomDirective.prototype.transform; - /** @type {?} */ - ZoomDirective.prototype.transformOrigin; - /** @type {?} */ - ZoomDirective.prototype.width; - /** @type {?} */ - ZoomDirective.prototype.height; - /** @type {?} */ - ZoomDirective.prototype.minWidth; - /** @type {?} */ - ZoomDirective.prototype.el; - /** - * @type {?} - * @private - */ - ZoomDirective.prototype._zoomService; - /** - * @type {?} - * @private - */ - ZoomDirective.prototype._windowService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ZoomDirective = /** @class */ (function () { + function ZoomDirective(_zoomService, _windowService, el) { + this._zoomService = _zoomService; + this._windowService = _windowService; + this.zoomActive = true; + this.el = el; + } + /** + * @return {?} + */ + ZoomDirective.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + ZoomDirective.prototype.ngOnChanges = /** + * @return {?} + */ + function () { + this.setStyles(this._zoomService.zoom); + this.resizePages(this._zoomService.zoom); + }; + /** + * @return {?} + */ + ZoomDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + if (!this.zoomActive) { + return; + } + this.setStyles(this._zoomService.zoom); + this._zoomService.zoomChange.subscribe((/** + * @param {?} zoom + * @return {?} + */ + function (zoom) { + _this.setStyles(zoom); + _this.resizePages(zoom); + })); + }; + /** + * @private + * @param {?} zoom + * @return {?} + */ + ZoomDirective.prototype.setStyles = /** + * @private + * @param {?} zoom + * @return {?} + */ + function (zoom) { + if (!this.zoomActive) { + return; + } + /** @type {?} */ + var zoomInt = zoom === 100 ? 1 : zoom / 100; + if (this._windowService.isEdge()) { + this.zoomInt = zoomInt; + } + else { + this.zoomInt = null; + } + if (!this._windowService.isEdge()) { + this.transform = 'scale(' + zoomInt + ')'; + this.transformOrigin = 'top left'; + } + else { + this.transform = ""; + this.transformOrigin = ""; + } + /** @type {?} */ + var maxWidth = 0; + this.file.pages.forEach((/** + * @param {?} page + * @return {?} + */ + function (page) { + { + if (page.width > maxWidth) { + maxWidth = page.width; + } + } + })); + // Images and Excel-related files receiving dimensions in px from server + this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit; + }; + /** + * @private + * @param {?} elm + * @return {?} + */ + ZoomDirective.prototype.getScrollWidth = /** + * @private + * @param {?} elm + * @return {?} + */ + function (elm) { + return elm.offsetWidth - elm.clientWidth; + }; + /** + * @private + * @param {?} elm + * @return {?} + */ + ZoomDirective.prototype.getScrollHeight = /** + * @private + * @param {?} elm + * @return {?} + */ + function (elm) { + return elm.offsetHeight - elm.clientHeight; + }; + /** + * @private + * @param {?} zoom + * @return {?} + */ + ZoomDirective.prototype.resizePages = /** + * @private + * @param {?} zoom + * @return {?} + */ + function (zoom) { + /** @type {?} */ + var zoomInt = zoom === 100 ? 1 : zoom / 100; + /** @type {?} */ + var viewPortWidth = this.el.nativeElement.parentElement.offsetWidth; + /** @type {?} */ + var viewPortHeight = this.el.nativeElement.parentElement.offsetHeight; + /** @type {?} */ + var scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement); + /** @type {?} */ + var scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement); + this.width = (viewPortWidth / zoomInt - scrollWidth / zoomInt) + 'px'; + this.height = (viewPortHeight / zoomInt - scrollHeight / zoomInt) + 'px'; + }; + /** + * @return {?} + */ + ZoomDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + this.setStyles(this._zoomService.zoom); + }; + ZoomDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdZoom]' + },] } + ]; + /** @nocollapse */ + ZoomDirective.ctorParameters = function () { return [ + { type: ZoomService }, + { type: WindowService }, + { type: core.ElementRef } + ]; }; + ZoomDirective.propDecorators = { + zoomActive: [{ type: core.Input }], + file: [{ type: core.Input }], + zoomInt: [{ type: core.HostBinding, args: ['style.zoom',] }], + transform: [{ type: core.HostBinding, args: ['style.transform',] }], + transformOrigin: [{ type: core.HostBinding, args: ['style.transform-origin',] }], + width: [{ type: core.HostBinding, args: ['style.width',] }], + height: [{ type: core.HostBinding, args: ['style.height',] }], + minWidth: [{ type: core.HostBinding, args: ['style.min-width',] }] + }; + return ZoomDirective; + }()); + if (false) { + /** @type {?} */ + ZoomDirective.prototype.zoomActive; + /** @type {?} */ + ZoomDirective.prototype.file; + /** @type {?} */ + ZoomDirective.prototype.zoomInt; + /** @type {?} */ + ZoomDirective.prototype.transform; + /** @type {?} */ + ZoomDirective.prototype.transformOrigin; + /** @type {?} */ + ZoomDirective.prototype.width; + /** @type {?} */ + ZoomDirective.prototype.height; + /** @type {?} */ + ZoomDirective.prototype.minWidth; + /** @type {?} */ + ZoomDirective.prototype.el; + /** + * @type {?} + * @private + */ + ZoomDirective.prototype._zoomService; + /** + * @type {?} + * @private + */ + ZoomDirective.prototype._windowService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var OnCloseService = /** @class */ (function () { - function OnCloseService() { - this._observer = new rxjs.Subject(); - this._onClose = this._observer.asObservable(); - } - Object.defineProperty(OnCloseService.prototype, "onClose", { - get: /** - * @return {?} - */ - function () { - return this._onClose; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} close - * @return {?} - */ - OnCloseService.prototype.close = /** - * @param {?} close - * @return {?} - */ - function (close) { - this._observer.next(close); - }; - OnCloseService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - OnCloseService.ctorParameters = function () { return []; }; - /** @nocollapse */ OnCloseService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function OnCloseService_Factory() { return new OnCloseService(); }, token: OnCloseService, providedIn: "root" }); - return OnCloseService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - OnCloseService.prototype._observer; - /** - * @type {?} - * @private - */ - OnCloseService.prototype._onClose; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var OnCloseService = /** @class */ (function () { + function OnCloseService() { + this._observer = new rxjs.Subject(); + this._onClose = this._observer.asObservable(); + } + Object.defineProperty(OnCloseService.prototype, "onClose", { + get: /** + * @return {?} + */ + function () { + return this._onClose; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} close + * @return {?} + */ + OnCloseService.prototype.close = /** + * @param {?} close + * @return {?} + */ + function (close) { + this._observer.next(close); + }; + OnCloseService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + OnCloseService.ctorParameters = function () { return []; }; + /** @nocollapse */ OnCloseService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function OnCloseService_Factory() { return new OnCloseService(); }, token: OnCloseService, providedIn: "root" }); + return OnCloseService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + OnCloseService.prototype._observer; + /** + * @type {?} + * @private + */ + OnCloseService.prototype._onClose; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** - * @record - */ - function Option() { } - if (false) { - /** @type {?} */ - Option.prototype.name; - /** @type {?} */ - Option.prototype.value; - /** @type {?} */ - Option.prototype.separator; - } - var SelectComponent = /** @class */ (function () { - function SelectComponent(_onCloseService) { - var _this = this; - this._onCloseService = _onCloseService; - this.disabled = false; - this.selected = new core.EventEmitter(); - this.opened = new core.EventEmitter(); - this.isOpen = false; - _onCloseService.onClose.subscribe((/** - * @return {?} - */ - function () { - _this.close(); - })); - } - /** - * @return {?} - */ - SelectComponent.prototype.open = /** - * @return {?} - */ - function () { - if (!this.disabled) { - this.isOpen = true; - } - }; - /** - * @return {?} - */ - SelectComponent.prototype.close = /** - * @return {?} - */ - function () { - this.isOpen = false; - }; - /** - * @param {?} event - * @return {?} - */ - SelectComponent.prototype.onClickOutside = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.close(); - }; - /** - * @param {?} $event - * @return {?} - */ - SelectComponent.prototype.toggle = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - // TODO: following lines were uncommented due to needness in signature app - $event.preventDefault(); - $event.stopPropagation(); - if (!this.disabled) { - this.isOpen = !this.isOpen; - if (this.isOpen) - this.opened.emit(true); - } - }; - /** - * @param {?} $event - * @param {?} value - * @return {?} - */ - SelectComponent.prototype.select = /** - * @param {?} $event - * @param {?} value - * @return {?} - */ - function ($event, value) { - $event.preventDefault(); - $event.stopPropagation(); - this.selected.emit(value); - this.close(); - }; - SelectComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-select', - template: "
\n
\n {{showSelected?.name}}\n
\n \n \n
\n
\n
{{option.name}}
\n
\n
\n
\n
\n", - styles: [".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"] - }] } - ]; - /** @nocollapse */ - SelectComponent.ctorParameters = function () { return [ - { type: OnCloseService } - ]; }; - SelectComponent.propDecorators = { - options: [{ type: core.Input }], - disabled: [{ type: core.Input }], - showSelected: [{ type: core.Input }], - selected: [{ type: core.Output }], - opened: [{ type: core.Output }], - isOpen: [{ type: core.Input }], - icon: [{ type: core.Input }] - }; - return SelectComponent; - }()); - if (false) { - /** @type {?} */ - SelectComponent.prototype.options; - /** @type {?} */ - SelectComponent.prototype.disabled; - /** @type {?} */ - SelectComponent.prototype.showSelected; - /** @type {?} */ - SelectComponent.prototype.selected; - /** @type {?} */ - SelectComponent.prototype.opened; - /** @type {?} */ - SelectComponent.prototype.isOpen; - /** @type {?} */ - SelectComponent.prototype.icon; - /** - * @type {?} - * @protected - */ - SelectComponent.prototype._onCloseService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** + * @record + */ + function Option() { } + if (false) { + /** @type {?} */ + Option.prototype.name; + /** @type {?} */ + Option.prototype.value; + /** @type {?} */ + Option.prototype.separator; + } + var SelectComponent = /** @class */ (function () { + function SelectComponent(_onCloseService) { + var _this = this; + this._onCloseService = _onCloseService; + this.disabled = false; + this.selected = new core.EventEmitter(); + this.opened = new core.EventEmitter(); + this.isOpen = false; + _onCloseService.onClose.subscribe((/** + * @return {?} + */ + function () { + _this.close(); + })); + } + /** + * @return {?} + */ + SelectComponent.prototype.open = /** + * @return {?} + */ + function () { + if (!this.disabled) { + this.isOpen = true; + } + }; + /** + * @return {?} + */ + SelectComponent.prototype.close = /** + * @return {?} + */ + function () { + this.isOpen = false; + }; + /** + * @param {?} event + * @return {?} + */ + SelectComponent.prototype.onClickOutside = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.close(); + }; + /** + * @param {?} $event + * @return {?} + */ + SelectComponent.prototype.toggle = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + // TODO: following lines were uncommented due to needness in signature app + $event.preventDefault(); + $event.stopPropagation(); + if (!this.disabled) { + this.isOpen = !this.isOpen; + if (this.isOpen) + this.opened.emit(true); + } + }; + /** + * @param {?} $event + * @param {?} value + * @return {?} + */ + SelectComponent.prototype.select = /** + * @param {?} $event + * @param {?} value + * @return {?} + */ + function ($event, value) { + $event.preventDefault(); + $event.stopPropagation(); + this.selected.emit(value); + this.close(); + }; + SelectComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-select', + template: "
\r\n
\r\n {{showSelected?.name}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
{{option.name}}
\r\n
\r\n
\r\n
\r\n
\r\n", + styles: [".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"] + }] } + ]; + /** @nocollapse */ + SelectComponent.ctorParameters = function () { return [ + { type: OnCloseService } + ]; }; + SelectComponent.propDecorators = { + options: [{ type: core.Input }], + disabled: [{ type: core.Input }], + showSelected: [{ type: core.Input }], + selected: [{ type: core.Output }], + opened: [{ type: core.Output }], + isOpen: [{ type: core.Input }], + icon: [{ type: core.Input }] + }; + return SelectComponent; + }()); + if (false) { + /** @type {?} */ + SelectComponent.prototype.options; + /** @type {?} */ + SelectComponent.prototype.disabled; + /** @type {?} */ + SelectComponent.prototype.showSelected; + /** @type {?} */ + SelectComponent.prototype.selected; + /** @type {?} */ + SelectComponent.prototype.opened; + /** @type {?} */ + SelectComponent.prototype.isOpen; + /** @type {?} */ + SelectComponent.prototype.icon; + /** + * @type {?} + * @protected + */ + SelectComponent.prototype._onCloseService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var DisabledCursorDirective = /** @class */ (function () { - function DisabledCursorDirective() { - } - /** - * @private - * @return {?} - */ - DisabledCursorDirective.prototype.updateCursor = /** - * @private - * @return {?} - */ - function () { - this.cursor = this.dis ? true : false; - }; - /** - * @return {?} - */ - DisabledCursorDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - this.updateCursor(); - }; - /** - * @param {?} changes - * @return {?} - */ - DisabledCursorDirective.prototype.ngOnChanges = /** - * @param {?} changes - * @return {?} - */ - function (changes) { - this.updateCursor(); - }; - DisabledCursorDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdDisabledCursor]' - },] } - ]; - /** @nocollapse */ - DisabledCursorDirective.ctorParameters = function () { return []; }; - DisabledCursorDirective.propDecorators = { - dis: [{ type: core.Input }], - cursor: [{ type: core.HostBinding, args: ['class.inactive',] }] - }; - return DisabledCursorDirective; - }()); - if (false) { - /** @type {?} */ - DisabledCursorDirective.prototype.dis; - /** @type {?} */ - DisabledCursorDirective.prototype.cursor; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var DisabledCursorDirective = /** @class */ (function () { + function DisabledCursorDirective() { + } + /** + * @private + * @return {?} + */ + DisabledCursorDirective.prototype.updateCursor = /** + * @private + * @return {?} + */ + function () { + this.cursor = this.dis ? true : false; + }; + /** + * @return {?} + */ + DisabledCursorDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.updateCursor(); + }; + /** + * @param {?} changes + * @return {?} + */ + DisabledCursorDirective.prototype.ngOnChanges = /** + * @param {?} changes + * @return {?} + */ + function (changes) { + this.updateCursor(); + }; + DisabledCursorDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdDisabledCursor]' + },] } + ]; + /** @nocollapse */ + DisabledCursorDirective.ctorParameters = function () { return []; }; + DisabledCursorDirective.propDecorators = { + dis: [{ type: core.Input }], + cursor: [{ type: core.HostBinding, args: ['class.inactive',] }] + }; + return DisabledCursorDirective; + }()); + if (false) { + /** @type {?} */ + DisabledCursorDirective.prototype.dis; + /** @type {?} */ + DisabledCursorDirective.prototype.cursor; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var RotationDirective = /** @class */ (function () { - function RotationDirective() { - this.withMargin = true; - } - /** - * @private - * @return {?} - */ - RotationDirective.prototype.updateCursor = /** - * @private - * @return {?} - */ - function () { - if (typeof this.angle === "string") { - this.angle = parseInt(this.angle, 10); - } - if (this.angle) { - this.animation = 'none'; - this.transition = 'none'; - this.transform = 'rotate(' + this.angle + 'deg)'; - } - else if (this.angle === 0 && this.animation) { - this.animation = null; - this.transition = null; - this.transform = null; - } - if (this.withMargin) { - if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) { - if (this.isHtmlMode) { - if (this.isLandscape()) { - this.margin = '164px 254px'; - } - else { - this.margin = '-111px 254px'; - } - } - else { - if (this.isLandscape()) { - this.margin = '129px 100px -79px'; - } - else { - this.margin = '-72px 100px -79px'; - } - } - } - else if (this.angle === -180 || this.angle === 180) { - this.margin = '280px'; - } - else { - this.margin = null; - } - } - }; - /** - * @return {?} - */ - RotationDirective.prototype.isLandscape = /** - * @return {?} - */ - function () { - return this.width > this.height; - }; - /** - * @return {?} - */ - RotationDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - this.updateCursor(); - }; - /** - * @param {?} changes - * @return {?} - */ - RotationDirective.prototype.ngOnChanges = /** - * @param {?} changes - * @return {?} - */ - function (changes) { - this.updateCursor(); - }; - RotationDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdRotation]' - },] } - ]; - /** @nocollapse */ - RotationDirective.ctorParameters = function () { return []; }; - RotationDirective.propDecorators = { - angle: [{ type: core.Input }], - isHtmlMode: [{ type: core.Input }], - width: [{ type: core.Input }], - height: [{ type: core.Input }], - withMargin: [{ type: core.Input }], - animation: [{ type: core.HostBinding, args: ['style.animation',] }], - transition: [{ type: core.HostBinding, args: ['style.transition-property',] }], - transform: [{ type: core.HostBinding, args: ['style.transform',] }], - margin: [{ type: core.HostBinding, args: ['style.margin',] }] - }; - return RotationDirective; - }()); - if (false) { - /** @type {?} */ - RotationDirective.prototype.angle; - /** @type {?} */ - RotationDirective.prototype.isHtmlMode; - /** @type {?} */ - RotationDirective.prototype.width; - /** @type {?} */ - RotationDirective.prototype.height; - /** @type {?} */ - RotationDirective.prototype.withMargin; - /** @type {?} */ - RotationDirective.prototype.animation; - /** @type {?} */ - RotationDirective.prototype.transition; - /** @type {?} */ - RotationDirective.prototype.transform; - /** @type {?} */ - RotationDirective.prototype.margin; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RotationDirective = /** @class */ (function () { + function RotationDirective() { + this.withMargin = true; + } + /** + * @private + * @return {?} + */ + RotationDirective.prototype.updateCursor = /** + * @private + * @return {?} + */ + function () { + if (typeof this.angle === "string") { + this.angle = parseInt(this.angle, 10); + } + if (this.angle) { + this.animation = 'none'; + this.transition = 'none'; + this.transform = 'rotate(' + this.angle + 'deg)'; + } + else if (this.angle === 0 && this.animation) { + this.animation = null; + this.transition = null; + this.transform = null; + } + if (this.withMargin) { + if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) { + if (this.isHtmlMode) { + if (this.isLandscape()) { + this.margin = '164px 254px'; + } + else { + this.margin = '-111px 254px'; + } + } + else { + if (this.isLandscape()) { + this.margin = '129px 100px -79px'; + } + else { + this.margin = '-72px 100px -79px'; + } + } + } + else if (this.angle === -180 || this.angle === 180) { + this.margin = '280px'; + } + else { + this.margin = null; + } + } + }; + /** + * @return {?} + */ + RotationDirective.prototype.isLandscape = /** + * @return {?} + */ + function () { + return this.width > this.height; + }; + /** + * @return {?} + */ + RotationDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.updateCursor(); + }; + /** + * @param {?} changes + * @return {?} + */ + RotationDirective.prototype.ngOnChanges = /** + * @param {?} changes + * @return {?} + */ + function (changes) { + this.updateCursor(); + }; + RotationDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdRotation]' + },] } + ]; + /** @nocollapse */ + RotationDirective.ctorParameters = function () { return []; }; + RotationDirective.propDecorators = { + angle: [{ type: core.Input }], + isHtmlMode: [{ type: core.Input }], + width: [{ type: core.Input }], + height: [{ type: core.Input }], + withMargin: [{ type: core.Input }], + animation: [{ type: core.HostBinding, args: ['style.animation',] }], + transition: [{ type: core.HostBinding, args: ['style.transition-property',] }], + transform: [{ type: core.HostBinding, args: ['style.transform',] }], + margin: [{ type: core.HostBinding, args: ['style.margin',] }] + }; + return RotationDirective; + }()); + if (false) { + /** @type {?} */ + RotationDirective.prototype.angle; + /** @type {?} */ + RotationDirective.prototype.isHtmlMode; + /** @type {?} */ + RotationDirective.prototype.width; + /** @type {?} */ + RotationDirective.prototype.height; + /** @type {?} */ + RotationDirective.prototype.withMargin; + /** @type {?} */ + RotationDirective.prototype.animation; + /** @type {?} */ + RotationDirective.prototype.transition; + /** @type {?} */ + RotationDirective.prototype.transform; + /** @type {?} */ + RotationDirective.prototype.margin; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var InitStateComponent = /** @class */ (function () { - function InitStateComponent() { - this.fileDropped = new core.EventEmitter(); - this.showUploadFile = false; - } - /** - * @return {?} - */ - InitStateComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} $event - * @return {?} - */ - InitStateComponent.prototype.dropped = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - if ($event) { - this.fileDropped.emit($event); - this.showUploadFile = false; - } - }; - InitStateComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-init-state', - template: "
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\n", - styles: [".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"] - }] } - ]; - /** @nocollapse */ - InitStateComponent.ctorParameters = function () { return []; }; - InitStateComponent.propDecorators = { - icon: [{ type: core.Input }], - text: [{ type: core.Input }], - fileDropped: [{ type: core.Output }] - }; - return InitStateComponent; - }()); - if (false) { - /** @type {?} */ - InitStateComponent.prototype.icon; - /** @type {?} */ - InitStateComponent.prototype.text; - /** @type {?} */ - InitStateComponent.prototype.fileDropped; - /** @type {?} */ - InitStateComponent.prototype.showUploadFile; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var InitStateComponent = /** @class */ (function () { + function InitStateComponent() { + this.fileDropped = new core.EventEmitter(); + this.showUploadFile = false; + } + /** + * @return {?} + */ + InitStateComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} $event + * @return {?} + */ + InitStateComponent.prototype.dropped = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + if ($event) { + this.fileDropped.emit($event); + this.showUploadFile = false; + } + }; + InitStateComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-init-state', + template: "
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n", + styles: [".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"] + }] } + ]; + /** @nocollapse */ + InitStateComponent.ctorParameters = function () { return []; }; + InitStateComponent.propDecorators = { + icon: [{ type: core.Input }], + text: [{ type: core.Input }], + fileDropped: [{ type: core.Output }] + }; + return InitStateComponent; + }()); + if (false) { + /** @type {?} */ + InitStateComponent.prototype.icon; + /** @type {?} */ + InitStateComponent.prototype.text; + /** @type {?} */ + InitStateComponent.prototype.fileDropped; + /** @type {?} */ + InitStateComponent.prototype.showUploadFile; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var RenderPrintService = /** @class */ (function () { - function RenderPrintService() { - var _this = this; - this._render = new rxjs.Observable((/** - * @param {?} observer - * @return {?} - */ - function (observer) { - return _this._observer = observer; - })); - this._renderBlob = new rxjs.Observable((/** - * @param {?} observer - * @return {?} - */ - function (observer) { - return _this._observerBlob = observer; - })); - } - Object.defineProperty(RenderPrintService.prototype, "renderPrint", { - get: /** - * @return {?} - */ - function () { - return this._render; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} pages - * @return {?} - */ - RenderPrintService.prototype.changePages = /** - * @param {?} pages - * @return {?} - */ - function (pages) { - this._observer.next(pages); - }; - Object.defineProperty(RenderPrintService.prototype, "renderPrintBlob", { - get: /** - * @return {?} - */ - function () { - return this._renderBlob; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} file - * @return {?} - */ - RenderPrintService.prototype.changeBlob = /** - * @param {?} file - * @return {?} - */ - function (file) { - this._observerBlob.next(file); - }; - return RenderPrintService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - RenderPrintService.prototype._render; - /** - * @type {?} - * @private - */ - RenderPrintService.prototype._observer; - /** - * @type {?} - * @private - */ - RenderPrintService.prototype._renderBlob; - /** - * @type {?} - * @private - */ - RenderPrintService.prototype._observerBlob; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RenderPrintService = /** @class */ (function () { + function RenderPrintService() { + var _this = this; + this._render = new rxjs.Observable((/** + * @param {?} observer + * @return {?} + */ + function (observer) { + return _this._observer = observer; + })); + this._renderBlob = new rxjs.Observable((/** + * @param {?} observer + * @return {?} + */ + function (observer) { + return _this._observerBlob = observer; + })); + } + Object.defineProperty(RenderPrintService.prototype, "renderPrint", { + get: /** + * @return {?} + */ + function () { + return this._render; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} pages + * @return {?} + */ + RenderPrintService.prototype.changePages = /** + * @param {?} pages + * @return {?} + */ + function (pages) { + this._observer.next(pages); + }; + Object.defineProperty(RenderPrintService.prototype, "renderPrintBlob", { + get: /** + * @return {?} + */ + function () { + return this._renderBlob; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} file + * @return {?} + */ + RenderPrintService.prototype.changeBlob = /** + * @param {?} file + * @return {?} + */ + function (file) { + this._observerBlob.next(file); + }; + return RenderPrintService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + RenderPrintService.prototype._render; + /** + * @type {?} + * @private + */ + RenderPrintService.prototype._observer; + /** + * @type {?} + * @private + */ + RenderPrintService.prototype._renderBlob; + /** + * @type {?} + * @private + */ + RenderPrintService.prototype._observerBlob; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var RenderPrintDirective = /** @class */ (function () { - function RenderPrintDirective(_renderService) { - var _this = this; - this._renderService = _renderService; - _renderService.renderPrint.subscribe((/** - * @param {?} pages - * @return {?} - */ - function (pages) { - _this.renderPrint(pages); - })); - _renderService.renderPrintBlob.subscribe((/** - * @param {?} file - * @return {?} - */ - function (file) { - _this.renderPrintBlob(file); - })); - } - /** - * @private - * @param {?} pages - * @return {?} - */ - RenderPrintDirective.prototype.renderPrint = /** - * @private - * @param {?} pages - * @return {?} - */ - function (pages) { - var e_1, _a; - /** @type {?} */ - var pagesHtml = ''; - try { - for (var pages_1 = __values(pages), pages_1_1 = pages_1.next(); !pages_1_1.done; pages_1_1 = pages_1.next()) { - var page = pages_1_1.value; - pagesHtml += '
' + - '
' + - '
'; - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (pages_1_1 && !pages_1_1.done && (_a = pages_1.return)) _a.call(pages_1); - } - finally { if (e_1) throw e_1.error; } - } - this.openWindow(pagesHtml, pages[0].width, pages[0].height); - }; - /** - * @private - * @param {?} pagesHtml - * @param {?} width - * @param {?} height - * @return {?} - */ - RenderPrintDirective.prototype.openWindow = /** - * @private - * @param {?} pagesHtml - * @param {?} width - * @param {?} height - * @return {?} - */ - function (pagesHtml, width, height) { - /** @type {?} */ - var a4Height = 842; - /** @type {?} */ - var a4Width = 595; - /** @type {?} */ - var imageA4Adjusted = ''; - if (width > a4Width && height > a4Height) { - /** @type {?} */ - var zoom = Math.round(height / a4Height) / 100; - imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}'; - if (navigator.userAgent.toLowerCase().indexOf('firefox') > -1) { - imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}'; - } - } - /** @type {?} */ - var cssPrint = ''; - /** @type {?} */ - var windowObject = window.open('', "PrintWindow", "width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes"); - windowObject.focus(); - windowObject.document.writeln(cssPrint); - windowObject.document.writeln(pagesHtml); - windowObject.document.close(); - setTimeout((/** - * @return {?} - */ - function () { - windowObject.focus(); - windowObject.print(); - windowObject.close(); - }), 100); - }; - /** - * @private - * @param {?} file - * @return {?} - */ - RenderPrintDirective.prototype.renderPrintBlob = /** - * @private - * @param {?} file - * @return {?} - */ - function (file) { - /** @type {?} */ - var fileURL = URL.createObjectURL(file); - /** @type {?} */ - var windowObject = window.open(fileURL, "PrintWindow", "width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes"); - windowObject.focus(); - windowObject.print(); - windowObject.close(); - }; - RenderPrintDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdRenderPrint]' - },] } - ]; - /** @nocollapse */ - RenderPrintDirective.ctorParameters = function () { return [ - { type: RenderPrintService } - ]; }; - RenderPrintDirective.propDecorators = { - htmlMode: [{ type: core.Input }] - }; - return RenderPrintDirective; - }()); - if (false) { - /** @type {?} */ - RenderPrintDirective.prototype.htmlMode; - /** - * @type {?} - * @private - */ - RenderPrintDirective.prototype._renderService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var RenderPrintDirective = /** @class */ (function () { + function RenderPrintDirective(_renderService) { + var _this = this; + this._renderService = _renderService; + _renderService.renderPrint.subscribe((/** + * @param {?} pages + * @return {?} + */ + function (pages) { + _this.renderPrint(pages); + })); + _renderService.renderPrintBlob.subscribe((/** + * @param {?} file + * @return {?} + */ + function (file) { + _this.renderPrintBlob(file); + })); + } + /** + * @private + * @param {?} pages + * @return {?} + */ + RenderPrintDirective.prototype.renderPrint = /** + * @private + * @param {?} pages + * @return {?} + */ + function (pages) { + var e_1, _a; + /** @type {?} */ + var pagesHtml = ''; + try { + for (var pages_1 = __values(pages), pages_1_1 = pages_1.next(); !pages_1_1.done; pages_1_1 = pages_1.next()) { + var page = pages_1_1.value; + pagesHtml += '
' + + '
' + + '
'; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (pages_1_1 && !pages_1_1.done && (_a = pages_1.return)) _a.call(pages_1); + } + finally { if (e_1) throw e_1.error; } + } + this.openWindow(pagesHtml, pages[0].width, pages[0].height); + }; + /** + * @private + * @param {?} pagesHtml + * @param {?} width + * @param {?} height + * @return {?} + */ + RenderPrintDirective.prototype.openWindow = /** + * @private + * @param {?} pagesHtml + * @param {?} width + * @param {?} height + * @return {?} + */ + function (pagesHtml, width, height) { + /** @type {?} */ + var a4Height = 842; + /** @type {?} */ + var a4Width = 595; + /** @type {?} */ + var imageA4Adjusted = ''; + if (width > a4Width && height > a4Height) { + /** @type {?} */ + var zoom = Math.round(height / a4Height) / 100; + imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}'; + if (navigator.userAgent.toLowerCase().indexOf('firefox') > -1) { + imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}'; + } + } + /** @type {?} */ + var cssPrint = ''; + /** @type {?} */ + var windowObject = window.open('', "PrintWindow", "width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes"); + windowObject.focus(); + windowObject.document.writeln(cssPrint); + windowObject.document.writeln(pagesHtml); + windowObject.document.close(); + setTimeout((/** + * @return {?} + */ + function () { + windowObject.focus(); + windowObject.print(); + windowObject.close(); + }), 100); + }; + /** + * @private + * @param {?} file + * @return {?} + */ + RenderPrintDirective.prototype.renderPrintBlob = /** + * @private + * @param {?} file + * @return {?} + */ + function (file) { + /** @type {?} */ + var fileURL = URL.createObjectURL(file); + /** @type {?} */ + var windowObject = window.open(fileURL, "PrintWindow", "width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes"); + windowObject.focus(); + windowObject.print(); + windowObject.close(); + }; + RenderPrintDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdRenderPrint]' + },] } + ]; + /** @nocollapse */ + RenderPrintDirective.ctorParameters = function () { return [ + { type: RenderPrintService } + ]; }; + RenderPrintDirective.propDecorators = { + htmlMode: [{ type: core.Input }] + }; + return RenderPrintDirective; + }()); + if (false) { + /** @type {?} */ + RenderPrintDirective.prototype.htmlMode; + /** + * @type {?} + * @private + */ + RenderPrintDirective.prototype._renderService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ExceptionMessageService = /** @class */ (function () { - function ExceptionMessageService() { - this._observer = new rxjs.BehaviorSubject('Server is not available'); - this._messageChange = this._observer.asObservable(); - this._observerHttpEvent = new rxjs.BehaviorSubject(null); - this._httpEventChange = this._observerHttpEvent.asObservable(); - } - Object.defineProperty(ExceptionMessageService.prototype, "messageChange", { - get: /** - * @return {?} - */ - function () { - return this._messageChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ExceptionMessageService.prototype, "httpEventChange", { - get: /** - * @return {?} - */ - function () { - return this._httpEventChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} message - * @return {?} - */ - ExceptionMessageService.prototype.changeMessage = /** - * @param {?} message - * @return {?} - */ - function (message) { - this._observer.next(message); - }; - /** - * @param {?} httpEvent - * @return {?} - */ - ExceptionMessageService.prototype.changeHttpEvent = /** - * @param {?} httpEvent - * @return {?} - */ - function (httpEvent) { - this._observerHttpEvent.next(httpEvent); - }; - return ExceptionMessageService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._observer; - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._messageChange; - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._observerHttpEvent; - /** - * @type {?} - * @private - */ - ExceptionMessageService.prototype._httpEventChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ExceptionMessageService = /** @class */ (function () { + function ExceptionMessageService() { + this._observer = new rxjs.BehaviorSubject('Server is not available'); + this._messageChange = this._observer.asObservable(); + this._observerHttpEvent = new rxjs.BehaviorSubject(null); + this._httpEventChange = this._observerHttpEvent.asObservable(); + } + Object.defineProperty(ExceptionMessageService.prototype, "messageChange", { + get: /** + * @return {?} + */ + function () { + return this._messageChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ExceptionMessageService.prototype, "httpEventChange", { + get: /** + * @return {?} + */ + function () { + return this._httpEventChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} message + * @return {?} + */ + ExceptionMessageService.prototype.changeMessage = /** + * @param {?} message + * @return {?} + */ + function (message) { + this._observer.next(message); + }; + /** + * @param {?} httpEvent + * @return {?} + */ + ExceptionMessageService.prototype.changeHttpEvent = /** + * @param {?} httpEvent + * @return {?} + */ + function (httpEvent) { + this._observerHttpEvent.next(httpEvent); + }; + return ExceptionMessageService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + ExceptionMessageService.prototype._observer; + /** + * @type {?} + * @private + */ + ExceptionMessageService.prototype._messageChange; + /** + * @type {?} + * @private + */ + ExceptionMessageService.prototype._observerHttpEvent; + /** + * @type {?} + * @private + */ + ExceptionMessageService.prototype._httpEventChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ErrorModalComponent = /** @class */ (function () { - function ErrorModalComponent(messageService) { - var _this = this; - messageService.messageChange.subscribe((/** - * @param {?} message - * @return {?} - */ - function (message) { return _this.message = message; })); - } - /** - * @return {?} - */ - ErrorModalComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - ErrorModalComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-error-modal', - template: "\n
\n \n
\n
Something went wrong
\n
{{message ? message : 'Server is not available'}}
\n
\n
\n
\n", - styles: [".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"] - }] } - ]; - /** @nocollapse */ - ErrorModalComponent.ctorParameters = function () { return [ - { type: ExceptionMessageService } - ]; }; - return ErrorModalComponent; - }()); - if (false) { - /** @type {?} */ - ErrorModalComponent.prototype.message; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ErrorModalComponent = /** @class */ (function () { + function ErrorModalComponent(messageService) { + var _this = this; + messageService.messageChange.subscribe((/** + * @param {?} message + * @return {?} + */ + function (message) { return _this.message = message; })); + } + /** + * @return {?} + */ + ErrorModalComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + ErrorModalComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-error-modal', + template: "\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : 'Server is not available'}}
\r\n
\r\n
\r\n
\r\n", + styles: [".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"] + }] } + ]; + /** @nocollapse */ + ErrorModalComponent.ctorParameters = function () { return [ + { type: ExceptionMessageService } + ]; }; + return ErrorModalComponent; + }()); + if (false) { + /** @type {?} */ + ErrorModalComponent.prototype.message; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var PasswordService = /** @class */ (function () { - function PasswordService() { - this._observer = new rxjs.Subject(); - this._passChange = this._observer.asObservable(); - } - Object.defineProperty(PasswordService.prototype, "passChange", { - get: /** - * @return {?} - */ - function () { - return this._passChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} pass - * @return {?} - */ - PasswordService.prototype.setPassword = /** - * @param {?} pass - * @return {?} - */ - function (pass) { - this._observer.next(pass); - }; - return PasswordService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - PasswordService.prototype._observer; - /** - * @type {?} - * @private - */ - PasswordService.prototype._passChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var PasswordService = /** @class */ (function () { + function PasswordService() { + this._observer = new rxjs.Subject(); + this._passChange = this._observer.asObservable(); + } + Object.defineProperty(PasswordService.prototype, "passChange", { + get: /** + * @return {?} + */ + function () { + return this._passChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} pass + * @return {?} + */ + PasswordService.prototype.setPassword = /** + * @param {?} pass + * @return {?} + */ + function (pass) { + this._observer.next(pass); + }; + return PasswordService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + PasswordService.prototype._observer; + /** + * @type {?} + * @private + */ + PasswordService.prototype._passChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$5 = jquery; - var PasswordRequiredComponent = /** @class */ (function () { - function PasswordRequiredComponent(messageService, _passwordService) { - var _this = this; - this._passwordService = _passwordService; - this.cancelEvent = new core.EventEmitter(); - messageService.messageChange.subscribe((/** - * @param {?} message - * @return {?} - */ - function (message) { return _this.message = message; })); - } - /** - * @return {?} - */ - PasswordRequiredComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} value - * @return {?} - */ - PasswordRequiredComponent.prototype.setPassword = /** - * @param {?} value - * @return {?} - */ - function (value) { - this._passwordService.setPassword(value); - }; - /** - * @param {?} $event - * @return {?} - */ - PasswordRequiredComponent.prototype.onCloseOpen = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - if ($event) { - setTimeout((/** - * @return {?} - */ - function () { - /** @type {?} */ - var element = $$5("#password"); - if (element) { - element.focus(); - } - }), 100); - } - else { - $$5("#password").val(""); - } - }; - /** - * @param {?} $event - * @return {?} - */ - PasswordRequiredComponent.prototype.cancel = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $$5("#password").val(""); - this.cancelEvent.emit(true); - }; - PasswordRequiredComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-password-required', - template: "\n
\n
\n \n \n {{message}}\n \n Open\n \n
\n
\n
\n", - styles: ["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"] - }] } - ]; - /** @nocollapse */ - PasswordRequiredComponent.ctorParameters = function () { return [ - { type: ExceptionMessageService }, - { type: PasswordService } - ]; }; - PasswordRequiredComponent.propDecorators = { - cancelEvent: [{ type: core.Output }] - }; - return PasswordRequiredComponent; - }()); - if (false) { - /** @type {?} */ - PasswordRequiredComponent.prototype.message; - /** @type {?} */ - PasswordRequiredComponent.prototype.cancelEvent; - /** - * @type {?} - * @private - */ - PasswordRequiredComponent.prototype._passwordService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$5 = jquery; + var PasswordRequiredComponent = /** @class */ (function () { + function PasswordRequiredComponent(messageService, _passwordService) { + var _this = this; + this._passwordService = _passwordService; + this.cancelEvent = new core.EventEmitter(); + messageService.messageChange.subscribe((/** + * @param {?} message + * @return {?} + */ + function (message) { return _this.message = message; })); + } + /** + * @return {?} + */ + PasswordRequiredComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} value + * @return {?} + */ + PasswordRequiredComponent.prototype.setPassword = /** + * @param {?} value + * @return {?} + */ + function (value) { + this._passwordService.setPassword(value); + }; + /** + * @param {?} $event + * @return {?} + */ + PasswordRequiredComponent.prototype.onCloseOpen = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + if ($event) { + setTimeout((/** + * @return {?} + */ + function () { + /** @type {?} */ + var element = $$5("#password"); + if (element) { + element.focus(); + } + }), 100); + } + else { + $$5("#password").val(""); + } + }; + /** + * @param {?} $event + * @return {?} + */ + PasswordRequiredComponent.prototype.cancel = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $$5("#password").val(""); + this.cancelEvent.emit(true); + }; + PasswordRequiredComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-password-required', + template: "\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n", + styles: ["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"] + }] } + ]; + /** @nocollapse */ + PasswordRequiredComponent.ctorParameters = function () { return [ + { type: ExceptionMessageService }, + { type: PasswordService } + ]; }; + PasswordRequiredComponent.propDecorators = { + cancelEvent: [{ type: core.Output }] + }; + return PasswordRequiredComponent; + }()); + if (false) { + /** @type {?} */ + PasswordRequiredComponent.prototype.message; + /** @type {?} */ + PasswordRequiredComponent.prototype.cancelEvent; + /** + * @type {?} + * @private + */ + PasswordRequiredComponent.prototype._passwordService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var ErrorInterceptorService = /** @class */ (function () { - function ErrorInterceptorService(_modalService, _messageService) { - this._modalService = _modalService; - this._messageService = _messageService; - } - /** - * @param {?} req - * @param {?} next - * @return {?} - */ - ErrorInterceptorService.prototype.intercept = /** - * @param {?} req - * @param {?} next - * @return {?} - */ - function (req, next) { - var _this = this; - /** @type {?} */ - var logFormat = 'background: maroon; color: white'; - return next.handle(req) - .pipe(operators.map((/** - * @param {?} data - * @return {?} - */ - function (data) { - return data; - })), operators.catchError((/** - * @param {?} exception - * @return {?} - */ - function (exception) { - if (exception instanceof http.HttpErrorResponse) { - switch (exception.status) { - case HttpError.BadRequest: - console.error('%c Bad Request 400', logFormat); - break; - case HttpError.Unauthorized: - console.error('%c Unauthorized 401', logFormat); - break; - case HttpError.NotFound: - console.error('%c Not Found 404', logFormat); - break; - case HttpError.TimeOut: - console.error('%c TimeOut 408', logFormat); - break; - case HttpError.InternalServerError: - console.error('%c big bad 500', logFormat); - _this._messageService.changeMessage(exception.error.message); - _this._messageService.changeHttpEvent(exception); - _this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName); - break; - case HttpError.Forbidden: - console.error('%c Forbidden 403', logFormat); - _this._messageService.changeMessage(exception.error.message); - _this._modalService.open(CommonModals.PasswordRequired); - break; - } - } - return rxjs.throwError(exception); - }))); - }; - ErrorInterceptorService.ErrorMessageWindowName = CommonModals.ErrorMessage; - ErrorInterceptorService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - ErrorInterceptorService.ctorParameters = function () { return [ - { type: ModalService }, - { type: ExceptionMessageService } - ]; }; - /** @nocollapse */ ErrorInterceptorService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ErrorInterceptorService_Factory() { return new ErrorInterceptorService(core.ɵɵinject(ModalService), core.ɵɵinject(ExceptionMessageService)); }, token: ErrorInterceptorService, providedIn: "root" }); - return ErrorInterceptorService; - }()); - if (false) { - /** @type {?} */ - ErrorInterceptorService.ErrorMessageWindowName; - /** - * @type {?} - * @private - */ - ErrorInterceptorService.prototype._modalService; - /** - * @type {?} - * @private - */ - ErrorInterceptorService.prototype._messageService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var ErrorInterceptorService = /** @class */ (function () { + function ErrorInterceptorService(_modalService, _messageService) { + this._modalService = _modalService; + this._messageService = _messageService; + } + /** + * @param {?} req + * @param {?} next + * @return {?} + */ + ErrorInterceptorService.prototype.intercept = /** + * @param {?} req + * @param {?} next + * @return {?} + */ + function (req, next) { + var _this = this; + /** @type {?} */ + var logFormat = 'background: maroon; color: white'; + return next.handle(req) + .pipe(operators.map((/** + * @param {?} data + * @return {?} + */ + function (data) { + return data; + })), operators.catchError((/** + * @param {?} exception + * @return {?} + */ + function (exception) { + if (exception instanceof http.HttpErrorResponse) { + switch (exception.status) { + case HttpError.BadRequest: + console.error('%c Bad Request 400', logFormat); + break; + case HttpError.Unauthorized: + console.error('%c Unauthorized 401', logFormat); + break; + case HttpError.NotFound: + console.error('%c Not Found 404', logFormat); + break; + case HttpError.TimeOut: + console.error('%c TimeOut 408', logFormat); + break; + case HttpError.InternalServerError: + console.error('%c big bad 500', logFormat); + _this._messageService.changeMessage(exception.error.message); + _this._messageService.changeHttpEvent(exception); + _this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName); + break; + case HttpError.Forbidden: + console.error('%c Forbidden 403', logFormat); + _this._messageService.changeMessage(exception.error.message); + _this._modalService.open(CommonModals.PasswordRequired); + break; + } + } + return rxjs.throwError(exception); + }))); + }; + ErrorInterceptorService.ErrorMessageWindowName = CommonModals.ErrorMessage; + ErrorInterceptorService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + ErrorInterceptorService.ctorParameters = function () { return [ + { type: ModalService }, + { type: ExceptionMessageService } + ]; }; + /** @nocollapse */ ErrorInterceptorService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ErrorInterceptorService_Factory() { return new ErrorInterceptorService(core.ɵɵinject(ModalService), core.ɵɵinject(ExceptionMessageService)); }, token: ErrorInterceptorService, providedIn: "root" }); + return ErrorInterceptorService; + }()); + if (false) { + /** @type {?} */ + ErrorInterceptorService.ErrorMessageWindowName; + /** + * @type {?} + * @private + */ + ErrorInterceptorService.prototype._modalService; + /** + * @type {?} + * @private + */ + ErrorInterceptorService.prototype._messageService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SearchService = /** @class */ (function () { - function SearchService() { - this._observer = new rxjs.Subject(); - this._textChange = this._observer.asObservable(); - this._observerCurrent = new rxjs.Subject(); - this._currentChange = this._observerCurrent.asObservable(); - this._observerTotal = new rxjs.Subject(); - this._totalChange = this._observerTotal.asObservable(); - } - Object.defineProperty(SearchService.prototype, "textChange", { - get: /** - * @return {?} - */ - function () { - return this._textChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} text - * @return {?} - */ - SearchService.prototype.setText = /** - * @param {?} text - * @return {?} - */ - function (text) { - this._observer.next(text); - }; - Object.defineProperty(SearchService.prototype, "currentChange", { - get: /** - * @return {?} - */ - function () { - return this._currentChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(SearchService.prototype, "totalChange", { - get: /** - * @return {?} - */ - function () { - return this._totalChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} current - * @return {?} - */ - SearchService.prototype.setCurrent = /** - * @param {?} current - * @return {?} - */ - function (current) { - this._observerCurrent.next(current); - }; - /** - * @param {?} total - * @return {?} - */ - SearchService.prototype.setTotal = /** - * @param {?} total - * @return {?} - */ - function (total) { - this._observerTotal.next(total); - }; - return SearchService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - SearchService.prototype._observer; - /** - * @type {?} - * @private - */ - SearchService.prototype._textChange; - /** - * @type {?} - * @private - */ - SearchService.prototype._observerCurrent; - /** - * @type {?} - * @private - */ - SearchService.prototype._currentChange; - /** - * @type {?} - * @private - */ - SearchService.prototype._observerTotal; - /** - * @type {?} - * @private - */ - SearchService.prototype._totalChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SearchService = /** @class */ (function () { + function SearchService() { + this._observer = new rxjs.Subject(); + this._textChange = this._observer.asObservable(); + this._observerCurrent = new rxjs.Subject(); + this._currentChange = this._observerCurrent.asObservable(); + this._observerTotal = new rxjs.Subject(); + this._totalChange = this._observerTotal.asObservable(); + } + Object.defineProperty(SearchService.prototype, "textChange", { + get: /** + * @return {?} + */ + function () { + return this._textChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} text + * @return {?} + */ + SearchService.prototype.setText = /** + * @param {?} text + * @return {?} + */ + function (text) { + this._observer.next(text); + }; + Object.defineProperty(SearchService.prototype, "currentChange", { + get: /** + * @return {?} + */ + function () { + return this._currentChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SearchService.prototype, "totalChange", { + get: /** + * @return {?} + */ + function () { + return this._totalChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} current + * @return {?} + */ + SearchService.prototype.setCurrent = /** + * @param {?} current + * @return {?} + */ + function (current) { + this._observerCurrent.next(current); + }; + /** + * @param {?} total + * @return {?} + */ + SearchService.prototype.setTotal = /** + * @param {?} total + * @return {?} + */ + function (total) { + this._observerTotal.next(total); + }; + return SearchService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + SearchService.prototype._observer; + /** + * @type {?} + * @private + */ + SearchService.prototype._textChange; + /** + * @type {?} + * @private + */ + SearchService.prototype._observerCurrent; + /** + * @type {?} + * @private + */ + SearchService.prototype._currentChange; + /** + * @type {?} + * @private + */ + SearchService.prototype._observerTotal; + /** + * @type {?} + * @private + */ + SearchService.prototype._totalChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SearchComponent = /** @class */ (function () { - function SearchComponent(_searchService) { - var _this = this; - this._searchService = _searchService; - this.hidePanel = new core.EventEmitter(false); - this.current = 0; - this.total = 0; - _searchService.totalChange.subscribe((/** - * @param {?} total - * @return {?} - */ - function (total) { - _this.total = total; - if (total !== 0) { - _this.current = 1; - } - else { - _this.current = 0; - } - _this._searchService.setCurrent(_this.current); - })); - } - /** - * @return {?} - */ - SearchComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} text - * @return {?} - */ - SearchComponent.prototype.setText = /** - * @param {?} text - * @return {?} - */ - function (text) { - this._searchService.setText(text); - }; - /** - * @return {?} - */ - SearchComponent.prototype.hide = /** - * @return {?} - */ - function () { - this.setText(''); - this.hidePanel.emit(true); - }; - /** - * @return {?} - */ - SearchComponent.prototype.prev = /** - * @return {?} - */ - function () { - if (this.current > 1) { - this.current--; - this._searchService.setCurrent(this.current); - } - }; - /** - * @return {?} - */ - SearchComponent.prototype.next = /** - * @return {?} - */ - function () { - if (this.current < this.total) { - this.current++; - this._searchService.setCurrent(this.current); - } - }; - /** - * @return {?} - */ - SearchComponent.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - this.textElement.nativeElement.focus(); - }; - SearchComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-search', - template: "
\n \n
{{current}} of {{total}}
\n \n \n \n \n \n \n
\n", - styles: [".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"] - }] } - ]; - /** @nocollapse */ - SearchComponent.ctorParameters = function () { return [ - { type: SearchService } - ]; }; - SearchComponent.propDecorators = { - hidePanel: [{ type: core.Output }], - textElement: [{ type: core.ViewChild, args: ['text', { - static: true - },] }] - }; - return SearchComponent; - }()); - if (false) { - /** @type {?} */ - SearchComponent.prototype.hidePanel; - /** @type {?} */ - SearchComponent.prototype.current; - /** @type {?} */ - SearchComponent.prototype.total; - /** @type {?} */ - SearchComponent.prototype.textElement; - /** - * @type {?} - * @private - */ - SearchComponent.prototype._searchService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SearchComponent = /** @class */ (function () { + function SearchComponent(_searchService) { + var _this = this; + this._searchService = _searchService; + this.hidePanel = new core.EventEmitter(false); + this.current = 0; + this.total = 0; + _searchService.totalChange.subscribe((/** + * @param {?} total + * @return {?} + */ + function (total) { + _this.total = total; + if (total !== 0) { + _this.current = 1; + } + else { + _this.current = 0; + } + _this._searchService.setCurrent(_this.current); + })); + } + /** + * @return {?} + */ + SearchComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} text + * @return {?} + */ + SearchComponent.prototype.setText = /** + * @param {?} text + * @return {?} + */ + function (text) { + this._searchService.setText(text); + }; + /** + * @return {?} + */ + SearchComponent.prototype.hide = /** + * @return {?} + */ + function () { + this.setText(''); + this.hidePanel.emit(true); + }; + /** + * @return {?} + */ + SearchComponent.prototype.prev = /** + * @return {?} + */ + function () { + if (this.current > 1) { + this.current--; + this._searchService.setCurrent(this.current); + } + }; + /** + * @return {?} + */ + SearchComponent.prototype.next = /** + * @return {?} + */ + function () { + if (this.current < this.total) { + this.current++; + this._searchService.setCurrent(this.current); + } + }; + /** + * @return {?} + */ + SearchComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + this.textElement.nativeElement.focus(); + }; + SearchComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-search', + template: "
\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", + styles: [".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"] + }] } + ]; + /** @nocollapse */ + SearchComponent.ctorParameters = function () { return [ + { type: SearchService } + ]; }; + SearchComponent.propDecorators = { + hidePanel: [{ type: core.Output }], + textElement: [{ type: core.ViewChild, args: ['text', { + static: true + },] }] + }; + return SearchComponent; + }()); + if (false) { + /** @type {?} */ + SearchComponent.prototype.hidePanel; + /** @type {?} */ + SearchComponent.prototype.current; + /** @type {?} */ + SearchComponent.prototype.total; + /** @type {?} */ + SearchComponent.prototype.textElement; + /** + * @type {?} + * @private + */ + SearchComponent.prototype._searchService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$6 = jquery; - var SearchableDirective = /** @class */ (function () { - function SearchableDirective(_elementRef, _searchService, _highlight, _zoomService) { - var _this = this; - this._elementRef = _elementRef; - this._searchService = _searchService; - this._highlight = _highlight; - this._zoomService = _zoomService; - this.current = 0; - this.total = 0; - this.zoom = 100; - _searchService.currentChange.subscribe((/** - * @param {?} current - * @return {?} - */ - function (current) { - _this.current = current; - if (_this.current !== 0) { - _this.moveToCurrent(); - } - })); - _searchService.textChange.subscribe((/** - * @param {?} text - * @return {?} - */ - function (text) { - _this.text = text; - _this.highlightSearch(); - })); - this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom; - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - _this.zoom = val ? val : _this.zoom; - })); - } - /** - * @private - * @return {?} - */ - SearchableDirective.prototype.highlightSearch = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var el = this._elementRef ? this._elementRef.nativeElement : null; - if (el) { - this.cleanHighlight(el); - if (this.text) { - this.highlightEl(el); - /** @type {?} */ - var count = el.querySelectorAll('.gd-highlight').length; - this.total = count; - } - else { - this.total = 0; - } - this._searchService.setTotal(this.total); - } - }; - /** - * @private - * @return {?} - */ - SearchableDirective.prototype.moveToCurrent = /** - * @private - * @return {?} - */ - function () { - if (this.current === 0) { - return; - } - /** @type {?} */ - var currentZoom = this.getZoom(); - /** @type {?} */ - var el = this._elementRef ? this._elementRef.nativeElement : null; - if (el) { - el.querySelectorAll('.gd-highlight-select').forEach((/** - * @param {?} value - * @return {?} - */ - function (value) { - $$6(value).removeClass('gd-highlight-select'); - })); - /** @type {?} */ - var currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1]; - $$6(currentEl).addClass('gd-highlight-select'); - if (currentEl) { - /** @type {?} */ - var options = { - left: 0, - top: ($$6(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150, - }; - // using polyfill - el.parentElement.parentElement.scroll(options); - } - } - }; - /** - * @private - * @param {?} el - * @return {?} - */ - SearchableDirective.prototype.highlightEl = /** - * @private - * @param {?} el - * @return {?} - */ - function (el) { - /** @type {?} */ - var textNodes = $$6(el).find('*').contents().filter((/** - * @return {?} - */ - function () { - /** @type {?} */ - var nodeName = this.parentElement.nodeName.toLowerCase(); - /** @type {?} */ - var checkClass = ((/** @type {?} */ (this))).classList ? !((/** @type {?} */ (this))).classList.contains('gd-highlight') : true; - return this.nodeType === 3 && - this.textContent.trim().length !== 0 && - nodeName !== 'style' && - nodeName !== 'title' && - nodeName !== 'body' && - nodeName !== 'script' && - checkClass; - })); - /** @type {?} */ - var text = this.text; - /** @type {?} */ - var highlight = this._highlight; - textNodes.each((/** - * @return {?} - */ - function () { - /** @type {?} */ - var $this = $$6(this); - /** @type {?} */ - var content = $this.text(); - content = highlight.transform(content, text); - $this.replaceWith(content); - })); - el.normalize(); - }; - /** - * @private - * @param {?} el - * @return {?} - */ - SearchableDirective.prototype.cleanHighlight = /** - * @private - * @param {?} el - * @return {?} - */ - function (el) { - /** @type {?} */ - var nodeListOf = el.querySelectorAll('.gd-highlight'); - for (var i = 0; i < nodeListOf.length; i++) { - /** @type {?} */ - var element = nodeListOf.item(i); - element.replaceWith(((/** @type {?} */ (element))).innerText); - } - el.normalize(); - }; - /** - * @private - * @return {?} - */ - SearchableDirective.prototype.getZoom = /** - * @private - * @return {?} - */ - function () { - return this.zoom / 100; - }; - SearchableDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdSearchable]' - },] } - ]; - /** @nocollapse */ - SearchableDirective.ctorParameters = function () { return [ - { type: core.ElementRef }, - { type: SearchService }, - { type: HighlightSearchPipe }, - { type: ZoomService } - ]; }; - return SearchableDirective; - }()); - if (false) { - /** @type {?} */ - SearchableDirective.prototype.text; - /** @type {?} */ - SearchableDirective.prototype.current; - /** @type {?} */ - SearchableDirective.prototype.total; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype.zoom; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype._elementRef; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype._searchService; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype._highlight; - /** - * @type {?} - * @private - */ - SearchableDirective.prototype._zoomService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$6 = jquery; + var SearchableDirective = /** @class */ (function () { + function SearchableDirective(_elementRef, _searchService, _highlight, _zoomService) { + var _this = this; + this._elementRef = _elementRef; + this._searchService = _searchService; + this._highlight = _highlight; + this._zoomService = _zoomService; + this.current = 0; + this.total = 0; + this.zoom = 100; + _searchService.currentChange.subscribe((/** + * @param {?} current + * @return {?} + */ + function (current) { + _this.current = current; + if (_this.current !== 0) { + _this.moveToCurrent(); + } + })); + _searchService.textChange.subscribe((/** + * @param {?} text + * @return {?} + */ + function (text) { + _this.text = text; + _this.highlightSearch(); + })); + this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom; + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + _this.zoom = val ? val : _this.zoom; + })); + } + /** + * @private + * @return {?} + */ + SearchableDirective.prototype.highlightSearch = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var el = this._elementRef ? this._elementRef.nativeElement : null; + if (el) { + this.cleanHighlight(el); + if (this.text) { + this.highlightEl(el); + /** @type {?} */ + var count = el.querySelectorAll('.gd-highlight').length; + this.total = count; + } + else { + this.total = 0; + } + this._searchService.setTotal(this.total); + } + }; + /** + * @private + * @return {?} + */ + SearchableDirective.prototype.moveToCurrent = /** + * @private + * @return {?} + */ + function () { + if (this.current === 0) { + return; + } + /** @type {?} */ + var currentZoom = this.getZoom(); + /** @type {?} */ + var el = this._elementRef ? this._elementRef.nativeElement : null; + if (el) { + el.querySelectorAll('.gd-highlight-select').forEach((/** + * @param {?} value + * @return {?} + */ + function (value) { + $$6(value).removeClass('gd-highlight-select'); + })); + /** @type {?} */ + var currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1]; + $$6(currentEl).addClass('gd-highlight-select'); + if (currentEl) { + /** @type {?} */ + var options = { + left: 0, + top: ($$6(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150, + }; + // using polyfill + el.parentElement.parentElement.scroll(options); + } + } + }; + /** + * @private + * @param {?} el + * @return {?} + */ + SearchableDirective.prototype.highlightEl = /** + * @private + * @param {?} el + * @return {?} + */ + function (el) { + /** @type {?} */ + var textNodes = $$6(el).find('*').contents().filter((/** + * @return {?} + */ + function () { + /** @type {?} */ + var nodeName = this.parentElement.nodeName.toLowerCase(); + /** @type {?} */ + var checkClass = ((/** @type {?} */ (this))).classList ? !((/** @type {?} */ (this))).classList.contains('gd-highlight') : true; + return this.nodeType === 3 && + this.textContent.trim().length !== 0 && + nodeName !== 'style' && + nodeName !== 'title' && + nodeName !== 'body' && + nodeName !== 'script' && + checkClass; + })); + /** @type {?} */ + var text = this.text; + /** @type {?} */ + var highlight = this._highlight; + textNodes.each((/** + * @return {?} + */ + function () { + /** @type {?} */ + var $this = $$6(this); + /** @type {?} */ + var content = $this.text(); + content = highlight.transform(content, text); + $this.replaceWith(content); + })); + el.normalize(); + }; + /** + * @private + * @param {?} el + * @return {?} + */ + SearchableDirective.prototype.cleanHighlight = /** + * @private + * @param {?} el + * @return {?} + */ + function (el) { + /** @type {?} */ + var nodeListOf = el.querySelectorAll('.gd-highlight'); + for (var i = 0; i < nodeListOf.length; i++) { + /** @type {?} */ + var element = nodeListOf.item(i); + element.replaceWith(((/** @type {?} */ (element))).innerText); + } + el.normalize(); + }; + /** + * @private + * @return {?} + */ + SearchableDirective.prototype.getZoom = /** + * @private + * @return {?} + */ + function () { + return this.zoom / 100; + }; + SearchableDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdSearchable]' + },] } + ]; + /** @nocollapse */ + SearchableDirective.ctorParameters = function () { return [ + { type: core.ElementRef }, + { type: SearchService }, + { type: HighlightSearchPipe }, + { type: ZoomService } + ]; }; + return SearchableDirective; + }()); + if (false) { + /** @type {?} */ + SearchableDirective.prototype.text; + /** @type {?} */ + SearchableDirective.prototype.current; + /** @type {?} */ + SearchableDirective.prototype.total; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype.zoom; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype._elementRef; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype._searchService; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype._highlight; + /** + * @type {?} + * @private + */ + SearchableDirective.prototype._zoomService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TabbedToolbarsComponent = /** @class */ (function () { - function TabbedToolbarsComponent() { - } - /** - * @return {?} - */ - TabbedToolbarsComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - TabbedToolbarsComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-tabbed-toolbars', - template: "
\n \n \n
\n", - styles: [".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"] - }] } - ]; - /** @nocollapse */ - TabbedToolbarsComponent.ctorParameters = function () { return []; }; - TabbedToolbarsComponent.propDecorators = { - logo: [{ type: core.Input }], - icon: [{ type: core.Input }] - }; - return TabbedToolbarsComponent; - }()); - if (false) { - /** @type {?} */ - TabbedToolbarsComponent.prototype.logo; - /** @type {?} */ - TabbedToolbarsComponent.prototype.icon; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TabbedToolbarsComponent = /** @class */ (function () { + function TabbedToolbarsComponent() { + } + /** + * @return {?} + */ + TabbedToolbarsComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + TabbedToolbarsComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-tabbed-toolbars', + template: "
\r\n \r\n \r\n
\r\n", + styles: [".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"] + }] } + ]; + /** @nocollapse */ + TabbedToolbarsComponent.ctorParameters = function () { return []; }; + TabbedToolbarsComponent.propDecorators = { + logo: [{ type: core.Input }], + icon: [{ type: core.Input }] + }; + return TabbedToolbarsComponent; + }()); + if (false) { + /** @type {?} */ + TabbedToolbarsComponent.prototype.logo; + /** @type {?} */ + TabbedToolbarsComponent.prototype.icon; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TabActivatorService = /** @class */ (function () { - function TabActivatorService() { - this._observer = new rxjs.Subject(); - this._activeTabChange = this._observer.asObservable(); - } - Object.defineProperty(TabActivatorService.prototype, "activeTabChange", { - get: /** - * @return {?} - */ - function () { - return this._activeTabChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} tabId - * @return {?} - */ - TabActivatorService.prototype.changeActiveTab = /** - * @param {?} tabId - * @return {?} - */ - function (tabId) { - this._observer.next(tabId); - }; - return TabActivatorService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - TabActivatorService.prototype._observer; - /** - * @type {?} - * @private - */ - TabActivatorService.prototype._activeTabChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TabActivatorService = /** @class */ (function () { + function TabActivatorService() { + this._observer = new rxjs.Subject(); + this._activeTabChange = this._observer.asObservable(); + } + Object.defineProperty(TabActivatorService.prototype, "activeTabChange", { + get: /** + * @return {?} + */ + function () { + return this._activeTabChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} tabId + * @return {?} + */ + TabActivatorService.prototype.changeActiveTab = /** + * @param {?} tabId + * @return {?} + */ + function (tabId) { + this._observer.next(tabId); + }; + return TabActivatorService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + TabActivatorService.prototype._observer; + /** + * @type {?} + * @private + */ + TabActivatorService.prototype._activeTabChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TabComponent = /** @class */ (function () { - function TabComponent(_tabActivatorService) { - var _this = this; - this._tabActivatorService = _tabActivatorService; - this.disabled = false; - this.active = false; - this.content = true; - this._tabActivatorService.activeTabChange.subscribe((/** - * @param {?} tabId - * @return {?} - */ - function (tabId) { - _this.activation(tabId); - })); - } - /** - * @private - * @param {?} tabId - * @return {?} - */ - TabComponent.prototype.activation = /** - * @private - * @param {?} tabId - * @return {?} - */ - function (tabId) { - if (this.id === tabId) { - this.active = true; - } - else { - this.active = false; - } - }; - /** - * @return {?} - */ - TabComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - TabComponent.prototype.selectTab = /** - * @return {?} - */ - function () { - if (this.disabled) { - return; - } - this._tabActivatorService.changeActiveTab(this.id); - }; - TabComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-tab', - template: "
\n
{{tabTitle}}
\n \n
\n
\n \n
\n", - styles: [".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] - }] } - ]; - /** @nocollapse */ - TabComponent.ctorParameters = function () { return [ - { type: TabActivatorService } - ]; }; - TabComponent.propDecorators = { - id: [{ type: core.Input }], - tabTitle: [{ type: core.Input }], - icon: [{ type: core.Input }], - disabled: [{ type: core.Input }], - active: [{ type: core.Input }], - content: [{ type: core.Input }] - }; - return TabComponent; - }()); - if (false) { - /** @type {?} */ - TabComponent.prototype.id; - /** @type {?} */ - TabComponent.prototype.tabTitle; - /** @type {?} */ - TabComponent.prototype.icon; - /** @type {?} */ - TabComponent.prototype.disabled; - /** @type {?} */ - TabComponent.prototype.active; - /** @type {?} */ - TabComponent.prototype.content; - /** - * @type {?} - * @private - */ - TabComponent.prototype._tabActivatorService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TabComponent = /** @class */ (function () { + function TabComponent(_tabActivatorService) { + var _this = this; + this._tabActivatorService = _tabActivatorService; + this.disabled = false; + this.active = false; + this.content = true; + this._tabActivatorService.activeTabChange.subscribe((/** + * @param {?} tabId + * @return {?} + */ + function (tabId) { + _this.activation(tabId); + })); + } + /** + * @private + * @param {?} tabId + * @return {?} + */ + TabComponent.prototype.activation = /** + * @private + * @param {?} tabId + * @return {?} + */ + function (tabId) { + if (this.id === tabId) { + this.active = true; + } + else { + this.active = false; + } + }; + /** + * @return {?} + */ + TabComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + TabComponent.prototype.selectTab = /** + * @return {?} + */ + function () { + if (this.disabled) { + return; + } + this._tabActivatorService.changeActiveTab(this.id); + }; + TabComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-tab', + template: "
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n", + styles: [".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] + }] } + ]; + /** @nocollapse */ + TabComponent.ctorParameters = function () { return [ + { type: TabActivatorService } + ]; }; + TabComponent.propDecorators = { + id: [{ type: core.Input }], + tabTitle: [{ type: core.Input }], + icon: [{ type: core.Input }], + disabled: [{ type: core.Input }], + active: [{ type: core.Input }], + content: [{ type: core.Input }] + }; + return TabComponent; + }()); + if (false) { + /** @type {?} */ + TabComponent.prototype.id; + /** @type {?} */ + TabComponent.prototype.tabTitle; + /** @type {?} */ + TabComponent.prototype.icon; + /** @type {?} */ + TabComponent.prototype.disabled; + /** @type {?} */ + TabComponent.prototype.active; + /** @type {?} */ + TabComponent.prototype.content; + /** + * @type {?} + * @private + */ + TabComponent.prototype._tabActivatorService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TabsComponent = /** @class */ (function () { - function TabsComponent() { - } - TabsComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-tabs', - template: "
\n \n
\n", - styles: [".gd-tabs{display:-webkit-box;display:flex}"] - }] } - ]; - /** @nocollapse */ - TabsComponent.ctorParameters = function () { return []; }; - return TabsComponent; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TabsComponent = /** @class */ (function () { + function TabsComponent() { + } + TabsComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-tabs', + template: "
\r\n \r\n
\r\n", + styles: [".gd-tabs{display:-webkit-box;display:flex}"] + }] } + ]; + /** @nocollapse */ + TabsComponent.ctorParameters = function () { return []; }; + return TabsComponent; }()); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var Formatting = /** @class */ (function () { - function Formatting(fontSize, color, bgColor, bold, italic, underline, font, strikeout, align, list) { - this.fontSize = fontSize; - this.color = color; - this.bgColor = bgColor; - this.bold = bold; - this.italic = italic; - this.underline = underline; - this.font = font; - this.strikeout = strikeout; - this.align = align; - this.list = list; - } - /** - * @return {?} - */ - Formatting.default = /** - * @return {?} - */ - function () { - return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, "", ""); - }; - return Formatting; - }()); - if (false) { - /** @type {?} */ - Formatting.prototype.bold; - /** @type {?} */ - Formatting.prototype.italic; - /** @type {?} */ - Formatting.prototype.underline; - /** @type {?} */ - Formatting.prototype.fontSize; - /** @type {?} */ - Formatting.prototype.color; - /** @type {?} */ - Formatting.prototype.bgColor; - /** @type {?} */ - Formatting.prototype.font; - /** @type {?} */ - Formatting.prototype.strikeout; - /** @type {?} */ - Formatting.prototype.align; - /** @type {?} */ - Formatting.prototype.list; - } - var FormattingService = /** @class */ (function () { - function FormattingService() { - this._observerBold = new rxjs.Subject(); - this._formatBoldChange = this._observerBold.asObservable(); - this._observerUnderline = new rxjs.Subject(); - this._formatUnderlineChange = this._observerUnderline.asObservable(); - this._observerUndo = new rxjs.Subject(); - this._undo = this._observerUndo.asObservable(); - this._observerRedo = new rxjs.Subject(); - this._redo = this._observerRedo.asObservable(); - this._observerItalic = new rxjs.Subject(); - this._formatItalicChange = this._observerItalic.asObservable(); - this._observerColor = new rxjs.Subject(); - this._formatColorChange = this._observerColor.asObservable(); - this._observerBgColor = new rxjs.Subject(); - this._formatBgColorChange = this._observerBgColor.asObservable(); - this._observerFontSize = new rxjs.Subject(); - this._formatFontSizeChange = this._observerFontSize.asObservable(); - this._observerFont = new rxjs.Subject(); - this._formatFontChange = this._observerFont.asObservable(); - this._observerStrikeout = new rxjs.Subject(); - this._formatStrikeoutChange = this._observerStrikeout.asObservable(); - this._observerAlign = new rxjs.Subject(); - this._formatAlignChange = this._observerAlign.asObservable(); - this._observerList = new rxjs.Subject(); - this._formatListChange = this._observerList.asObservable(); - } - Object.defineProperty(FormattingService.prototype, "formatBoldChange", { - get: /** - * @return {?} - */ - function () { - return this._formatBoldChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatUnderlineChange", { - get: /** - * @return {?} - */ - function () { - return this._formatUnderlineChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatColorChange", { - get: /** - * @return {?} - */ - function () { - return this._formatColorChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatBgColorChange", { - get: /** - * @return {?} - */ - function () { - return this._formatBgColorChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatFontSizeChange", { - get: /** - * @return {?} - */ - function () { - return this._formatFontSizeChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatFontChange", { - get: /** - * @return {?} - */ - function () { - return this._formatFontChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "undo", { - get: /** - * @return {?} - */ - function () { - return this._undo; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "redo", { - get: /** - * @return {?} - */ - function () { - return this._redo; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatItalicChange", { - get: /** - * @return {?} - */ - function () { - return this._formatItalicChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatStrikeoutChange", { - get: /** - * @return {?} - */ - function () { - return this._formatStrikeoutChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatAlignChange", { - get: /** - * @return {?} - */ - function () { - return this._formatAlignChange; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FormattingService.prototype, "formatListChange", { - get: /** - * @return {?} - */ - function () { - return this._formatListChange; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} val - * @return {?} - */ - FormattingService.createFontSizeOption = /** - * @param {?} val - * @return {?} - */ - function (val) { - return { value: val, name: val + 'px', separator: false }; - }; - /** - * @return {?} - */ - FormattingService.getFontSizeOptions = /** - * @return {?} - */ - function () { - return [ - FormattingService.createFontSizeOption(8), - FormattingService.createFontSizeOption(10), - FormattingService.createFontSizeOption(12), - FormattingService.createFontSizeOption(14), - FormattingService.createFontSizeOption(16), - FormattingService.createFontSizeOption(18), - FormattingService.createFontSizeOption(20), - FormattingService.createFontSizeOption(22), - FormattingService.createFontSizeOption(24), - ]; - }; - /** - * @param {?} val - * @return {?} - */ - FormattingService.createFontOption = /** - * @param {?} val - * @return {?} - */ - function (val) { - return { value: val, name: val, separator: false }; - }; - /** - * @return {?} - */ - FormattingService.getFontOptions = /** - * @return {?} - */ - function () { - var _this = this; - /** @type {?} */ - var fonts = ["Arial", "Calibri", "Century Gothic", "Comic Sans", "Consolas", "Courier", "Dejavu Sans", "Dejavu Serif", "Georgia", "Gill Sans", "Helvetica", "Impact", "Lucida Sans", - "Myriad Pro", "Open Sans", "Palatino", "Tahoma", "Times New Roman", "Trebuchet"]; - /** @type {?} */ - var fontOptions = []; - fonts.forEach((/** - * @param {?} font - * @return {?} - */ - function (font) { - fontOptions.push(_this.createFontOption(font)); - })); - return fontOptions; - }; - /** - * @param {?} $event - * @return {?} - */ - FormattingService.prototype.changeFormatFontSize = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this._observerFontSize.next($event); - }; - /** - * @param {?} bold - * @return {?} - */ - FormattingService.prototype.changeFormatBold = /** - * @param {?} bold - * @return {?} - */ - function (bold) { - this._observerBold.next(bold); - }; - /** - * @param {?} underline - * @return {?} - */ - FormattingService.prototype.changeFormatUnderline = /** - * @param {?} underline - * @return {?} - */ - function (underline) { - this._observerUnderline.next(underline); - }; - /** - * @return {?} - */ - FormattingService.prototype.Undo = /** - * @return {?} - */ - function () { - this._observerUndo.next(); - }; - /** - * @return {?} - */ - FormattingService.prototype.Redo = /** - * @return {?} - */ - function () { - this._observerRedo.next(); - }; - /** - * @param {?} italic - * @return {?} - */ - FormattingService.prototype.changeFormatItalic = /** - * @param {?} italic - * @return {?} - */ - function (italic) { - this._observerItalic.next(italic); - }; - /** - * @param {?} color - * @return {?} - */ - FormattingService.prototype.changeFormatColor = /** - * @param {?} color - * @return {?} - */ - function (color) { - this._observerColor.next(color); - }; - /** - * @param {?} bgcolor - * @return {?} - */ - FormattingService.prototype.changeFormatBgColor = /** - * @param {?} bgcolor - * @return {?} - */ - function (bgcolor) { - this._observerBgColor.next(bgcolor); - }; - /** - * @param {?} font - * @return {?} - */ - FormattingService.prototype.changeFormatFont = /** - * @param {?} font - * @return {?} - */ - function (font) { - this._observerFont.next(font); - }; - /** - * @param {?} strikeout - * @return {?} - */ - FormattingService.prototype.changeFormatStrikeout = /** - * @param {?} strikeout - * @return {?} - */ - function (strikeout) { - this._observerStrikeout.next(strikeout); - }; - /** - * @param {?} align - * @return {?} - */ - FormattingService.prototype.changeFormatAlign = /** - * @param {?} align - * @return {?} - */ - function (align) { - this._observerAlign.next(align); - }; - /** - * @param {?} list - * @return {?} - */ - FormattingService.prototype.changeFormatList = /** - * @param {?} list - * @return {?} - */ - function (list) { - this._observerList.next(list); - }; - return FormattingService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerBold; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatBoldChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerUnderline; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatUnderlineChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerUndo; - /** - * @type {?} - * @private - */ - FormattingService.prototype._undo; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerRedo; - /** - * @type {?} - * @private - */ - FormattingService.prototype._redo; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerItalic; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatItalicChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerColor; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatColorChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerBgColor; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatBgColorChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerFontSize; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatFontSizeChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerFont; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatFontChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerStrikeout; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatStrikeoutChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerAlign; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatAlignChange; - /** - * @type {?} - * @private - */ - FormattingService.prototype._observerList; - /** - * @type {?} - * @private - */ - FormattingService.prototype._formatListChange; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var Formatting = /** @class */ (function () { + function Formatting(fontSize, color, bgColor, bold, italic, underline, font, strikeout, align, list) { + this.fontSize = fontSize; + this.color = color; + this.bgColor = bgColor; + this.bold = bold; + this.italic = italic; + this.underline = underline; + this.font = font; + this.strikeout = strikeout; + this.align = align; + this.list = list; + } + /** + * @return {?} + */ + Formatting.default = /** + * @return {?} + */ + function () { + return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, "", ""); + }; + return Formatting; + }()); + if (false) { + /** @type {?} */ + Formatting.prototype.bold; + /** @type {?} */ + Formatting.prototype.italic; + /** @type {?} */ + Formatting.prototype.underline; + /** @type {?} */ + Formatting.prototype.fontSize; + /** @type {?} */ + Formatting.prototype.color; + /** @type {?} */ + Formatting.prototype.bgColor; + /** @type {?} */ + Formatting.prototype.font; + /** @type {?} */ + Formatting.prototype.strikeout; + /** @type {?} */ + Formatting.prototype.align; + /** @type {?} */ + Formatting.prototype.list; + } + var FormattingService = /** @class */ (function () { + function FormattingService() { + this._observerBold = new rxjs.Subject(); + this._formatBoldChange = this._observerBold.asObservable(); + this._observerUnderline = new rxjs.Subject(); + this._formatUnderlineChange = this._observerUnderline.asObservable(); + this._observerUndo = new rxjs.Subject(); + this._undo = this._observerUndo.asObservable(); + this._observerRedo = new rxjs.Subject(); + this._redo = this._observerRedo.asObservable(); + this._observerItalic = new rxjs.Subject(); + this._formatItalicChange = this._observerItalic.asObservable(); + this._observerColor = new rxjs.Subject(); + this._formatColorChange = this._observerColor.asObservable(); + this._observerBgColor = new rxjs.Subject(); + this._formatBgColorChange = this._observerBgColor.asObservable(); + this._observerFontSize = new rxjs.Subject(); + this._formatFontSizeChange = this._observerFontSize.asObservable(); + this._observerFont = new rxjs.Subject(); + this._formatFontChange = this._observerFont.asObservable(); + this._observerStrikeout = new rxjs.Subject(); + this._formatStrikeoutChange = this._observerStrikeout.asObservable(); + this._observerAlign = new rxjs.Subject(); + this._formatAlignChange = this._observerAlign.asObservable(); + this._observerList = new rxjs.Subject(); + this._formatListChange = this._observerList.asObservable(); + } + Object.defineProperty(FormattingService.prototype, "formatBoldChange", { + get: /** + * @return {?} + */ + function () { + return this._formatBoldChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatUnderlineChange", { + get: /** + * @return {?} + */ + function () { + return this._formatUnderlineChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatColorChange", { + get: /** + * @return {?} + */ + function () { + return this._formatColorChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatBgColorChange", { + get: /** + * @return {?} + */ + function () { + return this._formatBgColorChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatFontSizeChange", { + get: /** + * @return {?} + */ + function () { + return this._formatFontSizeChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatFontChange", { + get: /** + * @return {?} + */ + function () { + return this._formatFontChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "undo", { + get: /** + * @return {?} + */ + function () { + return this._undo; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "redo", { + get: /** + * @return {?} + */ + function () { + return this._redo; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatItalicChange", { + get: /** + * @return {?} + */ + function () { + return this._formatItalicChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatStrikeoutChange", { + get: /** + * @return {?} + */ + function () { + return this._formatStrikeoutChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatAlignChange", { + get: /** + * @return {?} + */ + function () { + return this._formatAlignChange; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FormattingService.prototype, "formatListChange", { + get: /** + * @return {?} + */ + function () { + return this._formatListChange; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} val + * @return {?} + */ + FormattingService.createFontSizeOption = /** + * @param {?} val + * @return {?} + */ + function (val) { + return { value: val, name: val + 'px', separator: false }; + }; + /** + * @return {?} + */ + FormattingService.getFontSizeOptions = /** + * @return {?} + */ + function () { + return [ + FormattingService.createFontSizeOption(8), + FormattingService.createFontSizeOption(10), + FormattingService.createFontSizeOption(12), + FormattingService.createFontSizeOption(14), + FormattingService.createFontSizeOption(16), + FormattingService.createFontSizeOption(18), + FormattingService.createFontSizeOption(20), + FormattingService.createFontSizeOption(22), + FormattingService.createFontSizeOption(24), + ]; + }; + /** + * @param {?} val + * @return {?} + */ + FormattingService.createFontOption = /** + * @param {?} val + * @return {?} + */ + function (val) { + return { value: val, name: val, separator: false }; + }; + /** + * @return {?} + */ + FormattingService.getFontOptions = /** + * @return {?} + */ + function () { + var _this = this; + /** @type {?} */ + var fonts = ["Arial", "Calibri", "Century Gothic", "Comic Sans", "Consolas", "Courier", "Dejavu Sans", "Dejavu Serif", "Georgia", "Gill Sans", "Helvetica", "Impact", "Lucida Sans", + "Myriad Pro", "Open Sans", "Palatino", "Tahoma", "Times New Roman", "Trebuchet"]; + /** @type {?} */ + var fontOptions = []; + fonts.forEach((/** + * @param {?} font + * @return {?} + */ + function (font) { + fontOptions.push(_this.createFontOption(font)); + })); + return fontOptions; + }; + /** + * @param {?} $event + * @return {?} + */ + FormattingService.prototype.changeFormatFontSize = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this._observerFontSize.next($event); + }; + /** + * @param {?} bold + * @return {?} + */ + FormattingService.prototype.changeFormatBold = /** + * @param {?} bold + * @return {?} + */ + function (bold) { + this._observerBold.next(bold); + }; + /** + * @param {?} underline + * @return {?} + */ + FormattingService.prototype.changeFormatUnderline = /** + * @param {?} underline + * @return {?} + */ + function (underline) { + this._observerUnderline.next(underline); + }; + /** + * @return {?} + */ + FormattingService.prototype.Undo = /** + * @return {?} + */ + function () { + this._observerUndo.next(); + }; + /** + * @return {?} + */ + FormattingService.prototype.Redo = /** + * @return {?} + */ + function () { + this._observerRedo.next(); + }; + /** + * @param {?} italic + * @return {?} + */ + FormattingService.prototype.changeFormatItalic = /** + * @param {?} italic + * @return {?} + */ + function (italic) { + this._observerItalic.next(italic); + }; + /** + * @param {?} color + * @return {?} + */ + FormattingService.prototype.changeFormatColor = /** + * @param {?} color + * @return {?} + */ + function (color) { + this._observerColor.next(color); + }; + /** + * @param {?} bgcolor + * @return {?} + */ + FormattingService.prototype.changeFormatBgColor = /** + * @param {?} bgcolor + * @return {?} + */ + function (bgcolor) { + this._observerBgColor.next(bgcolor); + }; + /** + * @param {?} font + * @return {?} + */ + FormattingService.prototype.changeFormatFont = /** + * @param {?} font + * @return {?} + */ + function (font) { + this._observerFont.next(font); + }; + /** + * @param {?} strikeout + * @return {?} + */ + FormattingService.prototype.changeFormatStrikeout = /** + * @param {?} strikeout + * @return {?} + */ + function (strikeout) { + this._observerStrikeout.next(strikeout); + }; + /** + * @param {?} align + * @return {?} + */ + FormattingService.prototype.changeFormatAlign = /** + * @param {?} align + * @return {?} + */ + function (align) { + this._observerAlign.next(align); + }; + /** + * @param {?} list + * @return {?} + */ + FormattingService.prototype.changeFormatList = /** + * @param {?} list + * @return {?} + */ + function (list) { + this._observerList.next(list); + }; + return FormattingService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerBold; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatBoldChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerUnderline; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatUnderlineChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerUndo; + /** + * @type {?} + * @private + */ + FormattingService.prototype._undo; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerRedo; + /** + * @type {?} + * @private + */ + FormattingService.prototype._redo; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerItalic; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatItalicChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerColor; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatColorChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerBgColor; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatBgColorChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerFontSize; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatFontSizeChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerFont; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatFontChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerStrikeout; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatStrikeoutChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerAlign; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatAlignChange; + /** + * @type {?} + * @private + */ + FormattingService.prototype._observerList; + /** + * @type {?} + * @private + */ + FormattingService.prototype._formatListChange; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var DEFAULT_COLORS = [ - '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF', - '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF', - '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC', - '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD', - '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0', - '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79', - '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47', - '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030', - ]; - var ColorPickerComponent = /** @class */ (function () { - function ColorPickerComponent() { - this.isOpen = false; - this.selectedColor = new core.EventEmitter(); - this.closeOutside = new core.EventEmitter(); - this.colors = DEFAULT_COLORS; - this.white = '#FFFFFF'; - } - /** - * @return {?} - */ - ColorPickerComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} $event - * @param {?} color - * @return {?} - */ - ColorPickerComponent.prototype.select = /** - * @param {?} $event - * @param {?} color - * @return {?} - */ - function ($event, color) { - $event.preventDefault(); - $event.stopPropagation(); - this.selectedColor.emit(color); - }; - /** - * @return {?} - */ - ColorPickerComponent.prototype.close = /** - * @return {?} - */ - function () { - this.isOpen = false; - this.closeOutside.emit(true); - }; - ColorPickerComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-color-picker', - template: "
\n
\n
\n
\n
\n", - styles: [".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"] - }] } - ]; - /** @nocollapse */ - ColorPickerComponent.ctorParameters = function () { return []; }; - ColorPickerComponent.propDecorators = { - isOpen: [{ type: core.Input }], - selectedColor: [{ type: core.Output }], - closeOutside: [{ type: core.Output }] - }; - return ColorPickerComponent; - }()); - if (false) { - /** @type {?} */ - ColorPickerComponent.prototype.isOpen; - /** @type {?} */ - ColorPickerComponent.prototype.selectedColor; - /** @type {?} */ - ColorPickerComponent.prototype.closeOutside; - /** @type {?} */ - ColorPickerComponent.prototype.colors; - /** @type {?} */ - ColorPickerComponent.prototype.white; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var DEFAULT_COLORS = [ + '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF', + '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF', + '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC', + '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD', + '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0', + '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79', + '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47', + '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030', + ]; + var ColorPickerComponent = /** @class */ (function () { + function ColorPickerComponent() { + this.isOpen = false; + this.selectedColor = new core.EventEmitter(); + this.closeOutside = new core.EventEmitter(); + this.colors = DEFAULT_COLORS; + this.white = '#FFFFFF'; + } + /** + * @return {?} + */ + ColorPickerComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} $event + * @param {?} color + * @return {?} + */ + ColorPickerComponent.prototype.select = /** + * @param {?} $event + * @param {?} color + * @return {?} + */ + function ($event, color) { + $event.preventDefault(); + $event.stopPropagation(); + this.selectedColor.emit(color); + }; + /** + * @return {?} + */ + ColorPickerComponent.prototype.close = /** + * @return {?} + */ + function () { + this.isOpen = false; + this.closeOutside.emit(true); + }; + ColorPickerComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-color-picker', + template: "
\r\n
\r\n
\r\n
\r\n
\r\n", + styles: [".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"] + }] } + ]; + /** @nocollapse */ + ColorPickerComponent.ctorParameters = function () { return []; }; + ColorPickerComponent.propDecorators = { + isOpen: [{ type: core.Input }], + selectedColor: [{ type: core.Output }], + closeOutside: [{ type: core.Output }] + }; + return ColorPickerComponent; + }()); + if (false) { + /** @type {?} */ + ColorPickerComponent.prototype.isOpen; + /** @type {?} */ + ColorPickerComponent.prototype.selectedColor; + /** @type {?} */ + ColorPickerComponent.prototype.closeOutside; + /** @type {?} */ + ColorPickerComponent.prototype.colors; + /** @type {?} */ + ColorPickerComponent.prototype.white; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var BackFormattingService = /** @class */ (function (_super) { - __extends(BackFormattingService, _super); - function BackFormattingService() { - return _super.call(this) || this; - } - BackFormattingService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - BackFormattingService.ctorParameters = function () { return []; }; - /** @nocollapse */ BackFormattingService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function BackFormattingService_Factory() { return new BackFormattingService(); }, token: BackFormattingService, providedIn: "root" }); - return BackFormattingService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var BackFormattingService = /** @class */ (function (_super) { + __extends(BackFormattingService, _super); + function BackFormattingService() { + return _super.call(this) || this; + } + BackFormattingService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + BackFormattingService.ctorParameters = function () { return []; }; + /** @nocollapse */ BackFormattingService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function BackFormattingService_Factory() { return new BackFormattingService(); }, token: BackFormattingService, providedIn: "root" }); + return BackFormattingService; }(FormattingService)); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SelectionService = /** @class */ (function () { - function SelectionService() { - this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); - } - /** - * @return {?} - */ - SelectionService.prototype.restoreSelection = /** - * @return {?} - */ - function () { - if (this.selection && !this.selection.collapsed || this.isIE) { - this.putSelection(this.selection); - } - }; - /** - * @return {?} - */ - SelectionService.prototype.captureSelection = /** - * @return {?} - */ - function () { - /** @type {?} */ - var selection = window.getSelection(); - if (selection.rangeCount > 0) { - this.selection = selection.getRangeAt(0); - } - }; - /** - * @private - * @param {?} selection - * @return {?} - */ - SelectionService.prototype.putSelection = /** - * @private - * @param {?} selection - * @return {?} - */ - function (selection) { - /** @type {?} */ - var sel = window.getSelection(); - sel.removeAllRanges(); - sel.addRange(selection.cloneRange()); - }; - /** - * @return {?} - */ - SelectionService.prototype.refreshSelection = /** - * @return {?} - */ - function () { - this.captureSelection(); - this.restoreSelection(); - }; - SelectionService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ SelectionService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function SelectionService_Factory() { return new SelectionService(); }, token: SelectionService, providedIn: "root" }); - return SelectionService; - }()); - if (false) { - /** @type {?} */ - SelectionService.prototype.selection; - /** @type {?} */ - SelectionService.prototype.isIE; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SelectionService = /** @class */ (function () { + function SelectionService() { + this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + } + /** + * @return {?} + */ + SelectionService.prototype.restoreSelection = /** + * @return {?} + */ + function () { + if (this.selection && !this.selection.collapsed || this.isIE) { + this.putSelection(this.selection); + } + }; + /** + * @return {?} + */ + SelectionService.prototype.captureSelection = /** + * @return {?} + */ + function () { + /** @type {?} */ + var selection = window.getSelection(); + if (selection.rangeCount > 0) { + this.selection = selection.getRangeAt(0); + } + }; + /** + * @private + * @param {?} selection + * @return {?} + */ + SelectionService.prototype.putSelection = /** + * @private + * @param {?} selection + * @return {?} + */ + function (selection) { + /** @type {?} */ + var sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(selection.cloneRange()); + }; + /** + * @return {?} + */ + SelectionService.prototype.refreshSelection = /** + * @return {?} + */ + function () { + this.captureSelection(); + this.restoreSelection(); + }; + SelectionService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ SelectionService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function SelectionService_Factory() { return new SelectionService(); }, token: SelectionService, providedIn: "root" }); + return SelectionService; + }()); + if (false) { + /** @type {?} */ + SelectionService.prototype.selection; + /** @type {?} */ + SelectionService.prototype.isIE; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$7 = jquery; - var FormattingDirective = /** @class */ (function () { - function FormattingDirective(_formattingService, _backFormattingService, _selectionService) { - this._formattingService = _formattingService; - this._backFormattingService = _backFormattingService; - this._selectionService = _selectionService; - this.bold = false; - this.italic = false; - this.underline = false; - this.strikeout = false; - this.isIE = false; - this.isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); - } - /** - * @return {?} - */ - FormattingDirective.prototype.mouseup = /** - * @return {?} - */ - function () { - this.bold = document.queryCommandState("bold"); - this.strikeout = document.queryCommandState("strikeThrough"); - this.italic = document.queryCommandState("italic"); - this.bgColor = document.queryCommandValue("backColor"); - this.underline = document.queryCommandState("underline"); - this.align = this.checkJustify(); - this.list = this.checkList(); - //fix required by FireFox to get correct background color - if (this.bgColor === "transparent") { - this.bgColor = $$7(window.getSelection().focusNode.parentNode).css('background-color').toString(); - } - this.font = document.queryCommandValue("FontName").replace(/"/g, ''); - if (this.font.split(",").length > 1) { - this.font = this.font.split(",")[0]; - } - this.color = document.queryCommandValue("foreColor"); - this._backFormattingService.changeFormatBold(this.bold); - this._backFormattingService.changeFormatUnderline(this.underline); - this._backFormattingService.changeFormatItalic(this.italic); - this._backFormattingService.changeFormatColor(this.color); - this._backFormattingService.changeFormatBgColor(this.bgColor); - this._backFormattingService.changeFormatFontSize(this.reportFontSize()); - this._backFormattingService.changeFormatFont(this.font); - this._backFormattingService.changeFormatStrikeout(this.strikeout); - this._backFormattingService.changeFormatAlign(this.align); - this._backFormattingService.changeFormatList(this.list); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.checkJustify = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var align = ""; - align = document.queryCommandState("justifyCenter") ? "center" : align; - align = document.queryCommandState("justifyFull") ? "full" : align; - align = document.queryCommandState("justifyLeft") ? "left" : align; - align = document.queryCommandState("justifyRight") ? "right" : align; - return align; - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.checkList = /** - * @private - * @return {?} - */ - function () { - /** @type {?} */ - var list = ""; - list = document.queryCommandState("insertUnorderedList") ? "unordered" : list; - list = document.queryCommandState("insertOrderedList") ? "ordered" : list; - return list; - }; - /** - * @return {?} - */ - FormattingDirective.prototype.reportFontSize = /** - * @return {?} - */ - function () { - /** @type {?} */ - var containerEl; - /** @type {?} */ - var sel; - if (window.getSelection) { - sel = window.getSelection(); - if (sel.rangeCount) { - containerEl = sel.getRangeAt(0).commonAncestorContainer; - // Make sure we have an element rather than a text node - if (containerEl.nodeType === 3) { - containerEl = containerEl.parentNode; - } - } - } - else if ((sel = document.getSelection()) && sel.type !== "Control") { - containerEl = sel.createRange().parentElement(); - } - if (containerEl) { - return parseInt(this.getComputedStyleProperty(containerEl, "fontSize").replace("px", ""), 10); - } - }; - /** - * @param {?} el - * @param {?} propName - * @return {?} - */ - FormattingDirective.prototype.getComputedStyleProperty = /** - * @param {?} el - * @param {?} propName - * @return {?} - */ - function (el, propName) { - if (window.getComputedStyle) { - return window.getComputedStyle(el, null)[propName]; - } - else if (el.currentStyle) { - return el.currentStyle[propName]; - } - }; - /** - * @return {?} - */ - FormattingDirective.prototype.ngOnInit = /** - * @return {?} - */ - function () { - var _this = this; - this._formattingService.undo.subscribe((/** - * @return {?} - */ - function () { - _this.toggleUndo(); - })); - this._formattingService.redo.subscribe((/** - * @return {?} - */ - function () { - _this.toggleRedo(); - })); - this._formattingService.formatBoldChange.subscribe((/** - * @param {?} bold - * @return {?} - */ - function (bold) { - _this.bold = bold; - _this.toggleBold(); - })); - this._formattingService.formatUnderlineChange.subscribe((/** - * @param {?} underline - * @return {?} - */ - function (underline) { - _this.underline = underline; - _this.toggleUnderline(); - })); - this._formattingService.formatItalicChange.subscribe((/** - * @param {?} italic - * @return {?} - */ - function (italic) { - _this.italic = italic; - _this.toggleItalic(); - })); - this._formattingService.formatColorChange.subscribe(((/** - * @param {?} color - * @return {?} - */ - function (color) { - _this.color = color; - _this.setColor(color); - }))); - this._formattingService.formatBgColorChange.subscribe(((/** - * @param {?} bgcolor - * @return {?} - */ - function (bgcolor) { - _this.bgColor = bgcolor; - _this.setBgColor(bgcolor); - }))); - this._formattingService.formatFontSizeChange.subscribe(((/** - * @param {?} fontSize - * @return {?} - */ - function (fontSize) { - _this.setFontSize(fontSize); - }))); - this._formattingService.formatFontChange.subscribe(((/** - * @param {?} font - * @return {?} - */ - function (font) { - _this.font = font; - _this.setFont(font); - }))); - this._formattingService.formatStrikeoutChange.subscribe((/** - * @param {?} strikeout - * @return {?} - */ - function (strikeout) { - _this.strikeout = strikeout; - _this.toggleStrikeout(); - })); - this._formattingService.formatAlignChange.subscribe((/** - * @param {?} align - * @return {?} - */ - function (align) { - _this.align = align; - _this.toggleAlign(_this.align); - })); - this._formattingService.formatListChange.subscribe((/** - * @param {?} list - * @return {?} - */ - function (list) { - /** @type {?} */ - var remove = _this.list === list; - _this.list = list; - _this.toggleList(_this.list, remove); - })); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleBold = /** - * @private - * @return {?} - */ - function () { - document.execCommand("bold"); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleUnderline = /** - * @private - * @return {?} - */ - function () { - document.execCommand("underline"); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleItalic = /** - * @private - * @return {?} - */ - function () { - document.execCommand("italic"); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} bgColor - * @return {?} - */ - FormattingDirective.prototype.setBgColor = /** - * @private - * @param {?} bgColor - * @return {?} - */ - function (bgColor) { - document.execCommand("backColor", false, bgColor); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} color - * @return {?} - */ - FormattingDirective.prototype.setColor = /** - * @private - * @param {?} color - * @return {?} - */ - function (color) { - document.execCommand("foreColor", false, color); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} fontSize - * @return {?} - */ - FormattingDirective.prototype.setFontSize = /** - * @private - * @param {?} fontSize - * @return {?} - */ - function (fontSize) { - if (document.getSelection().toString()) { - /** @type {?} */ - var spanString = "" + - document.getSelection() + ""; - if (this.bold) { - spanString = "" + spanString + ""; - } - if (this.italic) { - spanString = "" + spanString + ""; - } - if (this.underline) { - spanString = "" + spanString + ""; - } - if (this.strikeout) { - spanString = "" + spanString + ""; - } - document.execCommand('insertHTML', false, spanString); - } - else { - document.execCommand("fontsize", false, "7"); - } - this._selectionService.refreshSelection(); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleUndo = /** - * @private - * @return {?} - */ - function () { - document.execCommand("undo"); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleRedo = /** - * @private - * @return {?} - */ - function () { - document.execCommand("redo"); - }; - /** - * @private - * @param {?} font - * @return {?} - */ - FormattingDirective.prototype.setFont = /** - * @private - * @param {?} font - * @return {?} - */ - function (font) { - document.execCommand("fontName", false, font); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @return {?} - */ - FormattingDirective.prototype.toggleStrikeout = /** - * @private - * @return {?} - */ - function () { - document.execCommand("strikeThrough"); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} align - * @return {?} - */ - FormattingDirective.prototype.toggleAlign = /** - * @private - * @param {?} align - * @return {?} - */ - function (align) { - if (this.isIE) { - this.toggleAlignIE(align); - return; - } - document.execCommand("styleWithCSS", false, 'true'); - switch (align) { - case 'center': - document.execCommand('justifyCenter'); - break; - case 'full': - document.execCommand('justifyFull'); - break; - case 'left': - document.execCommand('justifyLeft'); - break; - case 'right': - document.execCommand('justifyRight'); - break; - } - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} align - * @return {?} - */ - FormattingDirective.prototype.toggleAlignIE = /** - * @private - * @param {?} align - * @return {?} - */ - function (align) { - this._selectionService.restoreSelection(); - this._selectionService.captureSelection(); - /** @type {?} */ - var selection = window.getSelection().focusNode.parentNode.parentNode; - if (align === "full") { - align = "justify"; - } - $$7(selection).css("text-align", align); - this._selectionService.refreshSelection(); - }; - /** - * @private - * @param {?} list - * @param {?} remove - * @return {?} - */ - FormattingDirective.prototype.toggleList = /** - * @private - * @param {?} list - * @param {?} remove - * @return {?} - */ - function (list, remove) { - switch (list) { - case 'unordered': - document.execCommand('insertUnorderedList', remove); - break; - case 'ordered': - document.execCommand('insertOrderedList', remove); - break; - } - this._selectionService.refreshSelection(); - }; - FormattingDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdFormatting]' - },] } - ]; - /** @nocollapse */ - FormattingDirective.ctorParameters = function () { return [ - { type: FormattingService }, - { type: BackFormattingService }, - { type: SelectionService } - ]; }; - FormattingDirective.propDecorators = { - mouseup: [{ type: core.HostListener, args: ['mouseup',] }] - }; - return FormattingDirective; - }()); - if (false) { - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.bold; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.italic; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.underline; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.color; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.bgColor; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.font; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.strikeout; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.align; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.list; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype.isIE; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype._formattingService; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype._backFormattingService; - /** - * @type {?} - * @private - */ - FormattingDirective.prototype._selectionService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$7 = jquery; + var FormattingDirective = /** @class */ (function () { + function FormattingDirective(_formattingService, _backFormattingService, _selectionService) { + this._formattingService = _formattingService; + this._backFormattingService = _backFormattingService; + this._selectionService = _selectionService; + this.bold = false; + this.italic = false; + this.underline = false; + this.strikeout = false; + this.isIE = false; + this.isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + } + /** + * @return {?} + */ + FormattingDirective.prototype.mouseup = /** + * @return {?} + */ + function () { + this.bold = document.queryCommandState("bold"); + this.strikeout = document.queryCommandState("strikeThrough"); + this.italic = document.queryCommandState("italic"); + this.bgColor = document.queryCommandValue("backColor"); + this.underline = document.queryCommandState("underline"); + this.align = this.checkJustify(); + this.list = this.checkList(); + //fix required by FireFox to get correct background color + if (this.bgColor === "transparent") { + this.bgColor = $$7(window.getSelection().focusNode.parentNode).css('background-color').toString(); + } + this.font = document.queryCommandValue("FontName").replace(/"/g, ''); + if (this.font.split(",").length > 1) { + this.font = this.font.split(",")[0]; + } + this.color = document.queryCommandValue("foreColor"); + this._backFormattingService.changeFormatBold(this.bold); + this._backFormattingService.changeFormatUnderline(this.underline); + this._backFormattingService.changeFormatItalic(this.italic); + this._backFormattingService.changeFormatColor(this.color); + this._backFormattingService.changeFormatBgColor(this.bgColor); + this._backFormattingService.changeFormatFontSize(this.reportFontSize()); + this._backFormattingService.changeFormatFont(this.font); + this._backFormattingService.changeFormatStrikeout(this.strikeout); + this._backFormattingService.changeFormatAlign(this.align); + this._backFormattingService.changeFormatList(this.list); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.checkJustify = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var align = ""; + align = document.queryCommandState("justifyCenter") ? "center" : align; + align = document.queryCommandState("justifyFull") ? "full" : align; + align = document.queryCommandState("justifyLeft") ? "left" : align; + align = document.queryCommandState("justifyRight") ? "right" : align; + return align; + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.checkList = /** + * @private + * @return {?} + */ + function () { + /** @type {?} */ + var list = ""; + list = document.queryCommandState("insertUnorderedList") ? "unordered" : list; + list = document.queryCommandState("insertOrderedList") ? "ordered" : list; + return list; + }; + /** + * @return {?} + */ + FormattingDirective.prototype.reportFontSize = /** + * @return {?} + */ + function () { + /** @type {?} */ + var containerEl; + /** @type {?} */ + var sel; + if (window.getSelection) { + sel = window.getSelection(); + if (sel.rangeCount) { + containerEl = sel.getRangeAt(0).commonAncestorContainer; + // Make sure we have an element rather than a text node + if (containerEl.nodeType === 3) { + containerEl = containerEl.parentNode; + } + } + } + else if ((sel = document.getSelection()) && sel.type !== "Control") { + containerEl = sel.createRange().parentElement(); + } + if (containerEl) { + return parseInt(this.getComputedStyleProperty(containerEl, "fontSize").replace("px", ""), 10); + } + }; + /** + * @param {?} el + * @param {?} propName + * @return {?} + */ + FormattingDirective.prototype.getComputedStyleProperty = /** + * @param {?} el + * @param {?} propName + * @return {?} + */ + function (el, propName) { + if (window.getComputedStyle) { + return window.getComputedStyle(el, null)[propName]; + } + else if (el.currentStyle) { + return el.currentStyle[propName]; + } + }; + /** + * @return {?} + */ + FormattingDirective.prototype.ngOnInit = /** + * @return {?} + */ + function () { + var _this = this; + this._formattingService.undo.subscribe((/** + * @return {?} + */ + function () { + _this.toggleUndo(); + })); + this._formattingService.redo.subscribe((/** + * @return {?} + */ + function () { + _this.toggleRedo(); + })); + this._formattingService.formatBoldChange.subscribe((/** + * @param {?} bold + * @return {?} + */ + function (bold) { + _this.bold = bold; + _this.toggleBold(); + })); + this._formattingService.formatUnderlineChange.subscribe((/** + * @param {?} underline + * @return {?} + */ + function (underline) { + _this.underline = underline; + _this.toggleUnderline(); + })); + this._formattingService.formatItalicChange.subscribe((/** + * @param {?} italic + * @return {?} + */ + function (italic) { + _this.italic = italic; + _this.toggleItalic(); + })); + this._formattingService.formatColorChange.subscribe(((/** + * @param {?} color + * @return {?} + */ + function (color) { + _this.color = color; + _this.setColor(color); + }))); + this._formattingService.formatBgColorChange.subscribe(((/** + * @param {?} bgcolor + * @return {?} + */ + function (bgcolor) { + _this.bgColor = bgcolor; + _this.setBgColor(bgcolor); + }))); + this._formattingService.formatFontSizeChange.subscribe(((/** + * @param {?} fontSize + * @return {?} + */ + function (fontSize) { + _this.setFontSize(fontSize); + }))); + this._formattingService.formatFontChange.subscribe(((/** + * @param {?} font + * @return {?} + */ + function (font) { + _this.font = font; + _this.setFont(font); + }))); + this._formattingService.formatStrikeoutChange.subscribe((/** + * @param {?} strikeout + * @return {?} + */ + function (strikeout) { + _this.strikeout = strikeout; + _this.toggleStrikeout(); + })); + this._formattingService.formatAlignChange.subscribe((/** + * @param {?} align + * @return {?} + */ + function (align) { + _this.align = align; + _this.toggleAlign(_this.align); + })); + this._formattingService.formatListChange.subscribe((/** + * @param {?} list + * @return {?} + */ + function (list) { + /** @type {?} */ + var remove = _this.list === list; + _this.list = list; + _this.toggleList(_this.list, remove); + })); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleBold = /** + * @private + * @return {?} + */ + function () { + document.execCommand("bold"); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleUnderline = /** + * @private + * @return {?} + */ + function () { + document.execCommand("underline"); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleItalic = /** + * @private + * @return {?} + */ + function () { + document.execCommand("italic"); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} bgColor + * @return {?} + */ + FormattingDirective.prototype.setBgColor = /** + * @private + * @param {?} bgColor + * @return {?} + */ + function (bgColor) { + document.execCommand("backColor", false, bgColor); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} color + * @return {?} + */ + FormattingDirective.prototype.setColor = /** + * @private + * @param {?} color + * @return {?} + */ + function (color) { + document.execCommand("foreColor", false, color); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} fontSize + * @return {?} + */ + FormattingDirective.prototype.setFontSize = /** + * @private + * @param {?} fontSize + * @return {?} + */ + function (fontSize) { + if (document.getSelection().toString()) { + /** @type {?} */ + var spanString = "" + + document.getSelection() + ""; + if (this.bold) { + spanString = "" + spanString + ""; + } + if (this.italic) { + spanString = "" + spanString + ""; + } + if (this.underline) { + spanString = "" + spanString + ""; + } + if (this.strikeout) { + spanString = "" + spanString + ""; + } + document.execCommand('insertHTML', false, spanString); + } + else { + document.execCommand("fontsize", false, "7"); + } + this._selectionService.refreshSelection(); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleUndo = /** + * @private + * @return {?} + */ + function () { + document.execCommand("undo"); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleRedo = /** + * @private + * @return {?} + */ + function () { + document.execCommand("redo"); + }; + /** + * @private + * @param {?} font + * @return {?} + */ + FormattingDirective.prototype.setFont = /** + * @private + * @param {?} font + * @return {?} + */ + function (font) { + document.execCommand("fontName", false, font); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @return {?} + */ + FormattingDirective.prototype.toggleStrikeout = /** + * @private + * @return {?} + */ + function () { + document.execCommand("strikeThrough"); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} align + * @return {?} + */ + FormattingDirective.prototype.toggleAlign = /** + * @private + * @param {?} align + * @return {?} + */ + function (align) { + if (this.isIE) { + this.toggleAlignIE(align); + return; + } + document.execCommand("styleWithCSS", false, 'true'); + switch (align) { + case 'center': + document.execCommand('justifyCenter'); + break; + case 'full': + document.execCommand('justifyFull'); + break; + case 'left': + document.execCommand('justifyLeft'); + break; + case 'right': + document.execCommand('justifyRight'); + break; + } + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} align + * @return {?} + */ + FormattingDirective.prototype.toggleAlignIE = /** + * @private + * @param {?} align + * @return {?} + */ + function (align) { + this._selectionService.restoreSelection(); + this._selectionService.captureSelection(); + /** @type {?} */ + var selection = window.getSelection().focusNode.parentNode.parentNode; + if (align === "full") { + align = "justify"; + } + $$7(selection).css("text-align", align); + this._selectionService.refreshSelection(); + }; + /** + * @private + * @param {?} list + * @param {?} remove + * @return {?} + */ + FormattingDirective.prototype.toggleList = /** + * @private + * @param {?} list + * @param {?} remove + * @return {?} + */ + function (list, remove) { + switch (list) { + case 'unordered': + document.execCommand('insertUnorderedList', remove); + break; + case 'ordered': + document.execCommand('insertOrderedList', remove); + break; + } + this._selectionService.refreshSelection(); + }; + FormattingDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdFormatting]' + },] } + ]; + /** @nocollapse */ + FormattingDirective.ctorParameters = function () { return [ + { type: FormattingService }, + { type: BackFormattingService }, + { type: SelectionService } + ]; }; + FormattingDirective.propDecorators = { + mouseup: [{ type: core.HostListener, args: ['mouseup',] }] + }; + return FormattingDirective; + }()); + if (false) { + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.bold; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.italic; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.underline; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.color; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.bgColor; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.font; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.strikeout; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.align; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.list; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype.isIE; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype._formattingService; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype._backFormattingService; + /** + * @type {?} + * @private + */ + FormattingDirective.prototype._selectionService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var SuccessModalComponent = /** @class */ (function () { - function SuccessModalComponent() { - } - /** - * @return {?} - */ - SuccessModalComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - SuccessModalComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-success-modal', - template: "\n
\n
\n \n \n
\n
\n
\n
\n
\n", - styles: [".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"] - }] } - ]; - /** @nocollapse */ - SuccessModalComponent.ctorParameters = function () { return []; }; - return SuccessModalComponent; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var SuccessModalComponent = /** @class */ (function () { + function SuccessModalComponent() { + } + /** + * @return {?} + */ + SuccessModalComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + SuccessModalComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-success-modal', + template: "\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n", + styles: [".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"] + }] } + ]; + /** @nocollapse */ + SuccessModalComponent.ctorParameters = function () { return []; }; + return SuccessModalComponent; }()); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var EditHtmlService = /** @class */ (function () { - function EditHtmlService() { - this._observer = new rxjs.Subject(); - this._htmlContent = this._observer.asObservable(); - } - Object.defineProperty(EditHtmlService.prototype, "observer", { - get: /** - * @return {?} - */ - function () { - return this._observer; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(EditHtmlService.prototype, "htmlContent", { - get: /** - * @return {?} - */ - function () { - return this._htmlContent; - }, - enumerable: true, - configurable: true - }); - EditHtmlService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - EditHtmlService.ctorParameters = function () { return []; }; - /** @nocollapse */ EditHtmlService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function EditHtmlService_Factory() { return new EditHtmlService(); }, token: EditHtmlService, providedIn: "root" }); - return EditHtmlService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - EditHtmlService.prototype._observer; - /** - * @type {?} - * @private - */ - EditHtmlService.prototype._htmlContent; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var EditHtmlService = /** @class */ (function () { + function EditHtmlService() { + this._observer = new rxjs.Subject(); + this._htmlContent = this._observer.asObservable(); + } + Object.defineProperty(EditHtmlService.prototype, "observer", { + get: /** + * @return {?} + */ + function () { + return this._observer; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EditHtmlService.prototype, "htmlContent", { + get: /** + * @return {?} + */ + function () { + return this._htmlContent; + }, + enumerable: true, + configurable: true + }); + EditHtmlService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + EditHtmlService.ctorParameters = function () { return []; }; + /** @nocollapse */ EditHtmlService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function EditHtmlService_Factory() { return new EditHtmlService(); }, token: EditHtmlService, providedIn: "root" }); + return EditHtmlService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + EditHtmlService.prototype._observer; + /** + * @type {?} + * @private + */ + EditHtmlService.prototype._htmlContent; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var EditorDirective = /** @class */ (function () { - function EditorDirective(_selectionService, _htmlService) { - this._selectionService = _selectionService; - this._htmlService = _htmlService; - this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); - } - /** - * @param {?} event - * @return {?} - */ - EditorDirective.prototype.onInput = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.text = event.target; - if (this.isIE) { - if (this.text.innerHTML) { - /** @type {?} */ - var html = this.text.innerHTML.toString(); - this._htmlService.observer.next(html); - } - } - }; - /** - * @param {?} event - * @return {?} - */ - EditorDirective.prototype.onMouseleave = /** - * @param {?} event - * @return {?} - */ - function (event) { - this._selectionService.captureSelection(); - // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here - if (this.isIE) { - this._htmlService.observer.next(event.target.innerHTML.toString()); - } - }; - /** - * @param {?} event - * @return {?} - */ - EditorDirective.prototype.onBlur = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.preventDefault(); - this._selectionService.restoreSelection(); - if (this.text.innerHTML) { - /** @type {?} */ - var html = this.text.innerHTML.toString(); - this._htmlService.observer.next(html); - } - else { - this._htmlService.observer.next(event.target.innerHTML.toString()); - } - }; - EditorDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdEditor]' - },] } - ]; - /** @nocollapse */ - EditorDirective.ctorParameters = function () { return [ - { type: SelectionService }, - { type: EditHtmlService } - ]; }; - EditorDirective.propDecorators = { - text: [{ type: core.Input }], - onInput: [{ type: core.HostListener, args: ['keyup', ['$event'],] }], - onMouseleave: [{ type: core.HostListener, args: ['mouseleave', ['$event'],] }], - onBlur: [{ type: core.HostListener, args: ['blur', ['$event'],] }] - }; - return EditorDirective; - }()); - if (false) { - /** @type {?} */ - EditorDirective.prototype.text; - /** - * @type {?} - * @private - */ - EditorDirective.prototype.isIE; - /** - * @type {?} - * @private - */ - EditorDirective.prototype._selectionService; - /** - * @type {?} - * @private - */ - EditorDirective.prototype._htmlService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var EditorDirective = /** @class */ (function () { + function EditorDirective(_selectionService, _htmlService) { + this._selectionService = _selectionService; + this._htmlService = _htmlService; + this.isIE = false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + } + /** + * @param {?} event + * @return {?} + */ + EditorDirective.prototype.onInput = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.text = event.target; + if (this.isIE) { + if (this.text.innerHTML) { + /** @type {?} */ + var html = this.text.innerHTML.toString(); + this._htmlService.observer.next(html); + } + } + }; + /** + * @param {?} event + * @return {?} + */ + EditorDirective.prototype.onMouseleave = /** + * @param {?} event + * @return {?} + */ + function (event) { + this._selectionService.captureSelection(); + // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here + if (this.isIE) { + this._htmlService.observer.next(event.target.innerHTML.toString()); + } + }; + /** + * @param {?} event + * @return {?} + */ + EditorDirective.prototype.onBlur = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.preventDefault(); + this._selectionService.restoreSelection(); + if (this.text.innerHTML) { + /** @type {?} */ + var html = this.text.innerHTML.toString(); + this._htmlService.observer.next(html); + } + else { + this._htmlService.observer.next(event.target.innerHTML.toString()); + } + }; + EditorDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdEditor]' + },] } + ]; + /** @nocollapse */ + EditorDirective.ctorParameters = function () { return [ + { type: SelectionService }, + { type: EditHtmlService } + ]; }; + EditorDirective.propDecorators = { + text: [{ type: core.Input }], + onInput: [{ type: core.HostListener, args: ['keyup', ['$event'],] }], + onMouseleave: [{ type: core.HostListener, args: ['mouseleave', ['$event'],] }], + onBlur: [{ type: core.HostListener, args: ['blur', ['$event'],] }] + }; + return EditorDirective; + }()); + if (false) { + /** @type {?} */ + EditorDirective.prototype.text; + /** + * @type {?} + * @private + */ + EditorDirective.prototype.isIE; + /** + * @type {?} + * @private + */ + EditorDirective.prototype._selectionService; + /** + * @type {?} + * @private + */ + EditorDirective.prototype._htmlService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LoadingMaskService = /** @class */ (function () { - function LoadingMaskService() { - this.onLoadingChanged = new core.EventEmitter(); - this.stopList = []; - this.requests = []; - this.stopList.push(Api.SAVE_TEXT); - this.stopList.push(Api.SAVE_OPTICAL_CODE); - this.stopList.push(Api.LOAD_DOCUMENT_PAGE); - this.stopList.push(Api.LOAD_THUMBNAILS); - this.stopList.push(Api.GET_FILE_STATUS); - this.stopList.push(Api.LOAD_PRINT); - } - /** - * @param {?} req - * @return {?} - */ - LoadingMaskService.prototype.onRequestStart = /** - * @param {?} req - * @return {?} - */ - function (req) { - /** @type {?} */ - var stop = this.stopList.find((/** - * @param {?} x - * @return {?} - */ - function (x) { return req.url.includes(x); })); - if (!stop) { - this.requests.push(req); - this.notify(); - } - }; - /** - * @param {?} req - * @return {?} - */ - LoadingMaskService.prototype.onRequestFinish = /** - * @param {?} req - * @return {?} - */ - function (req) { - /** @type {?} */ - var index = this.requests.indexOf(req); - if (index !== -1) { - this.requests.splice(index, 1); - } - this.notify(); - }; - /** - * @param {?} url - * @return {?} - */ - LoadingMaskService.prototype.addStopUrl = /** - * @param {?} url - * @return {?} - */ - function (url) { - this.stopList.push(url); - }; - /** - * @private - * @return {?} - */ - LoadingMaskService.prototype.notify = /** - * @private - * @return {?} - */ - function () { - this.onLoadingChanged.emit(this.requests.length !== 0); - }; - LoadingMaskService.decorators = [ - { type: core.Injectable } - ]; - /** @nocollapse */ - LoadingMaskService.ctorParameters = function () { return []; }; - return LoadingMaskService; - }()); - if (false) { - /** @type {?} */ - LoadingMaskService.prototype.onLoadingChanged; - /** - * @type {?} - * @private - */ - LoadingMaskService.prototype.stopList; - /** - * @type {?} - * @private - */ - LoadingMaskService.prototype.requests; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LoadingMaskService = /** @class */ (function () { + function LoadingMaskService() { + this.onLoadingChanged = new core.EventEmitter(); + this.stopList = []; + this.requests = []; + this.stopList.push(Api.SAVE_TEXT); + this.stopList.push(Api.SAVE_OPTICAL_CODE); + this.stopList.push(Api.LOAD_DOCUMENT_PAGE); + this.stopList.push(Api.LOAD_THUMBNAILS); + this.stopList.push(Api.GET_FILE_STATUS); + this.stopList.push(Api.LOAD_PRINT); + } + /** + * @param {?} req + * @return {?} + */ + LoadingMaskService.prototype.onRequestStart = /** + * @param {?} req + * @return {?} + */ + function (req) { + /** @type {?} */ + var stop = this.stopList.find((/** + * @param {?} x + * @return {?} + */ + function (x) { return req.url.includes(x); })); + if (!stop) { + this.requests.push(req); + this.notify(); + } + }; + /** + * @param {?} req + * @return {?} + */ + LoadingMaskService.prototype.onRequestFinish = /** + * @param {?} req + * @return {?} + */ + function (req) { + /** @type {?} */ + var index = this.requests.indexOf(req); + if (index !== -1) { + this.requests.splice(index, 1); + } + this.notify(); + }; + /** + * @param {?} url + * @return {?} + */ + LoadingMaskService.prototype.addStopUrl = /** + * @param {?} url + * @return {?} + */ + function (url) { + this.stopList.push(url); + }; + /** + * @private + * @return {?} + */ + LoadingMaskService.prototype.notify = /** + * @private + * @return {?} + */ + function () { + this.onLoadingChanged.emit(this.requests.length !== 0); + }; + LoadingMaskService.decorators = [ + { type: core.Injectable } + ]; + /** @nocollapse */ + LoadingMaskService.ctorParameters = function () { return []; }; + return LoadingMaskService; + }()); + if (false) { + /** @type {?} */ + LoadingMaskService.prototype.onLoadingChanged; + /** + * @type {?} + * @private + */ + LoadingMaskService.prototype.stopList; + /** + * @type {?} + * @private + */ + LoadingMaskService.prototype.requests; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LoadingMaskComponent = /** @class */ (function () { - function LoadingMaskComponent(_loadingMaskService) { - this._loadingMaskService = _loadingMaskService; - this.loadingMask = false; - } - /** - * @return {?} - */ - LoadingMaskComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - LoadingMaskComponent.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - var _this = this; - this._loadingMaskService - .onLoadingChanged - .subscribe((/** - * @param {?} loading - * @return {?} - */ - function (loading) { return _this.loadingMask = loading; })); - }; - LoadingMaskComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-loading-mask', - template: "
\n
\n  Loading... Please wait.\n
\n
\n", - styles: [".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"] - }] } - ]; - /** @nocollapse */ - LoadingMaskComponent.ctorParameters = function () { return [ - { type: LoadingMaskService } - ]; }; - LoadingMaskComponent.propDecorators = { - loadingMask: [{ type: core.Input }] - }; - return LoadingMaskComponent; - }()); - if (false) { - /** @type {?} */ - LoadingMaskComponent.prototype.loadingMask; - /** - * @type {?} - * @private - */ - LoadingMaskComponent.prototype._loadingMaskService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LoadingMaskComponent = /** @class */ (function () { + function LoadingMaskComponent(_loadingMaskService) { + this._loadingMaskService = _loadingMaskService; + this.loadingMask = false; + } + /** + * @return {?} + */ + LoadingMaskComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + LoadingMaskComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this._loadingMaskService + .onLoadingChanged + .subscribe((/** + * @param {?} loading + * @return {?} + */ + function (loading) { return _this.loadingMask = loading; })); + }; + LoadingMaskComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-loading-mask', + template: "
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n", + styles: [".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"] + }] } + ]; + /** @nocollapse */ + LoadingMaskComponent.ctorParameters = function () { return [ + { type: LoadingMaskService } + ]; }; + LoadingMaskComponent.propDecorators = { + loadingMask: [{ type: core.Input }] + }; + return LoadingMaskComponent; + }()); + if (false) { + /** @type {?} */ + LoadingMaskComponent.prototype.loadingMask; + /** + * @type {?} + * @private + */ + LoadingMaskComponent.prototype._loadingMaskService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LoadingMaskInterceptorService = /** @class */ (function () { - function LoadingMaskInterceptorService(_loadingMaskService) { - this._loadingMaskService = _loadingMaskService; - } - /** - * @param {?} req - * @param {?} next - * @return {?} - */ - LoadingMaskInterceptorService.prototype.intercept = /** - * @param {?} req - * @param {?} next - * @return {?} - */ - function (req, next) { - var _this = this; - this._loadingMaskService.onRequestStart(req); - /** @type {?} */ - var callback = (/** - * @return {?} - */ - function () { return _this._loadingMaskService.onRequestFinish(req); }); - return next.handle(req).pipe(operators.finalize(callback)); - }; - LoadingMaskInterceptorService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - LoadingMaskInterceptorService.ctorParameters = function () { return [ - { type: LoadingMaskService } - ]; }; - /** @nocollapse */ LoadingMaskInterceptorService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function LoadingMaskInterceptorService_Factory() { return new LoadingMaskInterceptorService(core.ɵɵinject(LoadingMaskService)); }, token: LoadingMaskInterceptorService, providedIn: "root" }); - return LoadingMaskInterceptorService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - LoadingMaskInterceptorService.prototype._loadingMaskService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LoadingMaskInterceptorService = /** @class */ (function () { + function LoadingMaskInterceptorService(_loadingMaskService) { + this._loadingMaskService = _loadingMaskService; + } + /** + * @param {?} req + * @param {?} next + * @return {?} + */ + LoadingMaskInterceptorService.prototype.intercept = /** + * @param {?} req + * @param {?} next + * @return {?} + */ + function (req, next) { + var _this = this; + this._loadingMaskService.onRequestStart(req); + /** @type {?} */ + var callback = (/** + * @return {?} + */ + function () { return _this._loadingMaskService.onRequestFinish(req); }); + return next.handle(req).pipe(operators.finalize(callback)); + }; + LoadingMaskInterceptorService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + LoadingMaskInterceptorService.ctorParameters = function () { return [ + { type: LoadingMaskService } + ]; }; + /** @nocollapse */ LoadingMaskInterceptorService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function LoadingMaskInterceptorService_Factory() { return new LoadingMaskInterceptorService(core.ɵɵinject(LoadingMaskService)); }, token: LoadingMaskInterceptorService, providedIn: "root" }); + return LoadingMaskInterceptorService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + LoadingMaskInterceptorService.prototype._loadingMaskService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var horizontalAlignment = { - center: { - right: 'auto' - }, - left: { - right: '100%' - }, - right: { - right: '-100%' - } - }; - /** @type {?} */ - var verticalAlignment = { - center: { - top: '0px', - }, - top: { - top: '-100%', - right: '100%' - }, - bottom: { - top: 'autos' - } - }; - /** - * DropDownToggleComponent - */ - var DropDownToggleComponent = /** @class */ (function () { - function DropDownToggleComponent(dropdown) { - var _this = this; - this.dropdown = dropdown; - this.click = (/** - * @param {?} event - * @return {?} - */ - function (event) { return _this.dropdown.toggle(event); }); - } - DropDownToggleComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-drop-down-toggle', - template: '', - encapsulation: core.ViewEncapsulation.None, - styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] - }] } - ]; - /** @nocollapse */ - DropDownToggleComponent.ctorParameters = function () { return [ - { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** - * @return {?} - */ - function () { return DropDownComponent; })),] }] } - ]; }; - DropDownToggleComponent.propDecorators = { - click: [{ type: core.HostListener, args: ['click', ['$event'],] }] - }; - return DropDownToggleComponent; - }()); - if (false) { - /** @type {?} */ - DropDownToggleComponent.prototype.click; - /** @type {?} */ - DropDownToggleComponent.prototype.dropdown; - } - /** - * DropDownItemsComponent - */ - var DropDownItemsComponent = /** @class */ (function () { - function DropDownItemsComponent(dropdown) { - this.dropdown = dropdown; - } - Object.defineProperty(DropDownItemsComponent.prototype, "horizontalAlign", { - get: /** - * @return {?} - */ - function () { - return horizontalAlignment[this.dropdown.getPlacement().h].right; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DropDownItemsComponent.prototype, "verticalAlign", { - get: /** - * @return {?} - */ - function () { - return verticalAlignment[this.dropdown.getPlacement().v].top; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DropDownItemsComponent.prototype, "isOpen", { - get: /** - * @return {?} - */ - function () { - return this.dropdown.open; - }, - enumerable: true, - configurable: true - }); - /** - * @param {?} event - * @return {?} - */ - DropDownItemsComponent.prototype.onClickOutside = /** - * @param {?} event - * @return {?} - */ - function (event) { - this.dropdown.close(); - }; - DropDownItemsComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-drop-down-items', - template: '', - encapsulation: core.ViewEncapsulation.None, - styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] - }] } - ]; - /** @nocollapse */ - DropDownItemsComponent.ctorParameters = function () { return [ - { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** - * @return {?} - */ - function () { return DropDownComponent; })),] }] } - ]; }; - return DropDownItemsComponent; - }()); - if (false) { - /** @type {?} */ - DropDownItemsComponent.prototype.dropdown; - } - /** - * DropDownItemComponent - */ - var DropDownItemComponent = /** @class */ (function () { - function DropDownItemComponent(dropdown) { - var _this = this; - this.dropdown = dropdown; - this.class = 'drop-down-item'; - this.selected = new core.EventEmitter(); - this.click = (/** - * @return {?} - */ - function () { return _this.selectEntry(); }); - } - /** - * @return {?} - */ - DropDownItemComponent.prototype.selectEntry = /** - * @return {?} - */ - function () { - this.selected.next(); - this.dropdown.close(); - }; - DropDownItemComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-drop-down-item', - template: '', - styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] - }] } - ]; - /** @nocollapse */ - DropDownItemComponent.ctorParameters = function () { return [ - { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** - * @return {?} - */ - function () { return DropDownComponent; })),] }] } - ]; }; - DropDownItemComponent.propDecorators = { - class: [{ type: core.HostBinding, args: ['class',] }], - selected: [{ type: core.Output }], - click: [{ type: core.HostListener, args: ['click',] }] - }; - return DropDownItemComponent; - }()); - if (false) { - /** @type {?} */ - DropDownItemComponent.prototype.class; - /** @type {?} */ - DropDownItemComponent.prototype.selected; - /** @type {?} */ - DropDownItemComponent.prototype.click; - /** @type {?} */ - DropDownItemComponent.prototype.dropdown; - } - /** - * DropDownComponent - */ - var DropDownComponent = /** @class */ (function () { - function DropDownComponent() { - this.placement = { - h: "center", - v: "bottom" - }; - this.open = false; - this.class = 'drop-down'; - } - /** - * @return {?} - */ - DropDownComponent.prototype.close = /** - * @return {?} - */ - function () { - this.open = false; - }; - /** - * @param {?} event - * @return {?} - */ - DropDownComponent.prototype.toggle = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.stopPropagation(); - this.open = !this.open; - document.body.click(); - }; - /** - * @return {?} - */ - DropDownComponent.prototype.getPlacement = /** - * @return {?} - */ - function () { - return this.placement; - }; - DropDownComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-drop-down', - template: '', - encapsulation: core.ViewEncapsulation.None, - styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] - }] } - ]; - DropDownComponent.propDecorators = { - placement: [{ type: core.Input }], - open: [{ type: core.Input }, { type: core.HostBinding, args: ['class.show',] }], - class: [{ type: core.HostBinding, args: ['class',] }] - }; - return DropDownComponent; - }()); - if (false) { - /** @type {?} */ - DropDownComponent.prototype.placement; - /** @type {?} */ - DropDownComponent.prototype.open; - /** @type {?} */ - DropDownComponent.prototype.class; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var horizontalAlignment = { + center: { + right: 'auto' + }, + left: { + right: '100%' + }, + right: { + right: '-100%' + } + }; + /** @type {?} */ + var verticalAlignment = { + center: { + top: '0px', + }, + top: { + top: '-100%', + right: '100%' + }, + bottom: { + top: 'autos' + } + }; + /** + * DropDownToggleComponent + */ + var DropDownToggleComponent = /** @class */ (function () { + function DropDownToggleComponent(dropdown) { + var _this = this; + this.dropdown = dropdown; + this.click = (/** + * @param {?} event + * @return {?} + */ + function (event) { return _this.dropdown.toggle(event); }); + } + DropDownToggleComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-drop-down-toggle', + template: '', + encapsulation: core.ViewEncapsulation.None, + styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] + }] } + ]; + /** @nocollapse */ + DropDownToggleComponent.ctorParameters = function () { return [ + { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** + * @return {?} + */ + function () { return DropDownComponent; })),] }] } + ]; }; + DropDownToggleComponent.propDecorators = { + click: [{ type: core.HostListener, args: ['click', ['$event'],] }] + }; + return DropDownToggleComponent; + }()); + if (false) { + /** @type {?} */ + DropDownToggleComponent.prototype.click; + /** @type {?} */ + DropDownToggleComponent.prototype.dropdown; + } + /** + * DropDownItemsComponent + */ + var DropDownItemsComponent = /** @class */ (function () { + function DropDownItemsComponent(dropdown) { + this.dropdown = dropdown; + } + Object.defineProperty(DropDownItemsComponent.prototype, "horizontalAlign", { + get: /** + * @return {?} + */ + function () { + return horizontalAlignment[this.dropdown.getPlacement().h].right; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DropDownItemsComponent.prototype, "verticalAlign", { + get: /** + * @return {?} + */ + function () { + return verticalAlignment[this.dropdown.getPlacement().v].top; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DropDownItemsComponent.prototype, "isOpen", { + get: /** + * @return {?} + */ + function () { + return this.dropdown.open; + }, + enumerable: true, + configurable: true + }); + /** + * @param {?} event + * @return {?} + */ + DropDownItemsComponent.prototype.onClickOutside = /** + * @param {?} event + * @return {?} + */ + function (event) { + this.dropdown.close(); + }; + DropDownItemsComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-drop-down-items', + template: '', + encapsulation: core.ViewEncapsulation.None, + styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] + }] } + ]; + /** @nocollapse */ + DropDownItemsComponent.ctorParameters = function () { return [ + { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** + * @return {?} + */ + function () { return DropDownComponent; })),] }] } + ]; }; + return DropDownItemsComponent; + }()); + if (false) { + /** @type {?} */ + DropDownItemsComponent.prototype.dropdown; + } + /** + * DropDownItemComponent + */ + var DropDownItemComponent = /** @class */ (function () { + function DropDownItemComponent(dropdown) { + var _this = this; + this.dropdown = dropdown; + this.class = 'drop-down-item'; + this.selected = new core.EventEmitter(); + this.click = (/** + * @return {?} + */ + function () { return _this.selectEntry(); }); + } + /** + * @return {?} + */ + DropDownItemComponent.prototype.selectEntry = /** + * @return {?} + */ + function () { + this.selected.next(); + this.dropdown.close(); + }; + DropDownItemComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-drop-down-item', + template: '', + styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] + }] } + ]; + /** @nocollapse */ + DropDownItemComponent.ctorParameters = function () { return [ + { type: undefined, decorators: [{ type: core.Inject, args: [core.forwardRef((/** + * @return {?} + */ + function () { return DropDownComponent; })),] }] } + ]; }; + DropDownItemComponent.propDecorators = { + class: [{ type: core.HostBinding, args: ['class',] }], + selected: [{ type: core.Output }], + click: [{ type: core.HostListener, args: ['click',] }] + }; + return DropDownItemComponent; + }()); + if (false) { + /** @type {?} */ + DropDownItemComponent.prototype.class; + /** @type {?} */ + DropDownItemComponent.prototype.selected; + /** @type {?} */ + DropDownItemComponent.prototype.click; + /** @type {?} */ + DropDownItemComponent.prototype.dropdown; + } + /** + * DropDownComponent + */ + var DropDownComponent = /** @class */ (function () { + function DropDownComponent() { + this.placement = { + h: "center", + v: "bottom" + }; + this.open = false; + this.class = 'drop-down'; + } + /** + * @return {?} + */ + DropDownComponent.prototype.close = /** + * @return {?} + */ + function () { + this.open = false; + }; + /** + * @param {?} event + * @return {?} + */ + DropDownComponent.prototype.toggle = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.stopPropagation(); + this.open = !this.open; + document.body.click(); + }; + /** + * @return {?} + */ + DropDownComponent.prototype.getPlacement = /** + * @return {?} + */ + function () { + return this.placement; + }; + DropDownComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-drop-down', + template: '', + encapsulation: core.ViewEncapsulation.None, + styles: [".drop-down{position:relative}.show .drop-down-items{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:absolute;z-index:1000;min-width:100%;max-height:300px;padding:0;background-color:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;overflow-y:auto;overflow-x:hidden}.show .drop-down-items .drop-down-item,.show .drop-down-items gd-drop-down-item{color:#959da5;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;cursor:pointer;font-size:10px;line-height:28px;min-height:28px;width:100%}.show .drop-down-items .drop-down-item fa-icon svg,.show .drop-down-items gd-drop-down-item fa-icon svg{margin:0 10px;color:#959da5}.show .drop-down-items .drop-down-item .text,.show .drop-down-items gd-drop-down-item .text{width:100%;margin-right:10px}.show .drop-down-items .drop-down-item:hover,.show .drop-down-items gd-drop-down-item:hover{background-color:#25c2d4}.show .drop-down-items .drop-down-item:hover *,.show .drop-down-items gd-drop-down-item:hover *{color:#fff}.drop-down-items{display:none}"] + }] } + ]; + DropDownComponent.propDecorators = { + placement: [{ type: core.Input }], + open: [{ type: core.Input }, { type: core.HostBinding, args: ['class.show',] }], + class: [{ type: core.HostBinding, args: ['class',] }] + }; + return DropDownComponent; + }()); + if (false) { + /** @type {?} */ + DropDownComponent.prototype.placement; + /** @type {?} */ + DropDownComponent.prototype.open; + /** @type {?} */ + DropDownComponent.prototype.class; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var LeftSideBarComponent = /** @class */ (function () { - function LeftSideBarComponent() { - this.showSpinner = false; - } - /** - * @return {?} - */ - LeftSideBarComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - LeftSideBarComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-left-side-bar', - template: "
\n
\n
 Loading...\n
\n
\n \n
\n", - styles: [".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"] - }] } - ]; - /** @nocollapse */ - LeftSideBarComponent.ctorParameters = function () { return []; }; - LeftSideBarComponent.propDecorators = { - showSpinner: [{ type: core.Input }] - }; - return LeftSideBarComponent; - }()); - if (false) { - /** @type {?} */ - LeftSideBarComponent.prototype.showSpinner; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var LeftSideBarComponent = /** @class */ (function () { + function LeftSideBarComponent() { + this.showSpinner = false; + } + /** + * @return {?} + */ + LeftSideBarComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + LeftSideBarComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-left-side-bar', + template: "
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n", + styles: [".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"] + }] } + ]; + /** @nocollapse */ + LeftSideBarComponent.ctorParameters = function () { return []; }; + LeftSideBarComponent.propDecorators = { + showSpinner: [{ type: core.Input }] + }; + return LeftSideBarComponent; + }()); + if (false) { + /** @type {?} */ + LeftSideBarComponent.prototype.showSpinner; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TooltipDirective = /** @class */ (function () { - function TooltipDirective() { - this.showToolTip = new core.EventEmitter(); - } - /** - * @return {?} - */ - TooltipDirective.prototype.onHovering = /** - * @return {?} - */ - function () { - this.showToolTip.emit(true); - }; - /** - * @return {?} - */ - TooltipDirective.prototype.onUnhovering = /** - * @return {?} - */ - function () { - this.showToolTip.emit(false); - }; - TooltipDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdTooltip]' - },] } - ]; - /** @nocollapse */ - TooltipDirective.ctorParameters = function () { return []; }; - TooltipDirective.propDecorators = { - showToolTip: [{ type: core.Output }], - onHovering: [{ type: core.HostListener, args: ['mouseenter',] }], - onUnhovering: [{ type: core.HostListener, args: ['mouseleave',] }] - }; - return TooltipDirective; - }()); - if (false) { - /** @type {?} */ - TooltipDirective.prototype.showToolTip; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TooltipDirective = /** @class */ (function () { + function TooltipDirective() { + this.showToolTip = new core.EventEmitter(); + } + /** + * @return {?} + */ + TooltipDirective.prototype.onHovering = /** + * @return {?} + */ + function () { + this.showToolTip.emit(true); + }; + /** + * @return {?} + */ + TooltipDirective.prototype.onUnhovering = /** + * @return {?} + */ + function () { + this.showToolTip.emit(false); + }; + TooltipDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdTooltip]' + },] } + ]; + /** @nocollapse */ + TooltipDirective.ctorParameters = function () { return []; }; + TooltipDirective.propDecorators = { + showToolTip: [{ type: core.Output }], + onHovering: [{ type: core.HostListener, args: ['mouseenter',] }], + onUnhovering: [{ type: core.HostListener, args: ['mouseleave',] }] + }; + return TooltipDirective; + }()); + if (false) { + /** @type {?} */ + TooltipDirective.prototype.showToolTip; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var AddDynamicComponentService = /** @class */ (function () { - function AddDynamicComponentService(_factoryResolver, _appRef) { - this._factoryResolver = _factoryResolver; - this._appRef = _appRef; - } - /** - * @param {?} viewContainerRef - * @param {?} component - * @return {?} - */ - AddDynamicComponentService.prototype.addDynamicComponent = /** - * @param {?} viewContainerRef - * @param {?} component - * @return {?} - */ - function (viewContainerRef, component) { - var _this = this; - /** @type {?} */ - var factory = this._factoryResolver.resolveComponentFactory(component); - /** @type {?} */ - var componentRef = viewContainerRef.createComponent(factory); - componentRef.onDestroy((/** - * @return {?} - */ - function () { - _this._appRef.detachView(componentRef.hostView); - })); - return componentRef; - }; - AddDynamicComponentService.decorators = [ - { type: core.Injectable, args: [{ - providedIn: 'root' - },] } - ]; - /** @nocollapse */ - AddDynamicComponentService.ctorParameters = function () { return [ - { type: core.ComponentFactoryResolver }, - { type: core.ApplicationRef } - ]; }; - /** @nocollapse */ AddDynamicComponentService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function AddDynamicComponentService_Factory() { return new AddDynamicComponentService(core.ɵɵinject(core.ComponentFactoryResolver), core.ɵɵinject(core.ApplicationRef)); }, token: AddDynamicComponentService, providedIn: "root" }); - return AddDynamicComponentService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - AddDynamicComponentService.prototype._factoryResolver; - /** - * @type {?} - * @private - */ - AddDynamicComponentService.prototype._appRef; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var AddDynamicComponentService = /** @class */ (function () { + function AddDynamicComponentService(_factoryResolver, _appRef) { + this._factoryResolver = _factoryResolver; + this._appRef = _appRef; + } + /** + * @param {?} viewContainerRef + * @param {?} component + * @return {?} + */ + AddDynamicComponentService.prototype.addDynamicComponent = /** + * @param {?} viewContainerRef + * @param {?} component + * @return {?} + */ + function (viewContainerRef, component) { + var _this = this; + /** @type {?} */ + var factory = this._factoryResolver.resolveComponentFactory(component); + /** @type {?} */ + var componentRef = viewContainerRef.createComponent(factory); + componentRef.onDestroy((/** + * @return {?} + */ + function () { + _this._appRef.detachView(componentRef.hostView); + })); + return componentRef; + }; + AddDynamicComponentService.decorators = [ + { type: core.Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + AddDynamicComponentService.ctorParameters = function () { return [ + { type: core.ComponentFactoryResolver }, + { type: core.ApplicationRef } + ]; }; + /** @nocollapse */ AddDynamicComponentService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function AddDynamicComponentService_Factory() { return new AddDynamicComponentService(core.ɵɵinject(core.ComponentFactoryResolver), core.ɵɵinject(core.ApplicationRef)); }, token: AddDynamicComponentService, providedIn: "root" }); + return AddDynamicComponentService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + AddDynamicComponentService.prototype._factoryResolver; + /** + * @type {?} + * @private + */ + AddDynamicComponentService.prototype._appRef; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var HostingDynamicComponentService = /** @class */ (function () { - function HostingDynamicComponentService() { - this.hosts = []; - } - /** - * @param {?} host - * @return {?} - */ - HostingDynamicComponentService.prototype.add = /** - * @param {?} host - * @return {?} - */ - function (host) { - this.hosts = this.hosts.filter((/** - * @param {?} h - * @return {?} - */ - function (h) { - return h.ident !== host.ident; - })); - this.hosts.push(host); - }; - /** - * @param {?} host - * @return {?} - */ - HostingDynamicComponentService.prototype.remove = /** - * @param {?} host - * @return {?} - */ - function (host) { - this.hosts = this.hosts.filter((/** - * @param {?} h - * @return {?} - */ - function (h) { - return h.ident !== host.ident; - })); - }; - /** - * @param {?} ident - * @return {?} - */ - HostingDynamicComponentService.prototype.find = /** - * @param {?} ident - * @return {?} - */ - function (ident) { - return this.hosts.find((/** - * @param {?} h - * @return {?} - */ - function (h) { - return h.ident === ident; - })); - }; - return HostingDynamicComponentService; - }()); - if (false) { - /** - * @type {?} - * @private - */ - HostingDynamicComponentService.prototype.hosts; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var HostingDynamicComponentService = /** @class */ (function () { + function HostingDynamicComponentService() { + this.hosts = []; + } + /** + * @param {?} host + * @return {?} + */ + HostingDynamicComponentService.prototype.add = /** + * @param {?} host + * @return {?} + */ + function (host) { + this.hosts = this.hosts.filter((/** + * @param {?} h + * @return {?} + */ + function (h) { + return h.ident !== host.ident; + })); + this.hosts.push(host); + }; + /** + * @param {?} host + * @return {?} + */ + HostingDynamicComponentService.prototype.remove = /** + * @param {?} host + * @return {?} + */ + function (host) { + this.hosts = this.hosts.filter((/** + * @param {?} h + * @return {?} + */ + function (h) { + return h.ident !== host.ident; + })); + }; + /** + * @param {?} ident + * @return {?} + */ + HostingDynamicComponentService.prototype.find = /** + * @param {?} ident + * @return {?} + */ + function (ident) { + return this.hosts.find((/** + * @param {?} h + * @return {?} + */ + function (h) { + return h.ident === ident; + })); + }; + return HostingDynamicComponentService; + }()); + if (false) { + /** + * @type {?} + * @private + */ + HostingDynamicComponentService.prototype.hosts; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var HostDynamicDirective = /** @class */ (function () { - function HostDynamicDirective(viewContainerRef, _hostingService) { - this.viewContainerRef = viewContainerRef; - this._hostingService = _hostingService; - } - /** - * @return {?} - */ - HostDynamicDirective.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - this._hostingService.add(this); - }; - /** - * @return {?} - */ - HostDynamicDirective.prototype.ngOnDestroy = /** - * @return {?} - */ - function () { - this._hostingService.remove(this); - this.viewContainerRef.clear(); - }; - HostDynamicDirective.decorators = [ - { type: core.Directive, args: [{ - selector: '[gdHostDynamic]' - },] } - ]; - /** @nocollapse */ - HostDynamicDirective.ctorParameters = function () { return [ - { type: core.ViewContainerRef }, - { type: HostingDynamicComponentService } - ]; }; - HostDynamicDirective.propDecorators = { - ident: [{ type: core.Input }] - }; - return HostDynamicDirective; - }()); - if (false) { - /** @type {?} */ - HostDynamicDirective.prototype.ident; - /** @type {?} */ - HostDynamicDirective.prototype.viewContainerRef; - /** - * @type {?} - * @private - */ - HostDynamicDirective.prototype._hostingService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var HostDynamicDirective = /** @class */ (function () { + function HostDynamicDirective(viewContainerRef, _hostingService) { + this.viewContainerRef = viewContainerRef; + this._hostingService = _hostingService; + } + /** + * @return {?} + */ + HostDynamicDirective.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + this._hostingService.add(this); + }; + /** + * @return {?} + */ + HostDynamicDirective.prototype.ngOnDestroy = /** + * @return {?} + */ + function () { + this._hostingService.remove(this); + this.viewContainerRef.clear(); + }; + HostDynamicDirective.decorators = [ + { type: core.Directive, args: [{ + selector: '[gdHostDynamic]' + },] } + ]; + /** @nocollapse */ + HostDynamicDirective.ctorParameters = function () { return [ + { type: core.ViewContainerRef }, + { type: HostingDynamicComponentService } + ]; }; + HostDynamicDirective.propDecorators = { + ident: [{ type: core.Input }] + }; + return HostDynamicDirective; + }()); + if (false) { + /** @type {?} */ + HostDynamicDirective.prototype.ident; + /** @type {?} */ + HostDynamicDirective.prototype.viewContainerRef; + /** + * @type {?} + * @private + */ + HostDynamicDirective.prototype._hostingService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$8 = jquery; - var ResizingComponent = /** @class */ (function () { - function ResizingComponent() { - this.se = false; - this.ne = false; - this.sw = false; - this.nw = false; - this.SE = 'se'; - this.NE = 'ne'; - this.SW = 'sw'; - this.NW = 'nw'; - this.offsetX = new core.EventEmitter(); - this.offsetY = new core.EventEmitter(); - this.offsetTop = new core.EventEmitter(); - this.offsetLeft = new core.EventEmitter(); - this.release = new core.EventEmitter(); - this.grab = false; - } - /** - * @return {?} - */ - ResizingComponent.prototype.ngAfterViewInit = /** - * @return {?} - */ - function () { - var _this = this; - /** @type {?} */ - var elSE = $$8(this.getElementId(this.SE)); - /** @type {?} */ - var elNW = $$8(this.getElementId(this.NW)); - if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) { - /** @type {?} */ - var width_1 = elSE.offset().left - elNW.offset().left; - /** @type {?} */ - var height_1 = elSE.offset().top - elNW.offset().top; - while (width_1 >= this.pageWidth || height_1 >= this.pageHeight) { - width_1 = width_1 / 2; - height_1 = height_1 / 2; - } - setTimeout((/** - * @return {?} - */ - function () { - _this.offsetX.emit(width_1); - _this.offsetY.emit(height_1); - }), 100); - } - }; - /** - * @return {?} - */ - ResizingComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} $event - * @return {?} - */ - ResizingComponent.prototype.catchUp = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - // ff - $event.preventDefault(); - if ($event.dataTransfer) { // ff - $event.dataTransfer.setData('text', 'foo'); - } - this.grab = true; - this.oldPosition = Utils.getMousePosition($event); - }; - /** - * @param {?} $event - * @param {?} el - * @return {?} - */ - ResizingComponent.prototype.resize = /** - * @param {?} $event - * @param {?} el - * @return {?} - */ - function ($event, el) { - if (!this.grab) { - return; - } - /** @type {?} */ - var position = Utils.getMousePosition($event); - if (position.x === 0 && position.y === 0) { - return; - } - /** @type {?} */ - var notSW = this.NE === el || this.NW === el; - /** @type {?} */ - var notNE = this.SW === el || this.NW === el; - this.setOffsets(position, notNE, notSW); - if (notSW) { - this.offsetTop.emit(position.y - this.oldPosition.y); - } - if (notNE) { - this.offsetLeft.emit(position.x - this.oldPosition.x); - } - this.oldPosition = position; - }; - /** - * @private - * @param {?} position - * @param {?} x - * @param {?} y - * @return {?} - */ - ResizingComponent.prototype.setOffsets = /** - * @private - * @param {?} position - * @param {?} x - * @param {?} y - * @return {?} - */ - function (position, x, y) { - /** @type {?} */ - var offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x; - /** @type {?} */ - var offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y; - this.offsetX.emit(offsetX); - this.offsetY.emit(offsetY); - }; - /** - * @param {?} $event - * @param {?} el - * @return {?} - */ - ResizingComponent.prototype.end = /** - * @param {?} $event - * @param {?} el - * @return {?} - */ - function ($event, el) { - // ff - this.resize($event, el); - this.release.emit(true); - this.grab = false; - }; - /** - * @param {?} $event - * @return {?} - */ - ResizingComponent.prototype.start = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.drop($event); - }; - /** - * @param {?} $event - * @return {?} - */ - ResizingComponent.prototype.drop = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $event.stopPropagation(); - $event.preventDefault(); - }; - /** - * @private - * @param {?} el - * @return {?} - */ - ResizingComponent.prototype.getElementId = /** - * @private - * @param {?} el - * @return {?} - */ - function (el) { - return "#" + el + "-" + this.id; - }; - ResizingComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-resizing', - template: "
\n\n
\n\n
\n\n
\n", - styles: [".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"] - }] } - ]; - /** @nocollapse */ - ResizingComponent.ctorParameters = function () { return []; }; - ResizingComponent.propDecorators = { - init: [{ type: core.Input }], - id: [{ type: core.Input }], - se: [{ type: core.Input }], - ne: [{ type: core.Input }], - sw: [{ type: core.Input }], - nw: [{ type: core.Input }], - pageWidth: [{ type: core.Input }], - pageHeight: [{ type: core.Input }], - offsetX: [{ type: core.Output }], - offsetY: [{ type: core.Output }], - offsetTop: [{ type: core.Output }], - offsetLeft: [{ type: core.Output }], - release: [{ type: core.Output }] - }; - return ResizingComponent; - }()); - if (false) { - /** @type {?} */ - ResizingComponent.prototype.init; - /** @type {?} */ - ResizingComponent.prototype.id; - /** @type {?} */ - ResizingComponent.prototype.se; - /** @type {?} */ - ResizingComponent.prototype.ne; - /** @type {?} */ - ResizingComponent.prototype.sw; - /** @type {?} */ - ResizingComponent.prototype.nw; - /** @type {?} */ - ResizingComponent.prototype.pageWidth; - /** @type {?} */ - ResizingComponent.prototype.pageHeight; - /** @type {?} */ - ResizingComponent.prototype.SE; - /** @type {?} */ - ResizingComponent.prototype.NE; - /** @type {?} */ - ResizingComponent.prototype.SW; - /** @type {?} */ - ResizingComponent.prototype.NW; - /** @type {?} */ - ResizingComponent.prototype.offsetX; - /** @type {?} */ - ResizingComponent.prototype.offsetY; - /** @type {?} */ - ResizingComponent.prototype.offsetTop; - /** @type {?} */ - ResizingComponent.prototype.offsetLeft; - /** @type {?} */ - ResizingComponent.prototype.release; - /** - * @type {?} - * @private - */ - ResizingComponent.prototype.grab; - /** - * @type {?} - * @private - */ - ResizingComponent.prototype.oldPosition; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$8 = jquery; + var ResizingComponent = /** @class */ (function () { + function ResizingComponent() { + this.se = false; + this.ne = false; + this.sw = false; + this.nw = false; + this.SE = 'se'; + this.NE = 'ne'; + this.SW = 'sw'; + this.NW = 'nw'; + this.offsetX = new core.EventEmitter(); + this.offsetY = new core.EventEmitter(); + this.offsetTop = new core.EventEmitter(); + this.offsetLeft = new core.EventEmitter(); + this.release = new core.EventEmitter(); + this.grab = false; + } + /** + * @return {?} + */ + ResizingComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + /** @type {?} */ + var elSE = $$8(this.getElementId(this.SE)); + /** @type {?} */ + var elNW = $$8(this.getElementId(this.NW)); + if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) { + /** @type {?} */ + var width_1 = elSE.offset().left - elNW.offset().left; + /** @type {?} */ + var height_1 = elSE.offset().top - elNW.offset().top; + while (width_1 >= this.pageWidth || height_1 >= this.pageHeight) { + width_1 = width_1 / 2; + height_1 = height_1 / 2; + } + setTimeout((/** + * @return {?} + */ + function () { + _this.offsetX.emit(width_1); + _this.offsetY.emit(height_1); + }), 100); + } + }; + /** + * @return {?} + */ + ResizingComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} $event + * @return {?} + */ + ResizingComponent.prototype.catchUp = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + // ff + $event.preventDefault(); + if ($event.dataTransfer) { // ff + $event.dataTransfer.setData('text', 'foo'); + } + this.grab = true; + this.oldPosition = Utils.getMousePosition($event); + }; + /** + * @param {?} $event + * @param {?} el + * @return {?} + */ + ResizingComponent.prototype.resize = /** + * @param {?} $event + * @param {?} el + * @return {?} + */ + function ($event, el) { + if (!this.grab) { + return; + } + /** @type {?} */ + var position = Utils.getMousePosition($event); + if (position.x === 0 && position.y === 0) { + return; + } + /** @type {?} */ + var notSW = this.NE === el || this.NW === el; + /** @type {?} */ + var notNE = this.SW === el || this.NW === el; + this.setOffsets(position, notNE, notSW); + if (notSW) { + this.offsetTop.emit(position.y - this.oldPosition.y); + } + if (notNE) { + this.offsetLeft.emit(position.x - this.oldPosition.x); + } + this.oldPosition = position; + }; + /** + * @private + * @param {?} position + * @param {?} x + * @param {?} y + * @return {?} + */ + ResizingComponent.prototype.setOffsets = /** + * @private + * @param {?} position + * @param {?} x + * @param {?} y + * @return {?} + */ + function (position, x, y) { + /** @type {?} */ + var offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x; + /** @type {?} */ + var offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y; + this.offsetX.emit(offsetX); + this.offsetY.emit(offsetY); + }; + /** + * @param {?} $event + * @param {?} el + * @return {?} + */ + ResizingComponent.prototype.end = /** + * @param {?} $event + * @param {?} el + * @return {?} + */ + function ($event, el) { + // ff + this.resize($event, el); + this.release.emit(true); + this.grab = false; + }; + /** + * @param {?} $event + * @return {?} + */ + ResizingComponent.prototype.start = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.drop($event); + }; + /** + * @param {?} $event + * @return {?} + */ + ResizingComponent.prototype.drop = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $event.stopPropagation(); + $event.preventDefault(); + }; + /** + * @private + * @param {?} el + * @return {?} + */ + ResizingComponent.prototype.getElementId = /** + * @private + * @param {?} el + * @return {?} + */ + function (el) { + return "#" + el + "-" + this.id; + }; + ResizingComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-resizing', + template: "
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n", + styles: [".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"] + }] } + ]; + /** @nocollapse */ + ResizingComponent.ctorParameters = function () { return []; }; + ResizingComponent.propDecorators = { + init: [{ type: core.Input }], + id: [{ type: core.Input }], + se: [{ type: core.Input }], + ne: [{ type: core.Input }], + sw: [{ type: core.Input }], + nw: [{ type: core.Input }], + pageWidth: [{ type: core.Input }], + pageHeight: [{ type: core.Input }], + offsetX: [{ type: core.Output }], + offsetY: [{ type: core.Output }], + offsetTop: [{ type: core.Output }], + offsetLeft: [{ type: core.Output }], + release: [{ type: core.Output }] + }; + return ResizingComponent; + }()); + if (false) { + /** @type {?} */ + ResizingComponent.prototype.init; + /** @type {?} */ + ResizingComponent.prototype.id; + /** @type {?} */ + ResizingComponent.prototype.se; + /** @type {?} */ + ResizingComponent.prototype.ne; + /** @type {?} */ + ResizingComponent.prototype.sw; + /** @type {?} */ + ResizingComponent.prototype.nw; + /** @type {?} */ + ResizingComponent.prototype.pageWidth; + /** @type {?} */ + ResizingComponent.prototype.pageHeight; + /** @type {?} */ + ResizingComponent.prototype.SE; + /** @type {?} */ + ResizingComponent.prototype.NE; + /** @type {?} */ + ResizingComponent.prototype.SW; + /** @type {?} */ + ResizingComponent.prototype.NW; + /** @type {?} */ + ResizingComponent.prototype.offsetX; + /** @type {?} */ + ResizingComponent.prototype.offsetY; + /** @type {?} */ + ResizingComponent.prototype.offsetTop; + /** @type {?} */ + ResizingComponent.prototype.offsetLeft; + /** @type {?} */ + ResizingComponent.prototype.release; + /** + * @type {?} + * @private + */ + ResizingComponent.prototype.grab; + /** + * @type {?} + * @private + */ + ResizingComponent.prototype.oldPosition; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TopTabActivatorService = /** @class */ (function (_super) { - __extends(TopTabActivatorService, _super); - function TopTabActivatorService() { - return _super.call(this) || this; - } - return TopTabActivatorService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TopTabActivatorService = /** @class */ (function (_super) { + __extends(TopTabActivatorService, _super); + function TopTabActivatorService() { + return _super.call(this) || this; + } + return TopTabActivatorService; }(TabActivatorService)); - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var TopTabComponent = /** @class */ (function () { - function TopTabComponent(_tabActivatorService, _modalService, _excMessageService) { - var _this = this; - this._tabActivatorService = _tabActivatorService; - this._modalService = _modalService; - this._excMessageService = _excMessageService; - this.disabled = false; - this.activeTab = new core.EventEmitter(); - this.elementPosition = 0; - this.active = false; - this.showToolTip = false; - this._tabActivatorService.activeTabChange.subscribe((/** - * @param {?} tabId - * @return {?} - */ - function (tabId) { - _this.activation(tabId); - if (tabId === null) { - _this.activeTab.emit(""); - } - })); - } - /** - * @private - * @param {?} tabId - * @return {?} - */ - TopTabComponent.prototype.activation = /** - * @private - * @param {?} tabId - * @return {?} - */ - function (tabId) { - if (this.id === tabId) { - this.active = !this.active; - if (this.active) { - this.activeTab.emit(this.id); - } - else { - this.activeTab.emit(""); - } - } - else { - this.active = false; - } - }; - /** - * @return {?} - */ - TopTabComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @return {?} - */ - TopTabComponent.prototype.toggleTab = /** - * @return {?} - */ - function () { - if (this.disabled) { - this._modalService.open(CommonModals.ErrorMessage); - this._excMessageService.changeMessage("Please open document first"); - return; - } - this._tabActivatorService.changeActiveTab(this.id); - }; - TopTabComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-top-tab', - template: "
\n \n \n
\n", - styles: [".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"] - }] } - ]; - /** @nocollapse */ - TopTabComponent.ctorParameters = function () { return [ - { type: TopTabActivatorService }, - { type: ModalService }, - { type: ExceptionMessageService } - ]; }; - TopTabComponent.propDecorators = { - id: [{ type: core.Input }], - icon: [{ type: core.Input }], - disabled: [{ type: core.Input }], - tooltip: [{ type: core.Input }], - activeTab: [{ type: core.Output }], - elementPosition: [{ type: core.Input }] - }; - return TopTabComponent; - }()); - if (false) { - /** @type {?} */ - TopTabComponent.prototype.id; - /** @type {?} */ - TopTabComponent.prototype.icon; - /** @type {?} */ - TopTabComponent.prototype.disabled; - /** @type {?} */ - TopTabComponent.prototype.tooltip; - /** @type {?} */ - TopTabComponent.prototype.activeTab; - /** @type {?} */ - TopTabComponent.prototype.elementPosition; - /** @type {?} */ - TopTabComponent.prototype.active; - /** @type {?} */ - TopTabComponent.prototype.showToolTip; - /** - * @type {?} - * @private - */ - TopTabComponent.prototype._tabActivatorService; - /** - * @type {?} - * @private - */ - TopTabComponent.prototype._modalService; - /** - * @type {?} - * @private - */ - TopTabComponent.prototype._excMessageService; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var TopTabComponent = /** @class */ (function () { + function TopTabComponent(_tabActivatorService, _modalService, _excMessageService) { + var _this = this; + this._tabActivatorService = _tabActivatorService; + this._modalService = _modalService; + this._excMessageService = _excMessageService; + this.disabled = false; + this.activeTab = new core.EventEmitter(); + this.elementPosition = 0; + this.active = false; + this.showToolTip = false; + this._tabActivatorService.activeTabChange.subscribe((/** + * @param {?} tabId + * @return {?} + */ + function (tabId) { + _this.activation(tabId); + if (tabId === null) { + _this.activeTab.emit(""); + } + })); + } + /** + * @private + * @param {?} tabId + * @return {?} + */ + TopTabComponent.prototype.activation = /** + * @private + * @param {?} tabId + * @return {?} + */ + function (tabId) { + if (this.id === tabId) { + this.active = !this.active; + if (this.active) { + this.activeTab.emit(this.id); + } + else { + this.activeTab.emit(""); + } + } + else { + this.active = false; + } + }; + /** + * @return {?} + */ + TopTabComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @return {?} + */ + TopTabComponent.prototype.toggleTab = /** + * @return {?} + */ + function () { + if (this.disabled) { + this._modalService.open(CommonModals.ErrorMessage); + this._excMessageService.changeMessage("Please open document first"); + return; + } + this._tabActivatorService.changeActiveTab(this.id); + }; + TopTabComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-top-tab', + template: "
\r\n \r\n \r\n
\r\n", + styles: [".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"] + }] } + ]; + /** @nocollapse */ + TopTabComponent.ctorParameters = function () { return [ + { type: TopTabActivatorService }, + { type: ModalService }, + { type: ExceptionMessageService } + ]; }; + TopTabComponent.propDecorators = { + id: [{ type: core.Input }], + icon: [{ type: core.Input }], + disabled: [{ type: core.Input }], + tooltip: [{ type: core.Input }], + activeTab: [{ type: core.Output }], + elementPosition: [{ type: core.Input }] + }; + return TopTabComponent; + }()); + if (false) { + /** @type {?} */ + TopTabComponent.prototype.id; + /** @type {?} */ + TopTabComponent.prototype.icon; + /** @type {?} */ + TopTabComponent.prototype.disabled; + /** @type {?} */ + TopTabComponent.prototype.tooltip; + /** @type {?} */ + TopTabComponent.prototype.activeTab; + /** @type {?} */ + TopTabComponent.prototype.elementPosition; + /** @type {?} */ + TopTabComponent.prototype.active; + /** @type {?} */ + TopTabComponent.prototype.showToolTip; + /** + * @type {?} + * @private + */ + TopTabComponent.prototype._tabActivatorService; + /** + * @type {?} + * @private + */ + TopTabComponent.prototype._modalService; + /** + * @type {?} + * @private + */ + TopTabComponent.prototype._excMessageService; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var $$9 = jquery; - var TextMenuComponent = /** @class */ (function () { - function TextMenuComponent(_onCloseService, _zoomService, _windowService, _elementRef, renderer) { - var _this = this; - this._onCloseService = _onCloseService; - this._zoomService = _zoomService; - this._windowService = _windowService; - this._elementRef = _elementRef; - this.renderer = renderer; - this.decoration = true; - this.showTooltips = true; - this.outFontSize = new core.EventEmitter(); - this.outFont = new core.EventEmitter(); - this.outBold = new core.EventEmitter(); - this.outItalic = new core.EventEmitter(); - this.outUnderline = new core.EventEmitter(); - this.outColor = new core.EventEmitter(); - this.fontSizeOptions = FormattingService.getFontSizeOptions(); - this.fontOptions = FormattingService.getFontOptions(); - this.colorPickerShow = false; - _onCloseService.onClose.subscribe((/** - * @return {?} - */ - function () { - _this.colorPickerShow = false; - })); - this.isMobile = _windowService.isMobile(); - _windowService.onResize.subscribe((/** - * @param {?} w - * @return {?} - */ - function (w) { - _this.isMobile = _windowService.isMobile(); - })); - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - if (_this.isMobile) { - _this.changePosition(val); - } - })); - } - /** - * @return {?} - */ - TextMenuComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} val - * @return {?} - */ - TextMenuComponent.prototype.changePosition = /** - * @param {?} val - * @return {?} - */ - function (val) { - /** @type {?} */ - var top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height); - /** @type {?} */ - var left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left; - this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px'); - this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px'); - this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px'); - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.selectFontSize = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $$9(".gd-wrapper").off("keyup"); - this.outFontSize.emit($event.value); - $$9(".gd-wrapper").on("keyup", (/** - * @return {?} - */ - function () { - /** @type {?} */ - var fontElements = document.getElementsByTagName("font"); - for (var i = 0, len = fontElements.length; i < len; ++i) { - if (fontElements[i].getAttribute('size') === "7") { - fontElements[i].removeAttribute("size"); - fontElements[i].style.fontSize = $event + "px"; - } - } - })); - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.selectFont = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - event.preventDefault(); - event.stopPropagation(); - this.outFont.emit($event.value); - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.toggleColorPicker = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - $event.preventDefault(); - $event.stopPropagation(); - this.colorPickerShow = !this.colorPickerShow; - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.selectColor = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.colorPickerShow = false; - this.outColor.emit($event); - }; - /** - * @param {?} event - * @return {?} - */ - TextMenuComponent.prototype.toggleBold = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.preventDefault(); - event.stopPropagation(); - this.outBold.emit(!this.bold); - }; - /** - * @param {?} event - * @return {?} - */ - TextMenuComponent.prototype.toggleItalic = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.preventDefault(); - event.stopPropagation(); - this.outItalic.emit(!this.italic); - }; - /** - * @param {?} event - * @return {?} - */ - TextMenuComponent.prototype.toggleUnderline = /** - * @param {?} event - * @return {?} - */ - function (event) { - event.preventDefault(); - event.stopPropagation(); - this.outUnderline.emit(!this.underline); - }; - /** - * @param {?} $event - * @return {?} - */ - TextMenuComponent.prototype.closePicker = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.colorPickerShow = !$event; - }; - TextMenuComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-text-menu', - template: "
\n \n \n \n \n \n \n
\n
\n \n \n
\n", - styles: ["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"] - }] } - ]; - /** @nocollapse */ - TextMenuComponent.ctorParameters = function () { return [ - { type: OnCloseService }, - { type: ZoomService }, - { type: WindowService }, - { type: core.ElementRef }, - { type: core.Renderer2 } - ]; }; - TextMenuComponent.propDecorators = { - blur: [{ type: core.Input }], - fontSize: [{ type: core.Input }], - font: [{ type: core.Input }], - bold: [{ type: core.Input }], - italic: [{ type: core.Input }], - underline: [{ type: core.Input }], - color: [{ type: core.Input }], - decoration: [{ type: core.Input }], - showTooltips: [{ type: core.Input }], - outFontSize: [{ type: core.Output }], - outFont: [{ type: core.Output }], - outBold: [{ type: core.Output }], - outItalic: [{ type: core.Output }], - outUnderline: [{ type: core.Output }], - outColor: [{ type: core.Output }] - }; - return TextMenuComponent; - }()); - if (false) { - /** @type {?} */ - TextMenuComponent.prototype.blur; - /** @type {?} */ - TextMenuComponent.prototype.fontSize; - /** @type {?} */ - TextMenuComponent.prototype.font; - /** @type {?} */ - TextMenuComponent.prototype.bold; - /** @type {?} */ - TextMenuComponent.prototype.italic; - /** @type {?} */ - TextMenuComponent.prototype.underline; - /** @type {?} */ - TextMenuComponent.prototype.color; - /** @type {?} */ - TextMenuComponent.prototype.decoration; - /** @type {?} */ - TextMenuComponent.prototype.showTooltips; - /** @type {?} */ - TextMenuComponent.prototype.outFontSize; - /** @type {?} */ - TextMenuComponent.prototype.outFont; - /** @type {?} */ - TextMenuComponent.prototype.outBold; - /** @type {?} */ - TextMenuComponent.prototype.outItalic; - /** @type {?} */ - TextMenuComponent.prototype.outUnderline; - /** @type {?} */ - TextMenuComponent.prototype.outColor; - /** @type {?} */ - TextMenuComponent.prototype.fontSizeOptions; - /** @type {?} */ - TextMenuComponent.prototype.fontOptions; - /** @type {?} */ - TextMenuComponent.prototype.colorPickerShow; - /** @type {?} */ - TextMenuComponent.prototype.isMobile; - /** - * @type {?} - * @private - */ - TextMenuComponent.prototype._onCloseService; - /** - * @type {?} - * @private - */ - TextMenuComponent.prototype._zoomService; - /** - * @type {?} - * @private - */ - TextMenuComponent.prototype._windowService; - /** - * @type {?} - * @protected - */ - TextMenuComponent.prototype._elementRef; - /** - * @type {?} - * @private - */ - TextMenuComponent.prototype.renderer; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var $$9 = jquery; + var TextMenuComponent = /** @class */ (function () { + function TextMenuComponent(_onCloseService, _zoomService, _windowService, _elementRef, renderer) { + var _this = this; + this._onCloseService = _onCloseService; + this._zoomService = _zoomService; + this._windowService = _windowService; + this._elementRef = _elementRef; + this.renderer = renderer; + this.decoration = true; + this.showTooltips = true; + this.outFontSize = new core.EventEmitter(); + this.outFont = new core.EventEmitter(); + this.outBold = new core.EventEmitter(); + this.outItalic = new core.EventEmitter(); + this.outUnderline = new core.EventEmitter(); + this.outColor = new core.EventEmitter(); + this.fontSizeOptions = FormattingService.getFontSizeOptions(); + this.fontOptions = FormattingService.getFontOptions(); + this.colorPickerShow = false; + _onCloseService.onClose.subscribe((/** + * @return {?} + */ + function () { + _this.colorPickerShow = false; + })); + this.isMobile = _windowService.isMobile(); + _windowService.onResize.subscribe((/** + * @param {?} w + * @return {?} + */ + function (w) { + _this.isMobile = _windowService.isMobile(); + })); + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + if (_this.isMobile) { + _this.changePosition(val); + } + })); + } + /** + * @return {?} + */ + TextMenuComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} val + * @return {?} + */ + TextMenuComponent.prototype.changePosition = /** + * @param {?} val + * @return {?} + */ + function (val) { + /** @type {?} */ + var top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height); + /** @type {?} */ + var left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left; + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px'); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px'); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px'); + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.selectFontSize = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $$9(".gd-wrapper").off("keyup"); + this.outFontSize.emit($event.value); + $$9(".gd-wrapper").on("keyup", (/** + * @return {?} + */ + function () { + /** @type {?} */ + var fontElements = document.getElementsByTagName("font"); + for (var i = 0, len = fontElements.length; i < len; ++i) { + if (fontElements[i].getAttribute('size') === "7") { + fontElements[i].removeAttribute("size"); + fontElements[i].style.fontSize = $event + "px"; + } + } + })); + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.selectFont = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + event.preventDefault(); + event.stopPropagation(); + this.outFont.emit($event.value); + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.toggleColorPicker = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + $event.preventDefault(); + $event.stopPropagation(); + this.colorPickerShow = !this.colorPickerShow; + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.selectColor = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.colorPickerShow = false; + this.outColor.emit($event); + }; + /** + * @param {?} event + * @return {?} + */ + TextMenuComponent.prototype.toggleBold = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.preventDefault(); + event.stopPropagation(); + this.outBold.emit(!this.bold); + }; + /** + * @param {?} event + * @return {?} + */ + TextMenuComponent.prototype.toggleItalic = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.preventDefault(); + event.stopPropagation(); + this.outItalic.emit(!this.italic); + }; + /** + * @param {?} event + * @return {?} + */ + TextMenuComponent.prototype.toggleUnderline = /** + * @param {?} event + * @return {?} + */ + function (event) { + event.preventDefault(); + event.stopPropagation(); + this.outUnderline.emit(!this.underline); + }; + /** + * @param {?} $event + * @return {?} + */ + TextMenuComponent.prototype.closePicker = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.colorPickerShow = !$event; + }; + TextMenuComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-text-menu', + template: "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n", + styles: ["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"] + }] } + ]; + /** @nocollapse */ + TextMenuComponent.ctorParameters = function () { return [ + { type: OnCloseService }, + { type: ZoomService }, + { type: WindowService }, + { type: core.ElementRef }, + { type: core.Renderer2 } + ]; }; + TextMenuComponent.propDecorators = { + blur: [{ type: core.Input }], + fontSize: [{ type: core.Input }], + font: [{ type: core.Input }], + bold: [{ type: core.Input }], + italic: [{ type: core.Input }], + underline: [{ type: core.Input }], + color: [{ type: core.Input }], + decoration: [{ type: core.Input }], + showTooltips: [{ type: core.Input }], + outFontSize: [{ type: core.Output }], + outFont: [{ type: core.Output }], + outBold: [{ type: core.Output }], + outItalic: [{ type: core.Output }], + outUnderline: [{ type: core.Output }], + outColor: [{ type: core.Output }] + }; + return TextMenuComponent; + }()); + if (false) { + /** @type {?} */ + TextMenuComponent.prototype.blur; + /** @type {?} */ + TextMenuComponent.prototype.fontSize; + /** @type {?} */ + TextMenuComponent.prototype.font; + /** @type {?} */ + TextMenuComponent.prototype.bold; + /** @type {?} */ + TextMenuComponent.prototype.italic; + /** @type {?} */ + TextMenuComponent.prototype.underline; + /** @type {?} */ + TextMenuComponent.prototype.color; + /** @type {?} */ + TextMenuComponent.prototype.decoration; + /** @type {?} */ + TextMenuComponent.prototype.showTooltips; + /** @type {?} */ + TextMenuComponent.prototype.outFontSize; + /** @type {?} */ + TextMenuComponent.prototype.outFont; + /** @type {?} */ + TextMenuComponent.prototype.outBold; + /** @type {?} */ + TextMenuComponent.prototype.outItalic; + /** @type {?} */ + TextMenuComponent.prototype.outUnderline; + /** @type {?} */ + TextMenuComponent.prototype.outColor; + /** @type {?} */ + TextMenuComponent.prototype.fontSizeOptions; + /** @type {?} */ + TextMenuComponent.prototype.fontOptions; + /** @type {?} */ + TextMenuComponent.prototype.colorPickerShow; + /** @type {?} */ + TextMenuComponent.prototype.isMobile; + /** + * @type {?} + * @private + */ + TextMenuComponent.prototype._onCloseService; + /** + * @type {?} + * @private + */ + TextMenuComponent.prototype._zoomService; + /** + * @type {?} + * @private + */ + TextMenuComponent.prototype._windowService; + /** + * @type {?} + * @protected + */ + TextMenuComponent.prototype._elementRef; + /** + * @type {?} + * @private + */ + TextMenuComponent.prototype.renderer; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - var MenuType = /** @class */ (function () { - function MenuType() { - } - MenuType.FOR_SIGNATURE = "signature"; - MenuType.FOR_ANNOTATION = "annotation"; - return MenuType; - }()); - if (false) { - /** @type {?} */ - MenuType.FOR_SIGNATURE; - /** @type {?} */ - MenuType.FOR_ANNOTATION; - } - var ContextMenuComponent = /** @class */ (function () { - function ContextMenuComponent(_windowService, _zoomService, _elementRef, renderer) { - var _this = this; - this._windowService = _windowService; - this._zoomService = _zoomService; - this._elementRef = _elementRef; - this.renderer = renderer; - this.formatting = Formatting.default(); - this.lock = false; - this.translation = 0; - this.changeFormatting = new core.EventEmitter(); - this.removeItem = new core.EventEmitter(); - this.copySign = new core.EventEmitter(); - this.lockOut = new core.EventEmitter(); - this.comment = new core.EventEmitter(); - this.isMobile = _windowService.isMobile(); - _windowService.onResize.subscribe((/** - * @param {?} w - * @return {?} - */ - function (w) { - _this.isMobile = _windowService.isMobile(); - })); - _zoomService.zoomChange.subscribe((/** - * @param {?} val - * @return {?} - */ - function (val) { - if (_this.isMobile) { - _this.changeScale(val); - } - })); - } - /** - * @return {?} - */ - ContextMenuComponent.prototype.ngOnInit = /** - * @return {?} - */ - function () { - }; - /** - * @param {?} val - * @return {?} - */ - ContextMenuComponent.prototype.changeScale = /** - * @param {?} val - * @return {?} - */ - function (val) { - this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1 / (val / 100) + ')'); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.saveChanges = /** - * @return {?} - */ - function () { - this.changeFormatting.emit(this.formatting); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.selectFontSize = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.fontSize = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.selectFont = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.font = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.selectColor = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.color = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.toggleBold = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.bold = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.toggleItalic = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.italic = $event; - this.saveChanges(); - }; - /** - * @param {?} $event - * @return {?} - */ - ContextMenuComponent.prototype.toggleUnderline = /** - * @param {?} $event - * @return {?} - */ - function ($event) { - this.formatting.underline = $event; - this.saveChanges(); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.deleteItem = /** - * @return {?} - */ - function () { - this.removeItem.emit(true); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.toggleLock = /** - * @return {?} - */ - function () { - this.lock = !this.lock; - this.lockOut.emit(this.lock); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.onCopySign = /** - * @return {?} - */ - function () { - this.copySign.emit(true); - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.isSignature = /** - * @return {?} - */ - function () { - return this.menuType === MenuType.FOR_SIGNATURE; - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.isAnnotation = /** - * @return {?} - */ - function () { - return this.menuType === MenuType.FOR_ANNOTATION; - }; - /** - * @return {?} - */ - ContextMenuComponent.prototype.addComment = /** - * @return {?} - */ - function () { - this.comment.emit(true); - }; - ContextMenuComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'gd-context-menu', - template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\n \n \n \n \n \n \n
\n", - styles: [".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"] - }] } - ]; - /** @nocollapse */ - ContextMenuComponent.ctorParameters = function () { return [ - { type: WindowService }, - { type: ZoomService }, - { type: core.ElementRef }, - { type: core.Renderer2 } - ]; }; - ContextMenuComponent.propDecorators = { - formatting: [{ type: core.Input }], - textMenu: [{ type: core.Input }], - topPosition: [{ type: core.Input }], - lock: [{ type: core.Input }], - translation: [{ type: core.Input }], - menuType: [{ type: core.Input }], - changeFormatting: [{ type: core.Output }], - removeItem: [{ type: core.Output }], - copySign: [{ type: core.Output }], - lockOut: [{ type: core.Output }], - comment: [{ type: core.Output }] - }; - return ContextMenuComponent; - }()); - if (false) { - /** @type {?} */ - ContextMenuComponent.prototype.formatting; - /** @type {?} */ - ContextMenuComponent.prototype.textMenu; - /** @type {?} */ - ContextMenuComponent.prototype.topPosition; - /** @type {?} */ - ContextMenuComponent.prototype.lock; - /** @type {?} */ - ContextMenuComponent.prototype.translation; - /** @type {?} */ - ContextMenuComponent.prototype.menuType; - /** @type {?} */ - ContextMenuComponent.prototype.changeFormatting; - /** @type {?} */ - ContextMenuComponent.prototype.removeItem; - /** @type {?} */ - ContextMenuComponent.prototype.copySign; - /** @type {?} */ - ContextMenuComponent.prototype.lockOut; - /** @type {?} */ - ContextMenuComponent.prototype.comment; - /** @type {?} */ - ContextMenuComponent.prototype.isMobile; - /** - * @type {?} - * @private - */ - ContextMenuComponent.prototype._windowService; - /** - * @type {?} - * @private - */ - ContextMenuComponent.prototype._zoomService; - /** - * @type {?} - * @protected - */ - ContextMenuComponent.prototype._elementRef; - /** - * @type {?} - * @private - */ - ContextMenuComponent.prototype.renderer; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + var MenuType = /** @class */ (function () { + function MenuType() { + } + MenuType.FOR_SIGNATURE = "signature"; + MenuType.FOR_ANNOTATION = "annotation"; + return MenuType; + }()); + if (false) { + /** @type {?} */ + MenuType.FOR_SIGNATURE; + /** @type {?} */ + MenuType.FOR_ANNOTATION; + } + var ContextMenuComponent = /** @class */ (function () { + function ContextMenuComponent(_windowService, _zoomService, _elementRef, renderer) { + var _this = this; + this._windowService = _windowService; + this._zoomService = _zoomService; + this._elementRef = _elementRef; + this.renderer = renderer; + this.formatting = Formatting.default(); + this.lock = false; + this.translation = 0; + this.changeFormatting = new core.EventEmitter(); + this.removeItem = new core.EventEmitter(); + this.copySign = new core.EventEmitter(); + this.lockOut = new core.EventEmitter(); + this.comment = new core.EventEmitter(); + this.isMobile = _windowService.isMobile(); + _windowService.onResize.subscribe((/** + * @param {?} w + * @return {?} + */ + function (w) { + _this.isMobile = _windowService.isMobile(); + })); + _zoomService.zoomChange.subscribe((/** + * @param {?} val + * @return {?} + */ + function (val) { + if (_this.isMobile) { + _this.changeScale(val); + } + })); + } + /** + * @return {?} + */ + ContextMenuComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + }; + /** + * @param {?} val + * @return {?} + */ + ContextMenuComponent.prototype.changeScale = /** + * @param {?} val + * @return {?} + */ + function (val) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1 / (val / 100) + ')'); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.saveChanges = /** + * @return {?} + */ + function () { + this.changeFormatting.emit(this.formatting); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.selectFontSize = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.fontSize = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.selectFont = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.font = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.selectColor = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.color = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.toggleBold = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.bold = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.toggleItalic = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.italic = $event; + this.saveChanges(); + }; + /** + * @param {?} $event + * @return {?} + */ + ContextMenuComponent.prototype.toggleUnderline = /** + * @param {?} $event + * @return {?} + */ + function ($event) { + this.formatting.underline = $event; + this.saveChanges(); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.deleteItem = /** + * @return {?} + */ + function () { + this.removeItem.emit(true); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.toggleLock = /** + * @return {?} + */ + function () { + this.lock = !this.lock; + this.lockOut.emit(this.lock); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.onCopySign = /** + * @return {?} + */ + function () { + this.copySign.emit(true); + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.isSignature = /** + * @return {?} + */ + function () { + return this.menuType === MenuType.FOR_SIGNATURE; + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.isAnnotation = /** + * @return {?} + */ + function () { + return this.menuType === MenuType.FOR_ANNOTATION; + }; + /** + * @return {?} + */ + ContextMenuComponent.prototype.addComment = /** + * @return {?} + */ + function () { + this.comment.emit(true); + }; + ContextMenuComponent.decorators = [ + { type: core.Component, args: [{ + selector: 'gd-context-menu', + template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", + styles: [".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"] + }] } + ]; + /** @nocollapse */ + ContextMenuComponent.ctorParameters = function () { return [ + { type: WindowService }, + { type: ZoomService }, + { type: core.ElementRef }, + { type: core.Renderer2 } + ]; }; + ContextMenuComponent.propDecorators = { + formatting: [{ type: core.Input }], + textMenu: [{ type: core.Input }], + topPosition: [{ type: core.Input }], + lock: [{ type: core.Input }], + translation: [{ type: core.Input }], + menuType: [{ type: core.Input }], + changeFormatting: [{ type: core.Output }], + removeItem: [{ type: core.Output }], + copySign: [{ type: core.Output }], + lockOut: [{ type: core.Output }], + comment: [{ type: core.Output }] + }; + return ContextMenuComponent; + }()); + if (false) { + /** @type {?} */ + ContextMenuComponent.prototype.formatting; + /** @type {?} */ + ContextMenuComponent.prototype.textMenu; + /** @type {?} */ + ContextMenuComponent.prototype.topPosition; + /** @type {?} */ + ContextMenuComponent.prototype.lock; + /** @type {?} */ + ContextMenuComponent.prototype.translation; + /** @type {?} */ + ContextMenuComponent.prototype.menuType; + /** @type {?} */ + ContextMenuComponent.prototype.changeFormatting; + /** @type {?} */ + ContextMenuComponent.prototype.removeItem; + /** @type {?} */ + ContextMenuComponent.prototype.copySign; + /** @type {?} */ + ContextMenuComponent.prototype.lockOut; + /** @type {?} */ + ContextMenuComponent.prototype.comment; + /** @type {?} */ + ContextMenuComponent.prototype.isMobile; + /** + * @type {?} + * @private + */ + ContextMenuComponent.prototype._windowService; + /** + * @type {?} + * @private + */ + ContextMenuComponent.prototype._zoomService; + /** + * @type {?} + * @protected + */ + ContextMenuComponent.prototype._elementRef; + /** + * @type {?} + * @private + */ + ContextMenuComponent.prototype.renderer; } - /** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - /** @type {?} */ - var providers = [ConfigService, - Api, - ModalService, - FileService, - FileModel, - FileUtil, - Utils, - SanitizeHtmlPipe, - SanitizeResourceHtmlPipe, - SanitizeStylePipe, - HighlightSearchPipe, - UploadFilesService, - RenderPrintService, - NavigateService, - PagePreloadService, - ZoomService, - ExceptionMessageService, - PasswordService, - ErrorInterceptorService, - SearchService, - WindowService, - ViewportService, - FormattingService, - BackFormattingService, - OnCloseService, - LoadingMaskInterceptorService, - LoadingMaskService, - TabActivatorService, - AddDynamicComponentService, - HostingDynamicComponentService, - TopTabActivatorService]; - var CommonComponentsModule = /** @class */ (function () { - function CommonComponentsModule() { - fontawesomeSvgCore.library.add(freeSolidSvgIcons.fas, freeRegularSvgIcons.far); - } - CommonComponentsModule.decorators = [ - { type: core.NgModule, args: [{ - imports: [common.CommonModule, angularFontawesome.FontAwesomeModule, ngClickOutside.ClickOutsideModule], - declarations: [ - TopToolbarComponent, - SidePanelComponent, - ButtonComponent, - LogoComponent, - TooltipComponent, - ModalComponent, - BrowseFilesModalComponent, - DocumentComponent, - PageComponent, - SanitizeHtmlPipe, - SanitizeResourceHtmlPipe, - SanitizeStylePipe, - HighlightSearchPipe, - UploadFileZoneComponent, - DndDirective, - ScrollableDirective, - MouseWheelDirective, - ZoomDirective, - SelectComponent, - DisabledCursorDirective, - RotationDirective, - InitStateComponent, - RenderPrintDirective, - ErrorModalComponent, - PasswordRequiredComponent, - SearchComponent, - SearchableDirective, - TabbedToolbarsComponent, - TabComponent, - TabsComponent, - ColorPickerComponent, - FormattingDirective, - SuccessModalComponent, - EditorDirective, - LoadingMaskComponent, - DropDownComponent, - DropDownItemComponent, - DropDownItemsComponent, - DropDownToggleComponent, - LeftSideBarComponent, - TooltipDirective, - HostDynamicDirective, - ResizingComponent, - TopTabComponent, - TextMenuComponent, - ContextMenuComponent - ], - exports: [ - TopToolbarComponent, - SidePanelComponent, - ButtonComponent, - LogoComponent, - TooltipComponent, - ModalComponent, - BrowseFilesModalComponent, - DocumentComponent, - PageComponent, - SanitizeResourceHtmlPipe, - SanitizeStylePipe, - HighlightSearchPipe, - SanitizeHtmlPipe, - UploadFileZoneComponent, - ScrollableDirective, - MouseWheelDirective, - SelectComponent, - RotationDirective, - InitStateComponent, - RenderPrintDirective, - ErrorModalComponent, - PasswordRequiredComponent, - SearchComponent, - SearchableDirective, - TabbedToolbarsComponent, - TabComponent, - TabsComponent, - ColorPickerComponent, - FormattingDirective, - SuccessModalComponent, - LoadingMaskComponent, - DndDirective, - DropDownComponent, - DropDownItemComponent, - DropDownItemsComponent, - DropDownToggleComponent, - ZoomDirective, - DropDownToggleComponent, - LeftSideBarComponent, - TooltipDirective, - HostDynamicDirective, - ResizingComponent, - TopTabComponent, - TextMenuComponent, - ContextMenuComponent - ], - providers: providers - },] } - ]; - /** @nocollapse */ - CommonComponentsModule.ctorParameters = function () { return []; }; - return CommonComponentsModule; + /** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ + /** @type {?} */ + var providers = [ConfigService, + Api, + ModalService, + FileService, + FileModel, + FileUtil, + Utils, + SanitizeHtmlPipe, + SanitizeResourceHtmlPipe, + SanitizeStylePipe, + HighlightSearchPipe, + UploadFilesService, + RenderPrintService, + NavigateService, + PagePreloadService, + ZoomService, + ExceptionMessageService, + PasswordService, + ErrorInterceptorService, + SearchService, + WindowService, + ViewportService, + FormattingService, + BackFormattingService, + OnCloseService, + LoadingMaskInterceptorService, + LoadingMaskService, + TabActivatorService, + AddDynamicComponentService, + HostingDynamicComponentService, + TopTabActivatorService, + ExcelPageService]; + 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, + ExcelDocumentComponent, + PageComponent, + ExcelPageComponent, + SanitizeHtmlPipe, + SanitizeResourceHtmlPipe, + SanitizeStylePipe, + HighlightSearchPipe, + UploadFileZoneComponent, + DndDirective, + ScrollableDirective, + MouseWheelDirective, + ZoomDirective, + SelectComponent, + DisabledCursorDirective, + RotationDirective, + InitStateComponent, + RenderPrintDirective, + ErrorModalComponent, + PasswordRequiredComponent, + SearchComponent, + SearchableDirective, + TabbedToolbarsComponent, + TabComponent, + TabsComponent, + ColorPickerComponent, + FormattingDirective, + SuccessModalComponent, + EditorDirective, + LoadingMaskComponent, + DropDownComponent, + DropDownItemComponent, + DropDownItemsComponent, + DropDownToggleComponent, + LeftSideBarComponent, + TooltipDirective, + HostDynamicDirective, + ResizingComponent, + TopTabComponent, + TextMenuComponent, + ContextMenuComponent + ], + exports: [ + TopToolbarComponent, + SidePanelComponent, + ButtonComponent, + LogoComponent, + TooltipComponent, + ModalComponent, + BrowseFilesModalComponent, + DocumentComponent, + ExcelDocumentComponent, + PageComponent, + ExcelPageComponent, + SanitizeResourceHtmlPipe, + SanitizeStylePipe, + HighlightSearchPipe, + SanitizeHtmlPipe, + UploadFileZoneComponent, + ScrollableDirective, + MouseWheelDirective, + SelectComponent, + RotationDirective, + InitStateComponent, + RenderPrintDirective, + ErrorModalComponent, + PasswordRequiredComponent, + SearchComponent, + SearchableDirective, + TabbedToolbarsComponent, + TabComponent, + TabsComponent, + ColorPickerComponent, + FormattingDirective, + SuccessModalComponent, + LoadingMaskComponent, + DndDirective, + DropDownComponent, + DropDownItemComponent, + DropDownItemsComponent, + DropDownToggleComponent, + ZoomDirective, + DropDownToggleComponent, + LeftSideBarComponent, + TooltipDirective, + HostDynamicDirective, + ResizingComponent, + TopTabComponent, + TextMenuComponent, + ContextMenuComponent, + EditorDirective, + FormattingDirective + ], + providers: providers + },] } + ]; + /** @nocollapse */ + CommonComponentsModule.ctorParameters = function () { return []; }; + return CommonComponentsModule; }()); exports.AddDynamicComponentService = AddDynamicComponentService; @@ -8464,6 +8868,9 @@ exports.EditorDirective = EditorDirective; exports.ErrorInterceptorService = ErrorInterceptorService; exports.ErrorModalComponent = ErrorModalComponent; + exports.ExcelDocumentComponent = ExcelDocumentComponent; + exports.ExcelPageComponent = ExcelPageComponent; + exports.ExcelPageService = ExcelPageService; exports.ExceptionMessageService = ExceptionMessageService; exports.FileCredentials = FileCredentials; exports.FileDescription = FileDescription; 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 93a96da13..f4f24c4eb 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js.map +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gd-top-toolbar',\n templateUrl: './top-toolbar.component.html',\n styleUrls: ['./top-toolbar.component.less']\n})\nexport class TopToolbarComponent {\n\n constructor() {\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gd-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.less']\n})\n\nexport class SidePanelComponent {\n @Input() title: string;\n @Input() icon: string;\n @Input() closable = true;\n @Input() saveable = true;\n @Output() hideSidePanel = new EventEmitter();\n @Output() saveInSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n closeSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n saveBySidePanel() {\n this.saveInSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n if (this.closable && !this.saveable) {\n this.onlyTitle = !this.onlyTitle;\n }\n }\n}\n","import {fromEvent, Observable, Subject} from \"rxjs\";\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\n\nconst MOBILE_MAX_WIDTH = 425;\nconst TABLET_MAX_WIDTH = 1024;\n\nexport class WindowService {\n\n private resizeSubject: Subject = new Subject();\n private _resize$;\n private width: number;\n private height: number;\n\n constructor() {\n this.width = window.innerWidth;\n this.height = window.innerHeight;\n\n this._resize$ = fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n distinctUntilChanged(),\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\n tap(event => {\n this.resizeSubject.next(event.target);\n this.width = (event.target as Window).innerWidth;\n this.height = (event.target as Window).innerHeight;\n }),\n );\n this._resize$.subscribe();\n }\n\n get onResize(): Observable {\n return this.resizeSubject.asObservable();\n }\n\n isMobile() {\n return this.width <= MOBILE_MAX_WIDTH;\n }\n\n isTablet() {\n return this.width <= TABLET_MAX_WIDTH;\n }\n\n isDesktop() {\n return !this.isMobile() && !this.isTablet();\n }\n\n getWidth() {\n return this.width;\n }\n\n getHeight() {\n return this.height;\n }\n\n isEdge() {\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {WindowService} from \"../window.service\";\n\n@Component({\n selector: 'gd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.less']\n})\nexport class ButtonComponent {\n @Input() iconOnly = true;\n @Input() intent = 'default';\n @Input() disabled = false;\n @Input() icon: string;\n @Input() iconClass: string;\n @Input() tooltip: string;\n @Input() className: string;\n @Input() toggle = false;\n @Input() iconSize: string;\n @Input() iconRegular = false;\n @Input() elementPosition = 0;\n\n showToolTip = false;\n private isDesktop: boolean;\n\n constructor(windowService: WindowService) {\n this.isDesktop = windowService.isDesktop();\n windowService.onResize.subscribe((w) => {\n this.isDesktop = windowService.isDesktop();\n });\n }\n\n iconButtonClass() {\n return this.iconOnly ? 'icon-button' : '';\n }\n\n onHovering() {\n if (this.isDesktop && !this.disabled) {\n this.className += ' active';\n }\n }\n\n onUnhovering() {\n if (this.isDesktop && !this.disabled) {\n this.className = this.cleanAll(this.className, ' active');\n }\n }\n\n private cleanAll(str: string, val: string) {\n while (str && str.indexOf(val) !== -1) {\n str = str.replace(val, '');\n }\n return str;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-logo',\n templateUrl: './logo.component.html',\n styleUrls: ['./logo.component.less']\n})\nexport class LogoComponent implements OnInit {\n\n @Input() logo;\n @Input() icon;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.less']\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() text: string;\n @Input() position = 0;\n visibility = 'hidden';\n\n constructor() {\n }\n\n getClass() {\n if (this.position === 0) {\n return 'tooltip';\n }\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\n }\n\n @Input()\n set show(value: boolean) {\n this.visibility = value ? 'shown' : 'hidden';\n }\n\n ngOnInit() {\n }\n\n}\n","import {HttpHeaders} from \"@angular/common/http\";\nimport {Injectable} from \"@angular/core\";\n\nexport class Api {\n public static VIEWER_APP = '/viewer';\n public static SIGNATURE_APP = '/signature';\n public static ANNOTATION_APP = '/annotation';\n public static SEARCH_APP = '/search';\n public static EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\n public static METADATA_APP = '/metadata';\n public static DEFAULT_API_ENDPOINT = window.location.href;\n public static LOAD_FILE_TREE = '/loadFileTree';\n public static LOAD_CONFIG = '/loadConfig';\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\n public static SAVE_PROPERTY = '/saveProperty';\n public static REMOVE_PROPERTY = '/removeProperty';\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\n public static LOAD_PRINT = '/loadPrint';\n public static LOAD_PRINT_PDF = '/printPdf';\n public static LOAD_THUMBNAILS = '/loadThumbnails';\n public static LOAD_FORMATS = '/loadFormats';\n public static SAVE_FILE = '/saveFile';\n public static CREATE_FILE = '/createFile';\n public static COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\n public static GET_FILE_STATUS = '/getFileStatus';\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\n public static SAVE_TEXT = '/saveText';\n public static SAVE_IMAGE = '/saveImage';\n public static SAVE_STAMP = '/saveStamp';\n public static SIGN = '/sign';\n public static DOWNLOAD_SIGNED = '/downloadSigned';\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\n public static ANNOTATE = '/annotate';\n public static SEARCH = '/search';\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\n public static CLEAN_METADATA = '/clean';\n public static EXPORT_METADATA = '/export';\n\n public static httpOptionsJson = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n public static httpOptionsJsonResponseTypeBlob = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n responseType: 'blob' as 'blob'\n };\n}\n\n@Injectable()\nexport class ConfigService {\n\n private _apiEndpoint: string;\n\n constructor() {\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\n }\n\n set apiEndpoint(url: string) {\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\n }\n\n getConfigEndpoint(app) {\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\n }\n\n getViewerApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\n }\n\n getEditorApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\n }\n\n getComparisonApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\n }\n\n getConversionApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\n }\n\n getMetadataApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\n }\n\n get apiEndpoint() {\n return this._apiEndpoint;\n }\n\n getSignatureApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\n }\n\n getAnnotationApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\n }\n\n getSearchApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\n }\n}\n","export class CommonModals {\n static PasswordRequired = \"gd-password-required\";\n static ErrorMessage = \"gd-error-message\";\n static BrowseFiles = \"gd-browse-files\";\n static CreateDocument = \"gd-create-document\";\n static OperationSuccess = \"gd-success-modal\";\n static DrawHandSignature = \"gd-draw-hand-signature\";\n static DrawStampSignature = \"gd-draw-stamp-signature\";\n static InformationMessage = \"gd-information-message\";\n}\n\nexport class ModalService {\n private modals: any[] = [];\n\n add(modal: any) {\n this.modals.push(modal);\n }\n\n remove(id: string) {\n this.modals = this.modals.filter(x => x.id !== id);\n }\n\n open(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.open();\n }\n }\n\n close(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.close();\n }\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ModalService} from \"../modal.service\";\n\n@Component({\n selector: 'gd-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.less']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() id: string;\n @Input() title: string;\n @Output() visible = new EventEmitter();\n @Output() cancel = new EventEmitter();\n visibility = false;\n private element: any;\n\n constructor(private modalService: ModalService, el: ElementRef) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n if (!this.id) {\n console.error('modal must have an id');\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.modalService.add(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.visibility = true;\n this.visible.emit(true);\n }\n\n close(): void {\n event.preventDefault();\n event.stopPropagation();\n this.visibility = false;\n this.visible.emit(false);\n }\n\n onClose($event: MouseEvent) {\n $event.stopPropagation();\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\n this.close();\n }\n }\n\n cancelClose() {\n this.cancel.emit(false);\n this.close();\n }\n}\n","export class PageModel {\n data: string;\n angle: number;\n width: number;\n height: number;\n number: number;\n editable: boolean;\n}\n\nexport class RotatedPage {\n pageNumber: number;\n angle: number;\n}\n\nexport class FileCredentials {\n guid: string;\n password: string;\n\n constructor(guid: string, password: string) {\n this.guid = guid;\n this.password = password;\n }\n}\n\nexport class SaveFile extends FileCredentials {\n content: string;\n\n constructor(guid: string, password: string, content: string) {\n super(guid, password);\n this.content = content;\n }\n}\n\nexport class FileDescription {\n guid: string;\n pages: PageModel[];\n printAllowed = true;\n showGridLines: boolean;\n thumbnails: PageModel[];\n}\n\nexport class FileModel {\n guid: string;\n name: string;\n directory: boolean;\n size: number;\n isDirectory: boolean;\n}\n\nexport class HttpError {\n static BadRequest = 400;\n static Unauthorized = 401;\n static Forbidden = 403;\n static NotFound = 404;\n static TimeOut = 408;\n static Conflict = 409;\n static InternalServerError = 500;\n}\n\nexport class Utils {\n public static getMousePosition(event) {\n const mouse = {\n x: 0,\n y: 0\n };\n const wEvent: DragEvent = window.event;\n const ev = event || wEvent; //Moz || IE\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\n } else if (ev.clientX) { //IE\n mouse.x = ev.clientX + document.body.scrollLeft;\n mouse.y = ev.clientY + document.body.scrollTop;\n }\n return mouse;\n }\n\n public static toRgb(color: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\n if (result) {\n const r = parseInt(result[1], 16);\n const g = parseInt(result[2], 16);\n const b = parseInt(result[3], 16);\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\n }\n return color;\n }\n\n public static toHex(color: string) {\n // check if color is standard hex value\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\n // check if color is RGB value -> convert to hex\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\n pad = function (str) {\n if (str.length < 2) {\n for (let i = 0, len = 2 - str.length; i < len; i++) {\n str = '0' + str;\n }\n }\n return str;\n };\n if (c.length === 3) {\n const r = pad(c[0].toString(16)),\n g = pad(c[1].toString(16)),\n b = pad(c[2].toString(16));\n return '#' + r + g + b;\n }\n // else do nothing\n } else {\n return '';\n }\n }\n}\n\nexport class FileUtil {\n public static map = {\n 'folder': {'format': '', 'icon': 'folder'},\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\n };\n\n public static find(filename: string, isDirectory: boolean) {\n if (filename && !isDirectory) {\n const strings = filename.split('.');\n const name = strings.pop().toLowerCase();\n if (typeof FileUtil.map[name] === \"undefined\") {\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\n } else {\n return FileUtil.map[name];\n }\n } else {\n return FileUtil.map['folder'];\n }\n }\n}\n\nexport class FileService {\n\n constructor() {\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class UploadFilesService {\n private _uploadsChange: Observable;\n private _observer: Observer;\n\n constructor() {\n this._uploadsChange = new Observable(observer =>\n this._observer = observer);\n }\n\n get uploadsChange(): Observable {\n return this._uploadsChange;\n }\n\n changeFilesList(filesList: FileList) {\n this._observer.next(filesList);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FileModel, FileUtil} from \"../file.service\";\nimport {UploadFilesService} from \"../upload-files.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\nconst upload_disc = 'Disc';\n\nconst upload_url = 'URL';\n\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\n\n@Component({\n selector: 'gd-browse-files-modal',\n templateUrl: './browse-files-modal.component.html',\n styleUrls: ['./browse-files-modal.component.less']\n})\nexport class BrowseFilesModalComponent implements OnInit {\n uploads = uploads_choices;\n\n @Input() files;\n @Input() uploadConfig;\n @Output() selectedFileGuid = new EventEmitter();\n @Output() selectedDirectory = new EventEmitter();\n @Output() urlForUpload = new EventEmitter();\n @Output() closing = new EventEmitter();\n private selectedFile: FileModel;\n showUploadUrl = false;\n showUploadFile = false;\n\n constructor(private _uploadService: UploadFilesService) {\n }\n\n ngOnInit() {\n }\n\n getSize(size: number) {\n const mb = size / 1024 / 1024;\n if (mb > 1) {\n return (Math.round(mb * 100) / 100) + ' MB';\n } else {\n const kb = size / 1024;\n if (kb > 1) {\n return (Math.round(kb * 100) / 100) + ' KB';\n }\n }\n return size + ' Bytes';\n }\n\n getFormatName(file: FileModel) {\n return FileUtil.find(file.name, file.directory).format;\n }\n\n getFormatIcon(file: FileModel) {\n return FileUtil.find(file.name, file.directory).icon;\n }\n\n choose(file: FileModel) {\n this.selectedFile = file;\n if (file.directory || file.isDirectory) {\n this.selectedDirectory.emit(file.name);\n } else {\n this.selectedFileGuid.emit(file.guid);\n }\n }\n\n goUp() {\n if (this.selectedFile) {\n let guid = this.selectedFile.guid;\n if (guid.length > 0 && guid.indexOf('/') === -1) {\n guid = '';\n } else {\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\n }\n this.selectedDirectory.emit(guid);\n }\n }\n\n selectUpload($event: string) {\n if (upload_url === $event) {\n this.showUploadUrl = true;\n } else {\n this.showUploadUrl = false;\n $(\"#gd-upload-input\").trigger('click');\n }\n }\n\n refresh($event) {\n\n if ($event) {\n this.files = null;\n this.selectedDirectory.emit('');\n this.showUploadUrl = false;\n this.selectedFile = null;\n } else {\n this.closing.emit(true);\n }\n }\n\n showSpinner() {\n return !this.files;\n }\n\n uploadUrl(url: string) {\n if (url) {\n this.urlForUpload.emit(url);\n this.cleanUpload();\n }\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n }\n\n cleanUpload() {\n this.showUploadFile = false;\n this.showUploadUrl = false;\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class ZoomService {\n private _observer: Subject = new Subject();\n private readonly _zoomChange: Observable = this._observer.asObservable();\n private _zoom: number;\n\n constructor() {\n }\n\n get zoom(): number {\n return this._zoom;\n }\n\n get zoomChange(): Observable {\n return this._zoomChange;\n }\n\n changeZoom(zoom: number) {\n this._zoom = zoom;\n this._observer.next(zoom);\n }\n\n private createZoomOption(val: any, name: string, sep: boolean = false) {\n return {value: val, name: name, separator: sep}\n }\n\n zoomOptions(width, height) {\n return [this.createZoomOption(25, '25%'),\n this.createZoomOption(50, '50%'),\n this.createZoomOption(100,'100%'),\n this.createZoomOption(150, '150%'),\n this.createZoomOption(200, '200%'),\n this.createZoomOption(300, '300%'),\n this.createZoomOption(0, '', true),\n this.createZoomOption(width, 'Fit Width'),\n this.createZoomOption(height, 'Fit Height')];\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class PagePreloadService {\n private readonly _checkPreload: Observable;\n private _observer: Observer;\n\n constructor() {\n this._checkPreload = new Observable(observer =>\n this._observer = observer);\n }\n\n get checkPreload(): Observable {\n return this._checkPreload;\n }\n\n changeLastPageInView(page: number) {\n if(this._observer) {\n this._observer.next(page);\n }\n }\n}\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {Injectable} from \"@angular/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NavigateService {\n private _currentPage = 0;\n private _countPages = 0;\n private _observer: Subject = new Subject();\n private _navigate: Observable = this._observer;\n\n constructor(private _pagePreloadService: PagePreloadService) {\n }\n\n get navigate(): Observable {\n return this._navigate;\n }\n\n get countPages(): number {\n return this._countPages;\n }\n\n set countPages(value: number) {\n this._countPages = value;\n }\n\n get currentPage(): number {\n return this._currentPage;\n }\n\n set currentPage(value: number) {\n this._currentPage = value;\n }\n\n nextPage() {\n if (this._currentPage < this._countPages) {\n this._currentPage++;\n this.navigateTo(this._currentPage);\n }\n }\n\n prevPage() {\n if (this._currentPage > 1) {\n this._currentPage--;\n this.navigateTo(this._currentPage);\n }\n }\n\n toLastPage() {\n this._currentPage = this._countPages;\n this.navigateTo(this._currentPage);\n }\n\n toFirstPage() {\n this._currentPage = 1;\n this.navigateTo(this._currentPage);\n }\n\n navigateTo(page: number) {\n this.currentPage = page;\n this._pagePreloadService.changeLastPageInView(page);\n this._observer.next(page);\n }\n}\n","import {\n AfterViewChecked,\n Component,\n ElementRef,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges\n} from '@angular/core';\nimport {FileDescription, FileUtil} from \"../file.service\";\nimport {ZoomService} from \"../zoom.service\";\nimport * as Hammer from 'hammerjs';\nimport {WindowService} from '../window.service';\nimport * as jquery from 'jquery';\nimport { NavigateService } from '../navigate.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-document',\n templateUrl: './document.component.html',\n styleUrls: ['./document.component.less']\n})\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\n\n @Input() mode: boolean;\n @Input() preloadPageCount: number;\n @Input() file: FileDescription;\n @Input() selectedPage: number;\n @Input() showActiveSlide: boolean;\n wait = false;\n zoom: number;\n\n docWidth = null;\n docHeight = null;\n viewportWidth = null;\n viewportHeight = null;\n scale = null;\n lastScale = null;\n container = null;\n doc = null;\n x = 0;\n lastX = 0;\n y = 0;\n lastY = 0;\n pinchCenter = null;\n pinchCenterOffset = null;\n curWidth = 0;\n curHeight = 0;\n isDesktop: boolean;\n\n constructor(protected _elementRef: ElementRef,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _navigateService: NavigateService) {\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n\n this._navigateService.navigate.subscribe(((\n value => {\n this.selectedPage = value;\n })));\n }\n\n ngOnInit() {\n if (this.ifPresentation())\n {\n this.selectedPage = this._navigateService.currentPage;\n }\n }\n\n ngOnChanges() {\n }\n\n ngAfterViewInit() {\n // For current iteration we take .panzoom as a document\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\n // For current iteration we take .gd-document as a container\n this.container = this._elementRef.nativeElement;\n\n this.docWidth = this.doc.clientWidth;\n this.docHeight = this.doc.clientHeight;\n this.viewportWidth = this.doc.offsetWidth;\n\n // For cases where we already have zoom defined we should include it\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\n\n this.lastScale = this.scale;\n this.viewportHeight = this.container.offsetHeight;\n this.curWidth = this.docWidth * this.scale;\n this.curHeight = this.docHeight * this.scale;\n\n const hammer = new Hammer(this.container);\n }\n\n // TODO: this temporary crutch for Excel files should be documented\n ifExcel() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\n }\n\n ifPresentation() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\n }\n\n getDimensionWithUnit(value: number, pageNumber: number) {\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\n }\n\n ifEdge() {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n ngAfterViewChecked(): void {\n // for now we are not sure that need this action in current implementation\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\n // const element = elementNodeListOf.item(0);\n // if (element) {\n // $(element).trigger('focus');\n // }\n }\n\n isVisible(pageNumber) {\n if (this.ifPresentation()) {\n return pageNumber === this.selectedPage ? true : false;\n }\n else {\n return true;\n }\n }\n}\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gd-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.less']\n})\nexport class PageComponent implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() width: number;\n @Input() height: number;\n @Input() number: number;\n @Input() data: string;\n @Input() isHtml: boolean;\n @Input() editable: boolean;\n imgData: string;\n\n constructor() {\n }\n\n ngOnInit() {\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n if(isIE && this.number === 0){\n this.editable = false;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(this.isHtml) {\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \n // which leads to undesired spaces on the top of the docs pages\n this.data = this.data \n ? this.data.replace(/>\\s+<')\n .replace(/\\uFEFF/g,\"\")\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\n : null;\n } else {\n this.imgData = 'data:image/png;base64,' + this.data;\n }\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\n\n@Pipe({name: 'safeHtml'})\nexport class SanitizeHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n\n@Pipe({name: 'safeResourceHtml'})\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\n }\n}\n\n@Pipe({name: 'safeStyle'})\nexport class SanitizeStylePipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustStyle(html);\n }\n}\n\n@Pipe({name: 'highlight'})\nexport class HighlightSearchPipe implements PipeTransform {\n\n transform(value: string, args: string): any {\n if (!args) {\n return value;\n }\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\n return value.replace(re, \"$&\");\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {UploadFilesService} from \"../upload-files.service\";\n\n@Component({\n selector: 'gd-upload-file-zone',\n templateUrl: './upload-file-zone.component.html',\n styleUrls: ['./upload-file-zone.component.less']\n})\nexport class UploadFileZoneComponent implements OnInit {\n\n @Output() closeUpload = new EventEmitter();\n\n constructor(private _uploadService: UploadFilesService) { }\n\n ngOnInit() {\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n this.onCloseUpload();\n }\n\n onCloseUpload() {\n this.closeUpload.emit(true);\n }\n\n close($event) {\n if ($event.target.id === 'gd-dropZone') {\n this.onCloseUpload();\n }\n }\n}\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\nimport {UploadFilesService} from \"./upload-files.service\";\n\n@Directive({\n selector: '[gdDnd]'\n})\nexport class DndDirective {\n\n @Output() closing = new EventEmitter();\n @Output() opening = new EventEmitter();\n @Output() dropped = new EventEmitter();\n\n @HostBinding('class.active') active = false;\n\n private dragCounter = 0;\n\n constructor(protected _uploadFilesService: UploadFilesService) {\n }\n\n @HostListener('dragenter', ['$event'])\n public onDragEnter(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter++;\n this.active = true;\n this.opening.emit(true);\n }\n\n @HostListener('dragover', ['$event'])\n public onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n return false;\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter--;\n if (this.dragCounter === 0) {\n this.active = false;\n this.closeArea();\n }\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.active = false;\n this.dropped.emit(true);\n this._uploadFilesService.changeFilesList(files);\n this.closeArea();\n }\n }\n\n @HostListener('click', ['$event'])\n public onClick(event) {\n this.closeArea();\n }\n\n private closeArea() {\n this.closing.emit(true);\n this.opening.emit(false);\n }\n}\n","import {Injectable} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ViewportService {\n\n constructor() {\n }\n\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\n if (!el) {\n return false;\n }\n const x = deltaX;\n const y = 0.5;\n\n const win = $(window);\n\n const viewport = {\n top: win.scrollTop(),\n left: win.scrollLeft() + leftOffset,\n right: win.scrollLeft() + win.width() - 10,\n bottom: win.scrollTop() + win.height()\n };\n\n\n if (isNaN(zoom)) {\n zoom = 100;\n }\n\n const zoomN = zoom / 100;\n const height = $(el).outerHeight() * (zoomN);\n const width = $(el).outerWidth() * (zoomN);\n\n if (!width || !height) {\n return false;\n }\n\n const bounds = $(el).offset();\n const right = (bounds.left * (zoomN)) + width;\n const bottom = (bounds.top * (zoomN)) + height;\n\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\n\n if (!visible) {\n return false;\n }\n\n const deltas = {\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\n };\n\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomService} from \"./zoom.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdScrollable]'\n})\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\n\n private currentPage: number;\n private zoom = 100;\n private loadedPagesSet = new Set();\n\n constructor(private _elementRef: ElementRef,\n private _navigateService: NavigateService,\n private _pagePreloadService: PagePreloadService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _viewportService: ViewportService) {\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n this.refresh();\n });\n }\n\n ngAfterViewInit() {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n this._navigateService.navigate.subscribe((value => {\n this.currentPage = value;\n this.scrollToPage(value);\n }));\n this.refresh();\n }\n\n @HostListener('scroll') scrolling() {\n this.refresh();\n }\n\n @HostListener('window:resize') resizing() {\n this.refresh();\n }\n\n scrollToPage(pageNumber: number) {\n const el = this._elementRef.nativeElement;\n const page = this.getPage(pageNumber);\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\n return;\n }\n const pagesHeight = this.calculateOffset(pageNumber);\n const options = {\n left: 0,\n top: pagesHeight\n };\n if(el){\n // using polyfill\n el.scroll(options);\n }\n }\n\n private getChildren() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n // here and in the similar line below we getting the document pages\n return el.children.item(0).children.item(0).children;\n }\n }\n\n private getPage(pageNumber: number) {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\n }\n }\n\n private calculateOffset(pageNumber: number) {\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\n const margin = this._windowService.isDesktop() ? 40 : 10;\n let pagesHeight = 0;\n for (let i = 1; i < pageNumber / count; i++) {\n const item = this.getPage(i);\n const clientHeight = item ? item.clientHeight : 0;\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\n }\n return pagesHeight;\n }\n\n private countPagesOnWidth() {\n const pageEl = this.getPage(1);\n const offset = 150;\n if (pageEl) {\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\n if (count !== 0) {\n return count;\n }\n }\n return 1;\n }\n\n refresh() {\n let page;\n let currentPageSet = false;\n const pageElem = this.getPage(this.currentPage);\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\n for (page = 1; page < this.getChildren().length + 1; page++) {\n const element = this.getPage(page);\n if (this._viewportService.checkInViewport(element, this.zoom)) {\n if (!currentPageSet) {\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\n this.currentPage = page;\n if (this._navigateService.currentPage === 0) {\n this._navigateService.currentPage = page;\n }\n }\n currentPageSet = true;\n }\n if (!this.loadedPagesSet.has(page)) {\n this._pagePreloadService.changeLastPageInView(page);\n this.loadedPagesSet.add(page);\n }\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.refresh();\n }\n\n ngOnInit(): void {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n }\n\n\n private getWidth() {\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdMouseWheel]'\n})\nexport class MouseWheelDirective {\n @Output() mouseWheelUp = new EventEmitter();\n @Output() mouseWheelDown = new EventEmitter();\n\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\n this.mouseWheelFunc(event);\n }\n\n mouseWheelFunc(event: any) {\n event = window.event ;\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\n if(delta > 0) {\n this.mouseWheelUp.emit(event);\n } else if(delta < 0) {\n this.mouseWheelDown.emit(event);\n }\n }\n}\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\nimport {ZoomService} from \"./zoom.service\";\nimport {FileUtil} from \"./file.service\";\nimport { WindowService } from './window.service';\n\n@Directive({\n selector: '[gdZoom]'\n})\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n\n @Input() zoomActive = true;\n @Input() file;\n\n @HostBinding('style.zoom') zoomInt: number;\n @HostBinding('style.transform') transform: string;\n @HostBinding('style.transform-origin') transformOrigin: string;\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n @HostBinding('style.min-width') minWidth: string;\n el: ElementRef;\n\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\n this.el = el;\n }\n\n ngOnDestroy(): void {\n }\n\n ngOnChanges(): void {\n this.setStyles(this._zoomService.zoom);\n this.resizePages(this._zoomService.zoom);\n }\n\n ngOnInit(): void {\n if (! this.zoomActive) {\n return;\n }\n\n this.setStyles(this._zoomService.zoom);\n this._zoomService.zoomChange.subscribe((zoom) => {\n this.setStyles(zoom);\n this.resizePages(zoom);\n });\n }\n\n private setStyles(zoom) {\n if (! this.zoomActive) {\n return;\n }\n\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n \n if (this._windowService.isEdge()) {\n this.zoomInt = zoomInt;\n }\n else {\n this.zoomInt = null;\n }\n \n if (!this._windowService.isEdge()) {\n this.transform = 'scale(' + zoomInt + ')';\n this.transformOrigin = 'top left';\n }\n else {\n this.transform = \"\";\n this.transformOrigin = \"\";\n }\n\n let maxWidth = 0;\n this.file.pages.forEach(page => {\n {\n if (page.width > maxWidth){\n maxWidth = page.width;\n }\n }\n });\n\n // Images and Excel-related files receiving dimensions in px from server\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\n }\n\n private getScrollWidth(elm){\n return elm.offsetWidth - elm.clientWidth;\n }\n\n private getScrollHeight(elm){\n return elm.offsetHeight - elm.clientHeight;\n }\n\n private resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\n }\n\n ngAfterViewInit(): void {\n this.setStyles(this._zoomService.zoom);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnCloseService {\n private _observer: Subject = new Subject();\n private readonly _onClose: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get onClose() {\n return this._onClose;\n }\n\n close(close: boolean) {\n this._observer.next(close)\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {OnCloseService} from \"../on-close.service\";\n\nexport interface Option {\n name: string;\n value: any;\n separator: boolean;\n}\n\n@Component({\n selector: 'gd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.less']\n})\nexport class SelectComponent {\n\n @Input() options: Option[];\n @Input() disabled = false;\n @Input() showSelected: Option;\n @Output() selected: EventEmitter = new EventEmitter();\n @Output() opened: EventEmitter = new EventEmitter();\n @Input() isOpen = false;\n @Input() icon: string;\n\n constructor(protected _onCloseService: OnCloseService) {\n _onCloseService.onClose.subscribe(() => {\n this.close();\n });\n }\n\n open() {\n if (!this.disabled) {\n this.isOpen = true;\n }\n }\n\n close() {\n this.isOpen = false;\n }\n\n onClickOutside(event : Event){\n this.close();\n }\n\n toggle($event) {\n // TODO: following lines were uncommented due to needness in signature app\n $event.preventDefault();\n $event.stopPropagation();\n if (!this.disabled) {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.opened.emit(true);\n }\n }\n\n select($event, value: Option) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selected.emit(value);\n this.close();\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdDisabledCursor]'\n})\nexport class DisabledCursorDirective implements OnInit, OnChanges {\n\n @Input() dis: boolean;\n\n constructor() {\n }\n\n @HostBinding('class.inactive') cursor: boolean;\n\n private updateCursor() {\n this.cursor = this.dis ? true : false;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdRotation]'\n})\nexport class RotationDirective implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() isHtmlMode: boolean;\n @Input() width: number;\n @Input() height: number;\n @Input() withMargin = true;\n\n @HostBinding('style.animation') animation: string;\n @HostBinding('style.transition-property') transition: string;\n @HostBinding('style.transform') transform: string;\n\n @HostBinding('style.margin') margin: string;\n\n constructor() {\n }\n\n private updateCursor() {\n if (typeof this.angle === \"string\"){\n this.angle = parseInt(this.angle, 10);\n }\n\n if (this.angle) {\n this.animation = 'none';\n this.transition = 'none';\n this.transform = 'rotate(' + this.angle + 'deg)';\n } else if (this.angle === 0 && this.animation) {\n this.animation = null;\n this.transition = null;\n this.transform = null;\n }\n\n if (this.withMargin) {\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\n if (this.isHtmlMode) {\n if (this.isLandscape()) {\n this.margin = '164px 254px';\n } else {\n this.margin = '-111px 254px';\n }\n } else {\n if (this.isLandscape()) {\n this.margin = '129px 100px -79px';\n } else {\n this.margin = '-72px 100px -79px';\n }\n }\n } else if (this.angle === -180 || this.angle === 180) {\n this.margin = '280px';\n } else {\n this.margin = null;\n }\n }\n\n }\n\n isLandscape() {\n return this.width > this.height;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n\n}\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-init-state',\n templateUrl: './init-state.component.html',\n styleUrls: ['./init-state.component.less']\n})\nexport class InitStateComponent implements OnInit {\n @Input() icon: string;\n @Input() text: string;\n @Output() fileDropped = new EventEmitter();\n showUploadFile = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n dropped($event) {\n if ($event) {\n this.fileDropped.emit($event);\n this.showUploadFile = false;\n }\n }\n}\n","import {Observable, Observer} from \"rxjs\";\nimport {PageModel} from \"./file.service\";\n\nexport class RenderPrintService {\n private _render: Observable;\n private _observer: Observer;\n private _renderBlob: Observable;\n private _observerBlob: Observer;\n\n constructor() {\n this._render = new Observable(observer =>\n this._observer = observer);\n this._renderBlob = new Observable(observer =>\n this._observerBlob = observer);\n }\n\n get renderPrint(): Observable {\n return this._render;\n }\n\n changePages(pages: PageModel[]) {\n this._observer.next(pages);\n }\n\n get renderPrintBlob(): Observable {\n return this._renderBlob;\n }\n\n changeBlob(file: Blob) {\n this._observerBlob.next(file);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {PageModel} from \"./file.service\";\nimport {RenderPrintService} from \"./render-print.service\";\n\n@Directive({\n selector: '[gdRenderPrint]'\n})\nexport class RenderPrintDirective {\n @Input() htmlMode: boolean;\n\n constructor(private _renderService: RenderPrintService) {\n _renderService.renderPrint.subscribe(pages => {\n this.renderPrint(pages);\n });\n _renderService.renderPrintBlob.subscribe(file => {\n this.renderPrintBlob(file);\n });\n }\n\n private renderPrint(pages: PageModel[]) {\n let pagesHtml = '';\n\n for (const page of pages) {\n pagesHtml += '
' +\n '
' +\n '
';\n }\n\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\n }\n\n private openWindow(pagesHtml, width, height) {\n const a4Height = 842;\n const a4Width = 595;\n let imageA4Adjusted = '';\n if(width > a4Width && height > a4Height){\n const zoom = Math.round(height / a4Height) / 100;\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\n }\n }\n let cssPrint = '';\n\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.document.writeln(cssPrint);\n windowObject.document.writeln(pagesHtml);\n windowObject.document.close();\n setTimeout(() => {\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }, 100);\n }\n\n private renderPrintBlob(file: Blob) {\n const fileURL = URL.createObjectURL(file);\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }\n}\n","import { HttpEvent } from \"@angular/common/http\";\nimport {BehaviorSubject, Observable} from \"rxjs\";\n\nexport class ExceptionMessageService {\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\n private _messageChange: Observable = this._observer.asObservable();\n\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\n\n constructor() {\n }\n\n get messageChange(): Observable {\n return this._messageChange;\n }\n\n get httpEventChange(): Observable> {\n return this._httpEventChange;\n }\n\n changeMessage(message: string) {\n this._observer.next(message);\n }\n\n changeHttpEvent(httpEvent:HttpEvent) {\n this._observerHttpEvent.next(httpEvent);\n }\n}\n","import {Component, OnInit} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\n\n@Component({\n selector: 'gd-error-modal',\n templateUrl: './error-modal.component.html',\n styleUrls: ['./error-modal.component.less']\n})\nexport class ErrorModalComponent implements OnInit {\n\n message: string;\n\n constructor(messageService: ExceptionMessageService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class PasswordService {\n private _observer: Subject = new Subject();\n private readonly _passChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get passChange(): Observable {\n return this._passChange;\n }\n\n setPassword(pass: string) {\n this._observer.next(pass);\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {PasswordService} from \"../password.service\";\nimport * as jquery from \"jquery\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-password-required',\n templateUrl: './password-required.component.html',\n styleUrls: ['./password-required.component.less']\n})\nexport class PasswordRequiredComponent implements OnInit {\n message: string;\n @Output() cancelEvent = new EventEmitter();\n\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n setPassword(value: string) {\n this._passwordService.setPassword(value);\n }\n\n onCloseOpen($event: boolean) {\n if ($event) {\n setTimeout(() => {\n const element = $(\"#password\");\n if (element) {\n element.focus();\n }\n }, 100);\n } else {\n $(\"#password\").val(\"\");\n }\n }\n\n cancel($event: boolean) {\n $(\"#password\").val(\"\");\n this.cancelEvent.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable, throwError} from \"rxjs\";\nimport {catchError, map} from \"rxjs/operators\";\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {HttpError} from \"./file.service\";\nimport {CommonModals, ModalService} from \"./modal.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptorService implements HttpInterceptor {\n\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\n\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const logFormat = 'background: maroon; color: white';\n\n return next.handle(req)\n .pipe(map(data => {\n return data;\n }),\n catchError((exception: HttpEvent) => {\n if (exception instanceof HttpErrorResponse) {\n switch (exception.status) {\n\n case HttpError.BadRequest:\n console.error('%c Bad Request 400', logFormat);\n break;\n case HttpError.Unauthorized:\n console.error('%c Unauthorized 401', logFormat);\n break;\n case HttpError.NotFound:\n console.error('%c Not Found 404', logFormat);\n break;\n case HttpError.TimeOut:\n console.error('%c TimeOut 408', logFormat);\n break;\n case HttpError.InternalServerError:\n console.error('%c big bad 500', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._messageService.changeHttpEvent(exception);\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\n break;\n\n case HttpError.Forbidden:\n console.error('%c Forbidden 403', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._modalService.open(CommonModals.PasswordRequired);\n break;\n }\n }\n return throwError(exception);\n }));\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class SearchService {\n private _observer: Subject = new Subject();\n private readonly _textChange: Observable = this._observer.asObservable();\n\n private _observerCurrent: Subject = new Subject();\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\n\n private _observerTotal: Subject = new Subject();\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\n\n constructor() {\n }\n\n get textChange(): Observable {\n return this._textChange;\n }\n\n setText(text: string) {\n this._observer.next(text);\n }\n\n get currentChange(): Observable {\n return this._currentChange;\n }\n\n get totalChange(): Observable {\n return this._totalChange;\n }\n\n setCurrent(current: number) {\n this._observerCurrent.next(current);\n }\n\n setTotal(total: number) {\n this._observerTotal.next(total);\n }\n}\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {SearchService} from \"../search.service\";\n\n@Component({\n selector: 'gd-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.less']\n})\nexport class SearchComponent implements OnInit, AfterViewInit {\n\n @Output() hidePanel = new EventEmitter(false);\n\n current = 0;\n total = 0;\n\n @ViewChild('text',{\n static : true\n }) textElement: ElementRef;\n\n constructor(private _searchService: SearchService) {\n _searchService.totalChange.subscribe((total: number) => {\n this.total = total;\n if (total !== 0) {\n this.current = 1;\n } else {\n this.current = 0;\n }\n this._searchService.setCurrent(this.current);\n });\n }\n\n ngOnInit() {\n }\n\n setText(text: string) {\n this._searchService.setText(text);\n }\n\n hide() {\n this.setText('');\n this.hidePanel.emit(true);\n }\n\n prev() {\n if (this.current > 1) {\n this.current--;\n this._searchService.setCurrent(this.current);\n }\n }\n\n next() {\n if (this.current < this.total) {\n this.current++;\n this._searchService.setCurrent(this.current);\n }\n }\n\n ngAfterViewInit(): void {\n this.textElement.nativeElement.focus();\n }\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {SearchService} from \"./search.service\";\nimport {HighlightSearchPipe} from \"./pipes\";\nimport {ZoomService} from \"./zoom.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdSearchable]'\n})\nexport class SearchableDirective {\n\n text: string;\n current = 0;\n total = 0;\n private zoom = 100;\n\n constructor(private _elementRef: ElementRef,\n private _searchService: SearchService,\n private _highlight: HighlightSearchPipe,\n private _zoomService: ZoomService) {\n _searchService.currentChange.subscribe((current: number) => {\n this.current = current;\n if (this.current !== 0) {\n this.moveToCurrent();\n }\n });\n\n _searchService.textChange.subscribe((text: string) => {\n this.text = text;\n this.highlightSearch();\n });\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n });\n }\n\n private highlightSearch() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n this.cleanHighlight(el);\n if (this.text) {\n this.highlightEl(el);\n const count = el.querySelectorAll('.gd-highlight').length;\n this.total = count;\n } else {\n this.total = 0;\n }\n this._searchService.setTotal(this.total);\n }\n }\n\n private moveToCurrent() {\n if (this.current === 0) {\n return;\n }\n const currentZoom = this.getZoom();\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\n $(value).removeClass('gd-highlight-select');\n });\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\n $(currentEl).addClass('gd-highlight-select');\n if (currentEl) {\n const options = {\n left: 0,\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\n };\n // using polyfill\n el.parentElement.parentElement.scroll(options);\n }\n }\n }\n\n private highlightEl(el: Element) {\n const textNodes = $(el).find('*').contents().filter(function () {\n const nodeName = this.parentElement.nodeName.toLowerCase();\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\n return this.nodeType === 3 &&\n this.textContent.trim().length !== 0 &&\n nodeName !== 'style' &&\n nodeName !== 'title' &&\n nodeName !== 'body' &&\n nodeName !== 'script' &&\n checkClass;\n });\n const text = this.text;\n const highlight = this._highlight;\n textNodes.each(function () {\n const $this = $(this);\n let content = $this.text();\n content = highlight.transform(content, text);\n $this.replaceWith(content);\n });\n el.normalize();\n }\n\n private cleanHighlight(el: HTMLElement) {\n const nodeListOf = el.querySelectorAll('.gd-highlight');\n for (let i = 0; i < nodeListOf.length; i++) {\n const element = nodeListOf.item(i);\n element.replaceWith((element).innerText);\n }\n el.normalize();\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tabbed-toolbars',\n templateUrl: './tabbed-toolbars.component.html',\n styleUrls: ['./tabbed-toolbars.component.less']\n})\nexport class TabbedToolbarsComponent implements OnInit {\n @Input() logo: string;\n @Input() icon: string;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class TabActivatorService {\n private _observer: Subject = new Subject();\n private readonly _activeTabChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get activeTabChange(): Observable {\n return this._activeTabChange;\n }\n\n changeActiveTab(tabId: string) {\n this._observer.next(tabId);\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {TabActivatorService} from \"../tab-activator.service\";\n\n@Component({\n selector: 'gd-tab',\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.less']\n})\nexport class TabComponent implements OnInit {\n @Input() id: string;\n @Input() tabTitle: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() active = false;\n @Input() content = true;\n\n constructor(private _tabActivatorService: TabActivatorService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = true;\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n selectTab() {\n if (this.disabled) {\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'gd-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.less']\n})\nexport class TabsComponent {\n constructor() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class Formatting {\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\n this.fontSize = fontSize;\n this.color = color;\n this.bgColor = bgColor;\n this.bold = bold;\n this.italic = italic;\n this.underline = underline;\n this.font = font;\n this.strikeout = strikeout;\n this.align = align;\n this.list = list;\n }\n\n bold: boolean;\n italic: boolean;\n underline: boolean;\n fontSize: number;\n color: string;\n bgColor: string;\n font: string;\n strikeout: boolean;\n align: string;\n list: string;\n\n public static default(): Formatting {\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\n }\n}\n\nexport class FormattingService {\n private _observerBold: Subject = new Subject();\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\n private _observerUnderline: Subject = new Subject();\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\n private _observerUndo: Subject = new Subject();\n private readonly _undo: Observable = this._observerUndo.asObservable();\n private _observerRedo: Subject = new Subject();\n private readonly _redo: Observable = this._observerRedo.asObservable();\n private _observerItalic: Subject = new Subject();\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\n private _observerColor: Subject = new Subject();\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\n private _observerBgColor: Subject = new Subject();\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\n private _observerFontSize: Subject = new Subject();\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\n private _observerFont: Subject = new Subject();\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\n private _observerStrikeout: Subject = new Subject();\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\n private _observerAlign: Subject = new Subject();\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\n private _observerList: Subject = new Subject();\n private readonly _formatListChange: Observable = this._observerList.asObservable();\n\n constructor() {\n }\n\n get formatBoldChange() {\n return this._formatBoldChange;\n }\n\n get formatUnderlineChange() {\n return this._formatUnderlineChange;\n }\n\n get formatColorChange() {\n return this._formatColorChange;\n }\n\n get formatBgColorChange() {\n return this._formatBgColorChange;\n }\n\n get formatFontSizeChange() {\n return this._formatFontSizeChange;\n }\n\n get formatFontChange() {\n return this._formatFontChange;\n }\n\n get undo() {\n return this._undo;\n }\n\n get redo() {\n return this._redo;\n }\n\n get formatItalicChange() {\n return this._formatItalicChange;\n }\n\n get formatStrikeoutChange() {\n return this._formatStrikeoutChange;\n }\n\n get formatAlignChange() {\n return this._formatAlignChange;\n }\n\n get formatListChange() {\n return this._formatListChange;\n }\n\n static createFontSizeOption(val: number) {\n return {value: val, name: val + 'px', separator: false}\n }\n\n static getFontSizeOptions() {\n return [\n FormattingService.createFontSizeOption(8),\n FormattingService.createFontSizeOption(10),\n FormattingService.createFontSizeOption(12),\n FormattingService.createFontSizeOption(14),\n FormattingService.createFontSizeOption(16),\n FormattingService.createFontSizeOption(18),\n FormattingService.createFontSizeOption(20),\n FormattingService.createFontSizeOption(22),\n FormattingService.createFontSizeOption(24),\n ];\n }\n\n static createFontOption(val: string) {\n return {value: val, name: val, separator: false}\n }\n\n static getFontOptions() {\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\n const fontOptions = [];\n fonts.forEach(font => {\n fontOptions.push(this.createFontOption(font));\n })\n\n return fontOptions;\n }\n\n changeFormatFontSize($event: number) {\n this._observerFontSize.next($event);\n }\n\n changeFormatBold(bold: boolean) {\n this._observerBold.next(bold);\n }\n\n changeFormatUnderline(underline: boolean) {\n this._observerUnderline.next(underline);\n }\n\n Undo() {\n this._observerUndo.next();\n }\n\n Redo() {\n this._observerRedo.next();\n }\n\n changeFormatItalic(italic: boolean) {\n this._observerItalic.next(italic);\n }\n\n changeFormatColor(color: string) {\n this._observerColor.next(color);\n }\n\n changeFormatBgColor(bgcolor: string) {\n this._observerBgColor.next(bgcolor);\n }\n\n changeFormatFont(font: string) {\n this._observerFont.next(font);\n }\n\n changeFormatStrikeout(strikeout: boolean) {\n this._observerStrikeout.next(strikeout);\n }\n\n changeFormatAlign(align: string) {\n this._observerAlign.next(align);\n }\n\n changeFormatList(list: string) {\n this._observerList.next(list);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\nconst DEFAULT_COLORS = [\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\n];\n\n@Component({\n selector: 'gd-color-picker',\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.less']\n})\nexport class ColorPickerComponent implements OnInit {\n @Input() isOpen = false;\n @Output() selectedColor = new EventEmitter();\n @Output() closeOutside = new EventEmitter();\n colors: any = DEFAULT_COLORS;\n white = '#FFFFFF';\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n select($event, color: string) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selectedColor.emit(color);\n }\n\n close() {\n this.isOpen = false;\n this.closeOutside.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BackFormattingService extends FormattingService {\n\n constructor() {\n super();\n }\n}\n","import {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SelectionService {\n selection: Range;\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n restoreSelection() {\n if(this.selection && !this.selection.collapsed || this.isIE){\n this.putSelection(this.selection );\n }\n }\n\n captureSelection() {\n const selection = window.getSelection();\n if (selection.rangeCount > 0) {\n this.selection = selection.getRangeAt(0);\n }\n }\n\n private putSelection(selection) {\n const sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(selection.cloneRange());\n }\n\n refreshSelection() {\n this.captureSelection();\n this.restoreSelection();\n }\n}\n","import {Directive, HostListener, OnInit} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport * as jquery from 'jquery';\nconst $ = jquery;\nimport {SelectionService} from './selection.service';\n\n@Directive({\n selector: '[gdFormatting]'\n})\nexport class FormattingDirective implements OnInit {\n\n private bold = false;\n private italic = false;\n private underline = false;\n private color: string;\n private bgColor: string;\n private font: string;\n private strikeout = false;\n private align: string;\n private list: string;\n private isIE = false;\n\n constructor(private _formattingService: FormattingService,\n private _backFormattingService: BackFormattingService,\n private _selectionService: SelectionService) {\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n }\n\n @HostListener('mouseup') mouseup() {\n\n this.bold = document.queryCommandState(\"bold\");\n this.strikeout = document.queryCommandState(\"strikeThrough\");\n this.italic = document.queryCommandState(\"italic\");\n this.bgColor = document.queryCommandValue(\"backColor\");\n this.underline = document.queryCommandState(\"underline\");\n this.align = this.checkJustify();\n this.list = this.checkList();\n\n //fix required by FireFox to get correct background color\n if (this.bgColor === \"transparent\") {\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\n }\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\n if(this.font.split(\",\").length > 1){\n this.font = this.font.split(\",\")[0];\n }\n this.color = document.queryCommandValue(\"foreColor\");\n this._backFormattingService.changeFormatBold(this.bold);\n this._backFormattingService.changeFormatUnderline(this.underline);\n this._backFormattingService.changeFormatItalic(this.italic);\n this._backFormattingService.changeFormatColor(this.color);\n this._backFormattingService.changeFormatBgColor(this.bgColor);\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\n this._backFormattingService.changeFormatFont(this.font);\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\n this._backFormattingService.changeFormatAlign(this.align);\n this._backFormattingService.changeFormatList(this.list);\n }\n\n private checkJustify() {\n let align = \"\";\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\n return align;\n }\n\n private checkList() {\n let list = \"\";\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\n return list;\n }\n\n reportFontSize(): number {\n let containerEl, sel;\n if (window.getSelection) {\n sel = window.getSelection();\n if (sel.rangeCount) {\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\n // Make sure we have an element rather than a text node\n if (containerEl.nodeType === 3) {\n containerEl = containerEl.parentNode;\n }\n }\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\n containerEl = sel.createRange().parentElement();\n }\n\n if (containerEl) {\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\n }\n }\n\n getComputedStyleProperty(el, propName) {\n if (window.getComputedStyle) {\n return window.getComputedStyle(el, null)[propName];\n } else if (el.currentStyle) {\n return el.currentStyle[propName];\n }\n }\n\n ngOnInit(): void {\n this._formattingService.undo.subscribe(() => {\n this.toggleUndo();\n });\n this._formattingService.redo.subscribe(() => {\n this.toggleRedo();\n });\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\n this.bold = bold;\n this.toggleBold();\n });\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\n this.underline = underline;\n this.toggleUnderline();\n });\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\n this.italic = italic;\n this.toggleItalic();\n });\n this._formattingService.formatColorChange.subscribe(((color: string) => {\n this.color = color;\n this.setColor(color);\n }));\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\n this.bgColor = bgcolor;\n this.setBgColor(bgcolor);\n }));\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\n this.setFontSize(fontSize);\n }));\n\n this._formattingService.formatFontChange.subscribe(((font: string) => {\n this.font = font;\n this.setFont(font);\n }));\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\n this.strikeout = strikeout;\n this.toggleStrikeout();\n });\n this._formattingService.formatAlignChange.subscribe((align: string) => {\n this.align = align;\n this.toggleAlign(this.align);\n });\n this._formattingService.formatListChange.subscribe((list: string) => {\n const remove = this.list === list;\n this.list = list;\n this.toggleList(this.list, remove);\n });\n }\n\n private toggleBold() {\n document.execCommand(\"bold\");\n this._selectionService.refreshSelection();\n }\n\n private toggleUnderline() {\n document.execCommand(\"underline\");\n this._selectionService.refreshSelection();\n }\n\n private toggleItalic() {\n document.execCommand(\"italic\");\n this._selectionService.refreshSelection();\n }\n\n private setBgColor(bgColor: string) {\n document.execCommand(\"backColor\", false, bgColor);\n this._selectionService.refreshSelection();\n }\n\n private setColor(color: string) {\n document.execCommand(\"foreColor\", false, color);\n this._selectionService.refreshSelection();\n }\n\n private setFontSize(fontSize: number) {\n if (document.getSelection().toString()) {\n let spanString = \"\" +\n document.getSelection() + \"\";\n if (this.bold) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.italic) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.underline) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.strikeout) {\n spanString = \"\" + spanString + \"\";\n }\n document.execCommand('insertHTML', false, spanString);\n } else {\n document.execCommand(\"fontsize\", false, \"7\");\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleUndo() {\n document.execCommand(\"undo\");\n }\n\n private toggleRedo() {\n document.execCommand(\"redo\");\n }\n\n private setFont(font: string) {\n document.execCommand(\"fontName\", false, font);\n this._selectionService.refreshSelection();\n }\n\n private toggleStrikeout() {\n document.execCommand(\"strikeThrough\");\n this._selectionService.refreshSelection();\n }\n\n private toggleAlign(align: string) {\n if(this.isIE) {\n this.toggleAlignIE(align);\n return;\n }\n document.execCommand(\"styleWithCSS\", false, 'true');\n switch (align) {\n case 'center':\n document.execCommand('justifyCenter');\n break;\n case 'full':\n document.execCommand('justifyFull');\n break;\n case 'left':\n document.execCommand('justifyLeft');\n break;\n case 'right':\n document.execCommand('justifyRight');\n break;\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleAlignIE(align: string) {\n this._selectionService.restoreSelection()\n this._selectionService.captureSelection()\n const selection = window.getSelection().focusNode.parentNode.parentNode;\n if(align === \"full\"){\n align = \"justify\";\n }\n $(selection).css(\"text-align\", align);\n this._selectionService.refreshSelection()\n }\n\n private toggleList(list: string, remove: boolean) {\n switch (list) {\n case 'unordered':\n document.execCommand('insertUnorderedList', remove);\n break;\n case 'ordered':\n document.execCommand('insertOrderedList', remove);\n break;\n }\n this._selectionService.refreshSelection();\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'gd-success-modal',\n templateUrl: './success-modal.component.html',\n styleUrls: ['./success-modal.component.less']\n})\nexport class SuccessModalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EditHtmlService {\n private _observer: Subject = new Subject();\n private readonly _htmlContent: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get observer(): Subject {\n return this._observer;\n }\n\n get htmlContent(): Observable {\n return this._htmlContent;\n }\n\n}\n","import {Directive, HostListener, Input} from '@angular/core';\nimport {SelectionService} from './selection.service';\nimport {EditHtmlService} from \"./edit-html.service\";\n\n@Directive({\n selector: '[gdEditor]'\n})\nexport class EditorDirective {\n @Input() text: any;\n\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\n }\n\n @HostListener('keyup', ['$event'])\n public onInput(event) {\n this.text = event.target;\n if(this.isIE){\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n }\n }\n }\n\n @HostListener('mouseleave', ['$event'])\n public onMouseleave(event) {\n this._selectionService.captureSelection();\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\n if(this.isIE){\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n\n @HostListener('blur', ['$event'])\n public onBlur(event) {\n event.preventDefault();\n this._selectionService.restoreSelection();\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n } else {\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core'\nimport {HttpRequest} from '@angular/common/http';\nimport {Api} from \"./config.service\";\n\n@Injectable()\nexport class LoadingMaskService {\n onLoadingChanged: EventEmitter = new EventEmitter();\n\n private stopList = [];\n private requests: HttpRequest[] = [];\n\n constructor() {\n this.stopList.push(Api.SAVE_TEXT);\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\n this.stopList.push(Api.LOAD_THUMBNAILS);\n this.stopList.push(Api.GET_FILE_STATUS);\n this.stopList.push(Api.LOAD_PRINT);\n }\n\n onRequestStart(req: HttpRequest): void {\n const stop = this.stopList.find(x => req.url.includes(x));\n if (!stop) {\n this.requests.push(req);\n this.notify();\n }\n }\n\n onRequestFinish(req: HttpRequest): void {\n const index = this.requests.indexOf(req);\n if (index !== -1) {\n this.requests.splice(index, 1);\n }\n this.notify();\n }\n\n addStopUrl(url: string) {\n this.stopList.push(url);\n }\n\n private notify(): void {\n this.onLoadingChanged.emit(this.requests.length !== 0);\n }\n}\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\nimport {LoadingMaskService} from \"../loading-mask.service\";\n\n@Component({\n selector: 'gd-loading-mask',\n templateUrl: './loading-mask.component.html',\n styleUrls: ['./loading-mask.component.less']\n})\n\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\n @Input() loadingMask = false;\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit() {\n this._loadingMaskService\n .onLoadingChanged\n .subscribe((loading: boolean) => this.loadingMask = loading);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport {finalize} from 'rxjs/operators'\nimport {LoadingMaskService} from \"./loading-mask.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n this._loadingMaskService.onRequestStart(req);\n const callback = () => this._loadingMaskService.onRequestFinish(req);\n return next.handle(req).pipe( finalize( callback));\n }\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\n\nconst horizontalAlignment = {\n center : {\n right: 'auto'\n },\n left : {\n right: '100%'\n },\n right : {\n right: '-100%'\n }\n};\n\nconst verticalAlignment = {\n center : {\n top : '0px',\n },\n top : {\n top : '-100%',\n right: '100%'\n },\n bottom : {\n top: 'autos'\n }\n};\n\n/**\n * DropDownToggleComponent\n */\n@Component({\n selector: 'gd-drop-down-toggle',\n template: '',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownToggleComponent{\n @HostListener('click',['$event'])\n click = (event: any) => this.dropdown.toggle(event);\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n}\n\n/**\n * DropDownItemsComponent\n */\n@Component({\n selector: 'gd-drop-down-items',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownItemsComponent{\n\n get horizontalAlign(){\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\n }\n\n get verticalAlign(){\n return verticalAlignment[this.dropdown.getPlacement().v].top;\n }\n\n get isOpen(){\n return this.dropdown.open;\n }\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n onClickOutside(event : Event ){\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownItemComponent\n */\n@Component({\n selector: 'gd-drop-down-item',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n})\nexport class DropDownItemComponent{\n @HostBinding('class')\n class = 'drop-down-item';\n\n @Output()\n selected = new EventEmitter();\n\n @HostListener('click')\n click = () => this.selectEntry();\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n selectEntry(){\n this.selected.next();\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownComponent\n */\n@Component({\n selector: 'gd-drop-down',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownComponent{\n @Input()\n placement = {\n h: \"center\",\n v: \"bottom\"\n };\n\n\n @Input()\n @HostBinding('class.show')\n open = false;\n\n @HostBinding('class')\n class = 'drop-down';\n\n close(){\n this.open = false;\n }\n\n toggle(event : MouseEvent){\n event.stopPropagation();\n this.open = !this.open;\n document.body.click();\n }\n\n getPlacement(){\n return this.placement;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-left-side-bar',\n templateUrl: './left-side-bar.component.html',\n styleUrls: ['./left-side-bar.component.less']\n})\nexport class LeftSideBarComponent implements OnInit {\n @Input() showSpinner = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\n\n@Directive({\n selector: '[gdTooltip]'\n})\nexport class TooltipDirective {\n\n @Output() showToolTip = new EventEmitter();\n\n constructor() {\n }\n\n @HostListener('mouseenter')\n public onHovering() {\n this.showToolTip.emit(true);\n }\n\n @HostListener('mouseleave')\n public onUnhovering() {\n this.showToolTip.emit(false);\n }\n\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Injectable,\n ViewContainerRef\n} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddDynamicComponentService {\n\n constructor(private _factoryResolver: ComponentFactoryResolver,\n private _appRef: ApplicationRef) {\n }\n\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\n const factory = this._factoryResolver.resolveComponentFactory(component);\n const componentRef = viewContainerRef.createComponent(factory);\n\n componentRef.onDestroy(() => {\n this._appRef.detachView(componentRef.hostView);\n });\n\n return componentRef;\n }\n\n}\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\n\nexport class HostingDynamicComponentService {\n private hosts: HostDynamicDirective[];\n\n constructor() {\n this.hosts = [];\n }\n\n add(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n this.hosts.push(host);\n }\n\n remove(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n }\n\n find(ident: number) {\n return this.hosts.find(function (h) {\n return h.ident === ident;\n });\n }\n}\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\n\n@Directive({\n selector: '[gdHostDynamic]'\n})\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\n @Input() ident: number;\n\n constructor(public viewContainerRef: ViewContainerRef,\n private _hostingService: HostingDynamicComponentService) {\n }\n\n ngAfterViewInit(): void {\n this._hostingService.add(this);\n }\n\n ngOnDestroy(): void {\n this._hostingService.remove(this);\n this.viewContainerRef.clear();\n }\n\n}\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nimport {Utils} from \"../file.service\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-resizing',\n templateUrl: './resizing.component.html',\n styleUrls: ['./resizing.component.less']\n})\nexport class ResizingComponent implements OnInit, AfterViewInit {\n\n @Input() init: boolean;\n @Input() id: number;\n @Input() se = false;\n @Input() ne = false;\n @Input() sw = false;\n @Input() nw = false;\n @Input() pageWidth: number;\n @Input() pageHeight: number;\n SE = 'se';\n NE = 'ne';\n SW = 'sw';\n NW = 'nw';\n\n @Output() offsetX = new EventEmitter();\n @Output() offsetY = new EventEmitter();\n @Output() offsetTop = new EventEmitter();\n @Output() offsetLeft = new EventEmitter();\n @Output() release = new EventEmitter();\n\n private grab = false;\n private oldPosition: { x: number, y: number };\n\n constructor() {\n }\n\n ngAfterViewInit(): void {\n const elSE = $(this.getElementId(this.SE));\n const elNW = $(this.getElementId(this.NW));\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\n let width = elSE.offset().left - elNW.offset().left;\n let height = elSE.offset().top - elNW.offset().top;\n while (width >= this.pageWidth || height >= this.pageHeight) {\n width = width / 2;\n height = height / 2;\n }\n setTimeout(() => {\n this.offsetX.emit(width);\n this.offsetY.emit(height);\n }, 100);\n }\n }\n\n ngOnInit() {\n }\n\n catchUp($event: DragEvent) {\n // ff\n $event.preventDefault();\n if ($event.dataTransfer) { // ff\n $event.dataTransfer.setData('text', 'foo');\n }\n this.grab = true;\n this.oldPosition = Utils.getMousePosition($event);\n }\n\n resize($event: DragEvent, el: string) {\n if (!this.grab) {\n return;\n }\n const position = Utils.getMousePosition($event);\n if (position.x === 0 && position.y === 0) {\n return;\n }\n const notSW = this.NE === el || this.NW === el;\n const notNE = this.SW === el || this.NW === el;\n this.setOffsets(position, notNE, notSW);\n if (notSW) {\n this.offsetTop.emit(position.y - this.oldPosition.y);\n }\n if (notNE) {\n this.offsetLeft.emit(position.x - this.oldPosition.x);\n }\n this.oldPosition = position;\n }\n\n private setOffsets(position, x: boolean, y: boolean) {\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\n this.offsetX.emit(offsetX);\n this.offsetY.emit(offsetY);\n }\n\n end($event: DragEvent, el: string) {\n // ff\n this.resize($event, el);\n this.release.emit(true);\n this.grab = false;\n }\n\n start($event: DragEvent) {\n this.drop($event);\n }\n\n drop($event: DragEvent) {\n $event.stopPropagation();\n $event.preventDefault();\n }\n\n private getElementId(el: string) {\n return \"#\" + el + \"-\" + this.id;\n }\n}\n","import {TabActivatorService} from \"./tab-activator.service\";\n\nexport class TopTabActivatorService extends TabActivatorService {\n\n constructor() {\n super();\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\nimport {ModalService, CommonModals} from \"../modal.service\";\n\n@Component({\n selector: 'gd-top-tab',\n templateUrl: './top-tab.component.html',\n styleUrls: ['./top-tab.component.less']\n})\nexport class TopTabComponent implements OnInit {\n @Input() id: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() tooltip: string;\n @Output() activeTab = new EventEmitter();\n @Input() elementPosition = 0;\n public active = false;\n public showToolTip = false;\n\n constructor(private _tabActivatorService: TopTabActivatorService,\n private _modalService: ModalService,\n private _excMessageService: ExceptionMessageService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n if (tabId === null) {\n this.activeTab.emit(\"\");\n }\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = !this.active;\n if (this.active) {\n this.activeTab.emit(this.id);\n } else {\n this.activeTab.emit(\"\");\n }\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n toggleTab() {\n if (this.disabled) {\n this._modalService.open(CommonModals.ErrorMessage);\n this._excMessageService.changeMessage(\"Please open document first\");\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\nimport * as jquery from 'jquery';\nimport {FormattingService} from \"../formatting.service\";\nimport {OnCloseService} from \"../on-close.service\";\nimport {Option} from \"../select/select.component\";\nimport { ZoomService } from '../zoom.service';\nimport { WindowService } from '../window.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-text-menu',\n templateUrl: './text-menu.component.html',\n styleUrls: ['./text-menu.component.less']\n})\nexport class TextMenuComponent implements OnInit {\n @Input() blur: boolean;\n @Input() fontSize: number;\n @Input() font: string;\n @Input() bold: boolean;\n @Input() italic: boolean;\n @Input() underline: boolean;\n @Input() color: string;\n @Input() decoration = true;\n @Input() showTooltips = true;\n\n @Output() outFontSize = new EventEmitter();\n @Output() outFont = new EventEmitter();\n @Output() outBold = new EventEmitter();\n @Output() outItalic = new EventEmitter();\n @Output() outUnderline = new EventEmitter();\n @Output() outColor = new EventEmitter();\n\n fontSizeOptions = FormattingService.getFontSizeOptions();\n fontOptions = FormattingService.getFontOptions();\n colorPickerShow = false;\n\n isMobile: boolean;\n\n constructor(private _onCloseService: OnCloseService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n \n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changePosition(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changePosition(val: number) {\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\n }\n\n selectFontSize($event: Option) {\n $(\".gd-wrapper\").off(\"keyup\");\n this.outFontSize.emit($event.value);\n $(\".gd-wrapper\").on(\"keyup\", () => {\n const fontElements = document.getElementsByTagName(\"font\");\n for (let i = 0, len = fontElements.length; i < len; ++i) {\n if (fontElements[i].getAttribute('size') === \"7\") {\n fontElements[i].removeAttribute(\"size\");\n fontElements[i].style.fontSize = $event + \"px\";\n }\n }\n });\n }\n\n selectFont($event: Option) {\n event.preventDefault();\n event.stopPropagation();\n this.outFont.emit($event.value);\n }\n\n toggleColorPicker($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.colorPickerShow = !this.colorPickerShow;\n }\n\n selectColor($event: string) {\n this.colorPickerShow = false;\n this.outColor.emit($event);\n }\n\n toggleBold(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outBold.emit(!this.bold);\n }\n\n toggleItalic(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outItalic.emit(!this.italic);\n }\n\n toggleUnderline(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outUnderline.emit(!this.underline);\n }\n\n closePicker($event) {\n this.colorPickerShow = !$event;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.service\";\nimport { ZoomService } from '../zoom.service';\n\nexport class MenuType {\n public static FOR_SIGNATURE = \"signature\";\n public static FOR_ANNOTATION = \"annotation\";\n}\n\n@Component({\n selector: 'gd-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.less']\n})\nexport class ContextMenuComponent implements OnInit {\n @Input() formatting: Formatting = Formatting.default();\n @Input() textMenu: boolean;\n @Input() topPosition: number;\n @Input() lock = false;\n @Input() translation = 0;\n @Input() menuType: string;\n @Output() changeFormatting = new EventEmitter();\n @Output() removeItem = new EventEmitter();\n @Output() copySign = new EventEmitter();\n @Output() lockOut = new EventEmitter();\n @Output() comment = new EventEmitter();\n\n isMobile: boolean;\n\n constructor(private _windowService: WindowService,\n private _zoomService: ZoomService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changeScale(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changeScale(val: number){\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\n }\n\n saveChanges() {\n this.changeFormatting.emit(this.formatting);\n }\n\n selectFontSize($event: number) {\n this.formatting.fontSize = $event;\n this.saveChanges();\n }\n\n selectFont($event: string) {\n this.formatting.font = $event;\n this.saveChanges();\n }\n\n selectColor($event: string) {\n this.formatting.color = $event;\n this.saveChanges();\n }\n\n toggleBold($event) {\n this.formatting.bold = $event;\n this.saveChanges();\n }\n\n toggleItalic($event) {\n this.formatting.italic = $event;\n this.saveChanges();\n }\n\n toggleUnderline($event) {\n this.formatting.underline = $event;\n this.saveChanges();\n }\n\n deleteItem() {\n this.removeItem.emit(true);\n }\n\n toggleLock() {\n this.lock = !this.lock;\n this.lockOut.emit(this.lock);\n }\n\n onCopySign() {\n this.copySign.emit(true);\n }\n\n isSignature() {\n return this.menuType === MenuType.FOR_SIGNATURE;\n }\n\n isAnnotation() {\n return this.menuType === MenuType.FOR_ANNOTATION;\n }\n\n addComment() {\n this.comment.emit(true);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\nimport {SidePanelComponent} from './side-panel/side-panel.component';\nimport {ButtonComponent} from './button/button.component';\nimport {LogoComponent} from './logo/logo.component';\nimport {TooltipComponent} from './tooltip/tooltip.component';\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons';\nimport {far} from '@fortawesome/free-regular-svg-icons';\nimport {Api, ConfigService,} from \"./config.service\";\nimport {ModalService} from \"./modal.service\";\nimport {ModalComponent} from './modal/modal.component';\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\nimport {DocumentComponent} from './document/document.component';\nimport {PageComponent} from './page/page.component';\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\nimport {UploadFilesService} from \"./upload-files.service\";\nimport {DndDirective} from './dnd.directive';\nimport {ScrollableDirective} from './scrollable.directive';\nimport {MouseWheelDirective} from './mousewheel.directive';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomDirective} from './zoom.directive';\nimport {ZoomService} from \"./zoom.service\";\nimport {SelectComponent} from './select/select.component';\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\nimport {RotationDirective} from './rotation.directive';\nimport {InitStateComponent} from './init-state/init-state.component';\nimport {RenderPrintService} from \"./render-print.service\";\nimport {RenderPrintDirective} from './render-print.directive';\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {PasswordService} from \"./password.service\";\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\nimport {SearchComponent} from './search/search.component';\nimport {SearchableDirective} from './searchable.directive';\nimport {SearchService} from \"./search.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\nimport {TabComponent} from \"./tab/tab.component\";\nimport {TabsComponent} from \"./tabs/tabs.component\";\nimport {FormattingService} from \"./formatting.service\";\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\nimport {FormattingDirective} from './formatting.directive';\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport {OnCloseService} from \"./on-close.service\";\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\nimport {EditorDirective} from './editor.directive';\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\nimport {LoadingMaskService} from './loading-mask.service';\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\nimport {TabActivatorService} from \"./tab-activator.service\";\nimport {\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent\n} from './drop-down/drop-down.component';\nimport {ClickOutsideModule} from 'ng-click-outside';\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\nimport {TooltipDirective} from './tooltip.directive';\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\nimport {HostDynamicDirective} from './host-dynamic.directive';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\nimport {ResizingComponent} from './resizing/resizing.component';\nimport {TopTabComponent} from './top-tab/top-tab.component';\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\nimport {TextMenuComponent} from './text-menu/text-menu.component';\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\n\nconst providers = [ConfigService,\n Api,\n ModalService,\n FileService,\n FileModel,\n FileUtil,\n Utils,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFilesService,\n RenderPrintService,\n NavigateService,\n PagePreloadService,\n ZoomService,\n ExceptionMessageService,\n PasswordService,\n ErrorInterceptorService,\n SearchService,\n WindowService,\n ViewportService,\n FormattingService,\n BackFormattingService,\n OnCloseService,\n LoadingMaskInterceptorService,\n LoadingMaskService,\n TabActivatorService,\n AddDynamicComponentService,\n HostingDynamicComponentService,\n TopTabActivatorService];\n\n@NgModule({\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\n declarations: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFileZoneComponent,\n DndDirective,\n ScrollableDirective,\n MouseWheelDirective,\n ZoomDirective,\n SelectComponent,\n DisabledCursorDirective,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n EditorDirective,\n LoadingMaskComponent,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n exports: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n SanitizeHtmlPipe,\n UploadFileZoneComponent,\n ScrollableDirective,\n MouseWheelDirective,\n SelectComponent,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n LoadingMaskComponent,\n DndDirective,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n ZoomDirective,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n providers: providers\n})\nexport class CommonComponentsModule {\n constructor() {\n library.add(fas, far);\n }\n}\n"],"names":["Component","EventEmitter","Input","Output","Subject","fromEvent","debounceTime","distinctUntilChanged","startWith","tap","HttpHeaders","Injectable","ElementRef","tslib_1.__extends","Observable","$","Pipe","DomSanitizer","Directive","HostBinding","HostListener","tslib_1.__values","BehaviorSubject","map","catchError","HttpErrorResponse","throwError","ViewChild","finalize","ViewEncapsulation","Inject","forwardRef","ComponentFactoryResolver","ApplicationRef","ViewContainerRef","Renderer2","library","fas","far","NgModule","CommonModule","FontAwesomeModule","ClickOutsideModule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"groupdocs.examples.angular-common-components.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n pageNumber: number;\r\n\r\n constructor(guid: string, password: string, content: string, pageNumber: number) {\r\n super(guid, password);\r\n this.content = content;\r\n this.pageNumber = pageNumber;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\r\n }\r\n\r\n ngOnInit() {\r\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n if(isIE && this.number === 0){\r\n this.editable = false;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.isHtml) {\r\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \r\n // which leads to undesired spaces on the top of the docs pages\r\n this.data = this.data \r\n ? this.data.replace(/>\\s+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : null;\r\n } else {\r\n this.imgData = 'data:image/png;base64,' + this.data;\r\n }\r\n\r\n this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2, Output, EventEmitter } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n @Output() selectedSheet = new EventEmitter();\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n this.selectedSheet.emit(number);\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.less']\r\n})\r\nexport class PageComponent implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() number: number;\r\n @Input() data: string;\r\n @Input() isHtml: boolean;\r\n @Input() editable: boolean;\r\n imgData: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n if(isIE && this.number === 0){\r\n this.editable = false;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.isHtml) {\r\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \r\n // which leads to undesired spaces on the top of the docs pages\r\n this.data = this.data \r\n ? this.data.replace(/>\\s+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : null;\r\n } else {\r\n this.imgData = 'data:image/png;base64,' + this.data;\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\r\n\r\n@Pipe({name: 'safeHtml'})\r\nexport class SanitizeHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeResourceHtml'})\r\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeStyle'})\r\nexport class SanitizeStylePipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustStyle(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'highlight'})\r\nexport class HighlightSearchPipe implements PipeTransform {\r\n\r\n transform(value: string, args: string): any {\r\n if (!args) {\r\n return value;\r\n }\r\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\r\n return value.replace(re, \"$&\");\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\n\r\n@Component({\r\n selector: 'gd-upload-file-zone',\r\n templateUrl: './upload-file-zone.component.html',\r\n styleUrls: ['./upload-file-zone.component.less']\r\n})\r\nexport class UploadFileZoneComponent implements OnInit {\r\n\r\n @Output() closeUpload = new EventEmitter();\r\n\r\n constructor(private _uploadService: UploadFilesService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n this.onCloseUpload();\r\n }\r\n\r\n onCloseUpload() {\r\n this.closeUpload.emit(true);\r\n }\r\n\r\n close($event) {\r\n if ($event.target.id === 'gd-dropZone') {\r\n this.onCloseUpload();\r\n }\r\n }\r\n}\r\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\n\r\n@Directive({\r\n selector: '[gdDnd]'\r\n})\r\nexport class DndDirective {\r\n\r\n @Output() closing = new EventEmitter();\r\n @Output() opening = new EventEmitter();\r\n @Output() dropped = new EventEmitter();\r\n\r\n @HostBinding('class.active') active = false;\r\n\r\n private dragCounter = 0;\r\n\r\n constructor(protected _uploadFilesService: UploadFilesService) {\r\n }\r\n\r\n @HostListener('dragenter', ['$event'])\r\n public onDragEnter(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter++;\r\n this.active = true;\r\n this.opening.emit(true);\r\n }\r\n\r\n @HostListener('dragover', ['$event'])\r\n public onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n return false;\r\n }\r\n\r\n @HostListener('dragleave', ['$event'])\r\n public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter--;\r\n if (this.dragCounter === 0) {\r\n this.active = false;\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n public onDrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n const files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.active = false;\r\n this.dropped.emit(true);\r\n this._uploadFilesService.changeFilesList(files);\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick(event) {\r\n this.closeArea();\r\n }\r\n\r\n private closeArea() {\r\n this.closing.emit(true);\r\n this.opening.emit(false);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ViewportService {\r\n\r\n constructor() {\r\n }\r\n\r\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\r\n if (!el) {\r\n return false;\r\n }\r\n const x = deltaX;\r\n const y = 0.5;\r\n\r\n const win = $(window);\r\n\r\n const viewport = {\r\n top: win.scrollTop(),\r\n left: win.scrollLeft() + leftOffset,\r\n right: win.scrollLeft() + win.width() - 10,\r\n bottom: win.scrollTop() + win.height()\r\n };\r\n\r\n\r\n if (isNaN(zoom)) {\r\n zoom = 100;\r\n }\r\n\r\n const zoomN = zoom / 100;\r\n const height = $(el).outerHeight() * (zoomN);\r\n const width = $(el).outerWidth() * (zoomN);\r\n\r\n if (!width || !height) {\r\n return false;\r\n }\r\n\r\n const bounds = $(el).offset();\r\n const right = (bounds.left * (zoomN)) + width;\r\n const bottom = (bounds.top * (zoomN)) + height;\r\n\r\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\r\n\r\n if (!visible) {\r\n return false;\r\n }\r\n\r\n const deltas = {\r\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\r\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\r\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\r\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\r\n };\r\n\r\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdScrollable]'\r\n})\r\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\r\n\r\n private currentPage: number;\r\n private zoom = 100;\r\n private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Output() opened: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n if (this.isOpen) this.opened.emit(true);\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import { HttpEvent } from \"@angular/common/http\";\r\nimport {BehaviorSubject, Observable} from \"rxjs\";\r\n\r\nexport class ExceptionMessageService {\r\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\r\n private _messageChange: Observable = this._observer.asObservable();\r\n\r\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\r\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n get httpEventChange(): Observable> {\r\n return this._httpEventChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\r\n }\r\n\r\n changeHttpEvent(httpEvent:HttpEvent) {\r\n this._observerHttpEvent.next(httpEvent);\r\n }\r\n}\r\n","import {Component, OnInit} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\n\r\n@Component({\r\n selector: 'gd-error-modal',\r\n templateUrl: './error-modal.component.html',\r\n styleUrls: ['./error-modal.component.less']\r\n})\r\nexport class ErrorModalComponent implements OnInit {\r\n\r\n message: string;\r\n\r\n constructor(messageService: ExceptionMessageService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class PasswordService {\r\n private _observer: Subject = new Subject();\r\n private readonly _passChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get passChange(): Observable {\r\n return this._passChange;\r\n }\r\n\r\n setPassword(pass: string) {\r\n this._observer.next(pass);\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {PasswordService} from \"../password.service\";\r\nimport * as jquery from \"jquery\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-password-required',\r\n templateUrl: './password-required.component.html',\r\n styleUrls: ['./password-required.component.less']\r\n})\r\nexport class PasswordRequiredComponent implements OnInit {\r\n message: string;\r\n @Output() cancelEvent = new EventEmitter();\r\n\r\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setPassword(value: string) {\r\n this._passwordService.setPassword(value);\r\n }\r\n\r\n onCloseOpen($event: boolean) {\r\n if ($event) {\r\n setTimeout(() => {\r\n const element = $(\"#password\");\r\n if (element) {\r\n element.focus();\r\n }\r\n }, 100);\r\n } else {\r\n $(\"#password\").val(\"\");\r\n }\r\n }\r\n\r\n cancel($event: boolean) {\r\n $(\"#password\").val(\"\");\r\n this.cancelEvent.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable, throwError} from \"rxjs\";\r\nimport {catchError, map} from \"rxjs/operators\";\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {HttpError} from \"./file.service\";\r\nimport {CommonModals, ModalService} from \"./modal.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorInterceptorService implements HttpInterceptor {\r\n\r\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\r\n\r\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const logFormat = 'background: maroon; color: white';\r\n\r\n return next.handle(req)\r\n .pipe(map(data => {\r\n return data;\r\n }),\r\n catchError((exception: HttpEvent) => {\r\n if (exception instanceof HttpErrorResponse) {\r\n switch (exception.status) {\r\n\r\n case HttpError.BadRequest:\r\n console.error('%c Bad Request 400', logFormat);\r\n break;\r\n case HttpError.Unauthorized:\r\n console.error('%c Unauthorized 401', logFormat);\r\n break;\r\n case HttpError.NotFound:\r\n console.error('%c Not Found 404', logFormat);\r\n break;\r\n case HttpError.TimeOut:\r\n console.error('%c TimeOut 408', logFormat);\r\n break;\r\n case HttpError.InternalServerError:\r\n console.error('%c big bad 500', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._messageService.changeHttpEvent(exception);\r\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\r\n break;\r\n\r\n case HttpError.Forbidden:\r\n console.error('%c Forbidden 403', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._modalService.open(CommonModals.PasswordRequired);\r\n break;\r\n }\r\n }\r\n return throwError(exception);\r\n }));\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class SearchService {\r\n private _observer: Subject = new Subject();\r\n private readonly _textChange: Observable = this._observer.asObservable();\r\n\r\n private _observerCurrent: Subject = new Subject();\r\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\r\n\r\n private _observerTotal: Subject = new Subject();\r\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get textChange(): Observable {\r\n return this._textChange;\r\n }\r\n\r\n setText(text: string) {\r\n this._observer.next(text);\r\n }\r\n\r\n get currentChange(): Observable {\r\n return this._currentChange;\r\n }\r\n\r\n get totalChange(): Observable {\r\n return this._totalChange;\r\n }\r\n\r\n setCurrent(current: number) {\r\n this._observerCurrent.next(current);\r\n }\r\n\r\n setTotal(total: number) {\r\n this._observerTotal.next(total);\r\n }\r\n}\r\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {SearchService} from \"../search.service\";\r\n\r\n@Component({\r\n selector: 'gd-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.less']\r\n})\r\nexport class SearchComponent implements OnInit, AfterViewInit {\r\n\r\n @Output() hidePanel = new EventEmitter(false);\r\n\r\n current = 0;\r\n total = 0;\r\n\r\n @ViewChild('text',{\r\n static : true\r\n }) textElement: ElementRef;\r\n\r\n constructor(private _searchService: SearchService) {\r\n _searchService.totalChange.subscribe((total: number) => {\r\n this.total = total;\r\n if (total !== 0) {\r\n this.current = 1;\r\n } else {\r\n this.current = 0;\r\n }\r\n this._searchService.setCurrent(this.current);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setText(text: string) {\r\n this._searchService.setText(text);\r\n }\r\n\r\n hide() {\r\n this.setText('');\r\n this.hidePanel.emit(true);\r\n }\r\n\r\n prev() {\r\n if (this.current > 1) {\r\n this.current--;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n next() {\r\n if (this.current < this.total) {\r\n this.current++;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.textElement.nativeElement.focus();\r\n }\r\n}\r\n","import {Directive, ElementRef} from '@angular/core';\r\nimport {SearchService} from \"./search.service\";\r\nimport {HighlightSearchPipe} from \"./pipes\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdSearchable]'\r\n})\r\nexport class SearchableDirective {\r\n\r\n text: string;\r\n current = 0;\r\n total = 0;\r\n private zoom = 100;\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _searchService: SearchService,\r\n private _highlight: HighlightSearchPipe,\r\n private _zoomService: ZoomService) {\r\n _searchService.currentChange.subscribe((current: number) => {\r\n this.current = current;\r\n if (this.current !== 0) {\r\n this.moveToCurrent();\r\n }\r\n });\r\n\r\n _searchService.textChange.subscribe((text: string) => {\r\n this.text = text;\r\n this.highlightSearch();\r\n });\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n });\r\n }\r\n\r\n private highlightSearch() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n this.cleanHighlight(el);\r\n if (this.text) {\r\n this.highlightEl(el);\r\n const count = el.querySelectorAll('.gd-highlight').length;\r\n this.total = count;\r\n } else {\r\n this.total = 0;\r\n }\r\n this._searchService.setTotal(this.total);\r\n }\r\n }\r\n\r\n private moveToCurrent() {\r\n if (this.current === 0) {\r\n return;\r\n }\r\n const currentZoom = this.getZoom();\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\r\n $(value).removeClass('gd-highlight-select');\r\n });\r\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\r\n $(currentEl).addClass('gd-highlight-select');\r\n if (currentEl) {\r\n const options = {\r\n left: 0,\r\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\r\n };\r\n // using polyfill\r\n el.parentElement.parentElement.scroll(options);\r\n }\r\n }\r\n }\r\n\r\n private highlightEl(el: Element) {\r\n const textNodes = $(el).find('*').contents().filter(function () {\r\n const nodeName = this.parentElement.nodeName.toLowerCase();\r\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\r\n return this.nodeType === 3 &&\r\n this.textContent.trim().length !== 0 &&\r\n nodeName !== 'style' &&\r\n nodeName !== 'title' &&\r\n nodeName !== 'body' &&\r\n nodeName !== 'script' &&\r\n checkClass;\r\n });\r\n const text = this.text;\r\n const highlight = this._highlight;\r\n textNodes.each(function () {\r\n const $this = $(this);\r\n let content = $this.text();\r\n content = highlight.transform(content, text);\r\n $this.replaceWith(content);\r\n });\r\n el.normalize();\r\n }\r\n\r\n private cleanHighlight(el: HTMLElement) {\r\n const nodeListOf = el.querySelectorAll('.gd-highlight');\r\n for (let i = 0; i < nodeListOf.length; i++) {\r\n const element = nodeListOf.item(i);\r\n element.replaceWith((element).innerText);\r\n }\r\n el.normalize();\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n addStopUrl(url: string) {\r\n this.stopList.push(url);\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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","$","Renderer2","ViewChildren","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 70e819564..a289f4193 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,4 +1,4 @@ -!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"; +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(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"],t):t(((e=e||self).groupdocs=e.groupdocs||{},e.groupdocs.examples=e.groupdocs.examples||{},e.groupdocs.examples.angular=e.groupdocs.examples.angular||{},e.groupdocs.examples.angular["common-components"]={}),e.ng.core,e.ng.common,e.rxjs,e.rxjs.operators,e.angularFontawesome,e.fontawesomeSvgCore,e.freeSolidSvgIcons,e.freeRegularSvgIcons,e.ng.common.http,e.jquery,e.Hammer,e.ng.platformBrowser,e.ngClickOutside)}(this,(function(e,t,o,n,i,r,a,s,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 @@ -12,5 +12,5 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. - ***************************************************************************** */var h=function(t,e){return(h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o])})(t,e)};function f(t,e){function o(){this.constructor=t}h(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}function m(t){var e="function"==typeof Symbol&&t[Symbol.iterator],o=0;return e?e.call(t):{next:function(){return t&&o>=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}}}var b=function(){function t(){}return t.decorators=[{type:e.Component,args:[{selector:"gd-top-toolbar",template:'
\n
\n \n
\n
\n',styles:[".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"]}]}],t.ctorParameters=function(){return[]},t}(),v=function(){function t(){this.closable=!0,this.saveable=!0,this.hideSidePanel=new e.EventEmitter,this.saveInSidePanel=new e.EventEmitter,this.onlyTitle=!1}return t.prototype.closeSidePanel=function(){this.hideSidePanel.emit(!0)},t.prototype.saveBySidePanel=function(){this.saveInSidePanel.emit(!0)},t.prototype.toggleTitleMode=function(){this.closable&&!this.saveable&&(this.onlyTitle=!this.onlyTitle)},t.decorators=[{type:e.Component,args:[{selector:"gd-side-panel",template:'
\n
\n \n
{{title}}
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n',styles:[".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={title:[{type:e.Input}],icon:[{type:e.Input}],closable:[{type:e.Input}],saveable:[{type:e.Input}],hideSidePanel:[{type:e.Output}],saveInSidePanel:[{type:e.Output}]},t}();var x=function(){function t(){var t=this;this.resizeSubject=new n.Subject,this.width=window.innerWidth,this.height=window.innerHeight,this._resize$=n.fromEvent(window,"resize").pipe(i.debounceTime(200),i.distinctUntilChanged(),i.startWith({target:{innerWidth:window.innerWidth,innerHeight:window.innerHeight}}),i.tap((function(e){t.resizeSubject.next(e.target),t.width=e.target.innerWidth,t.height=e.target.innerHeight}))),this._resize$.subscribe()}return Object.defineProperty(t.prototype,"onResize",{get:function(){return this.resizeSubject.asObservable()},enumerable:!0,configurable:!0}),t.prototype.isMobile=function(){return this.width<=425},t.prototype.isTablet=function(){return this.width<=1024},t.prototype.isDesktop=function(){return!this.isMobile()&&!this.isTablet()},t.prototype.getWidth=function(){return this.width},t.prototype.getHeight=function(){return this.height},t.prototype.isEdge=function(){return window.navigator.userAgent.toLowerCase().indexOf("edge")>-1},t.prototype.isFirefox=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},t}();var w=function(){function t(t){var e=this;this.iconOnly=!0,this.intent="default",this.disabled=!1,this.toggle=!1,this.iconRegular=!1,this.elementPosition=0,this.showToolTip=!1,this.isDesktop=t.isDesktop(),t.onResize.subscribe((function(o){e.isDesktop=t.isDesktop()}))}return t.prototype.iconButtonClass=function(){return this.iconOnly?"icon-button":""},t.prototype.onHovering=function(){this.isDesktop&&!this.disabled&&(this.className+=" active")},t.prototype.onUnhovering=function(){this.isDesktop&&!this.disabled&&(this.className=this.cleanAll(this.className," active"))},t.prototype.cleanAll=function(t,e){for(;t&&-1!==t.indexOf(e);)t=t.replace(e,"");return t},t.decorators=[{type:e.Component,args:[{selector:"gd-button",template:'
\n \n \n
\n \n
\n
\n',styles:[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],t.ctorParameters=function(){return[{type:x}]},t.propDecorators={iconOnly:[{type:e.Input}],intent:[{type:e.Input}],disabled:[{type:e.Input}],icon:[{type:e.Input}],iconClass:[{type:e.Input}],tooltip:[{type:e.Input}],className:[{type:e.Input}],toggle:[{type:e.Input}],iconSize:[{type:e.Input}],iconRegular:[{type:e.Input}],elementPosition:[{type:e.Input}]},t}();var y=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-logo",template:'\n\n',styles:[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={logo:[{type:e.Input}],icon:[{type:e.Input}]},t}();var S=function(){function t(){this.position=0,this.visibility="hidden"}return t.prototype.getClass=function(){return 0===this.position?"tooltip":"tooltip "+(this.position>0?"last-element":"first-element")},Object.defineProperty(t.prototype,"show",{set:function(t){this.visibility=t?"shown":"hidden"},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"gd-tooltip",template:'\n',styles:['.tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:" ";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}']}]}],t.ctorParameters=function(){return[]},t.propDecorators={text:[{type:e.Input}],position:[{type:e.Input}],show:[{type:e.Input}]},t}();var k=function(){function t(){}return t.VIEWER_APP="/viewer",t.SIGNATURE_APP="/signature",t.ANNOTATION_APP="/annotation",t.SEARCH_APP="/search",t.EDITOR_APP="/editor",t.COMPARISON_APP="/comparison",t.CONVERSION_APP="/conversion",t.METADATA_APP="/metadata",t.DEFAULT_API_ENDPOINT=window.location.href,t.LOAD_FILE_TREE="/loadFileTree",t.LOAD_CONFIG="/loadConfig",t.LOAD_DOCUMENT_DESCRIPTION="/loadDocumentDescription",t.LOAD_DOCUMENT_PAGE="/loadDocumentPage",t.LOAD_DOCUMENT_PROPERTIES="/loadProperties",t.LOAD_DOCUMENT_PROPERTIES_NAMES="/loadPropertiesNames",t.SAVE_PROPERTY="/saveProperty",t.REMOVE_PROPERTY="/removeProperty",t.ROTATE_DOCUMENT_PAGE="/rotateDocumentPages",t.UPLOAD_DOCUMENTS="/uploadDocument",t.DOWNLOAD_DOCUMENTS="/downloadDocument",t.DOWNLOAD_ANNOTATED="/downloadAnnotated",t.LOAD_PRINT="/loadPrint",t.LOAD_PRINT_PDF="/printPdf",t.LOAD_THUMBNAILS="/loadThumbnails",t.LOAD_FORMATS="/loadFormats",t.SAVE_FILE="/saveFile",t.CREATE_FILE="/createFile",t.COMPARE_FILES="/compare",t.CONVERT_FILE="/convert",t.DELETE_SIGNATURE_FILE="/deleteSignatureFile",t.REMOVE_FROM_INDEX="/removeFromIndex",t.GET_FILE_STATUS="/getFileStatus",t.SAVE_OPTICAL_CODE="/saveOpticalCode",t.SAVE_TEXT="/saveText",t.SAVE_IMAGE="/saveImage",t.SAVE_STAMP="/saveStamp",t.SIGN="/sign",t.DOWNLOAD_SIGNED="/downloadSigned",t.LOAD_SIGNATURE_IMAGE="/loadSignatureImage",t.ANNOTATE="/annotate",t.SEARCH="/search",t.ADD_FILES_TO_INDEX="/addFilesToIndex",t.CLEAN_METADATA="/clean",t.EXPORT_METADATA="/export",t.httpOptionsJson={headers:new p.HttpHeaders({"Content-Type":"application/json"})},t.httpOptionsJsonResponseTypeBlob={headers:new p.HttpHeaders({"Content-Type":"application/json"}),responseType:"blob"},t}();var C=function(){function t(){this.apiEndpoint=k.DEFAULT_API_ENDPOINT}return Object.defineProperty(t.prototype,"apiEndpoint",{get:function(){return this._apiEndpoint},set:function(t){this._apiEndpoint=t&&t.trim().endsWith("/")?t.substring(0,t.length-1):t},enumerable:!0,configurable:!0}),t.prototype.getConfigEndpoint=function(t){return(this.apiEndpoint.endsWith(t)?this.apiEndpoint:this.apiEndpoint+t)+k.LOAD_CONFIG},t.prototype.getViewerApiEndpoint=function(){return this._apiEndpoint.endsWith(k.VIEWER_APP)?this._apiEndpoint:this._apiEndpoint+k.VIEWER_APP},t.prototype.getEditorApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.EDITOR_APP)?this._apiEndpoint:this._apiEndpoint+k.EDITOR_APP},t.prototype.getComparisonApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.COMPARISON_APP)?this._apiEndpoint:this._apiEndpoint+k.COMPARISON_APP},t.prototype.getConversionApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.CONVERSION_APP)?this._apiEndpoint:this._apiEndpoint+k.CONVERSION_APP},t.prototype.getMetadataApiEndpoint=function(){return this._apiEndpoint.trim().endsWith(k.METADATA_APP)?this._apiEndpoint:this._apiEndpoint+k.METADATA_APP},t.prototype.getSignatureApiEndpoint=function(){return this._apiEndpoint.endsWith(k.SIGNATURE_APP)?this._apiEndpoint:this._apiEndpoint+k.SIGNATURE_APP},t.prototype.getAnnotationApiEndpoint=function(){return this._apiEndpoint.endsWith(k.ANNOTATION_APP)?this._apiEndpoint:this._apiEndpoint+k.ANNOTATION_APP},t.prototype.getSearchApiEndpoint=function(){return this._apiEndpoint.endsWith(k.SEARCH_APP)?this._apiEndpoint:this._apiEndpoint+k.SEARCH_APP},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}();var _=function(){function t(){}return t.PasswordRequired="gd-password-required",t.ErrorMessage="gd-error-message",t.BrowseFiles="gd-browse-files",t.CreateDocument="gd-create-document",t.OperationSuccess="gd-success-modal",t.DrawHandSignature="gd-draw-hand-signature",t.DrawStampSignature="gd-draw-stamp-signature",t.InformationMessage="gd-information-message",t}();var P=function(){function t(){this.modals=[]}return t.prototype.add=function(t){this.modals.push(t)},t.prototype.remove=function(t){this.modals=this.modals.filter((function(e){return e.id!==t}))},t.prototype.open=function(t){var e=this.modals.filter((function(e){return e.id===t}))[0];e&&e.open()},t.prototype.close=function(t){var e=this.modals.filter((function(e){return e.id===t}))[0];e&&e.close()},t}();var E=function(){function t(t,o){this.modalService=t,this.visible=new e.EventEmitter,this.cancel=new e.EventEmitter,this.visibility=!1,this.element=o.nativeElement}return t.prototype.ngOnInit=function(){this.id?(document.body.appendChild(this.element),this.modalService.add(this)):console.error("modal must have an id")},t.prototype.ngOnDestroy=function(){this.modalService.remove(this.id),this.element.remove()},t.prototype.open=function(){this.visibility=!0,this.visible.emit(!0)},t.prototype.close=function(){event.preventDefault(),event.stopPropagation(),this.visibility=!1,this.visible.emit(!1)},t.prototype.onClose=function(t){t.stopPropagation(),t&&t.target&&"modalDialog"===t.target.id&&this.close()},t.prototype.cancelClose=function(){this.cancel.emit(!1),this.close()},t.decorators=[{type:e.Component,args:[{selector:"gd-modal",template:'
\n
\n
\n
\n\n
\n
×
\n

{{title}}

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

Drag & Drop your files here

\n

OR

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

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n',styles:["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"]}]}],e.ctorParameters=function(){return[{type:E},{type:t.ElementRef}]},e.propDecorators={id:[{type:t.Input}],title:[{type:t.Input}],visible:[{type:t.Output}],cancel:[{type:t.Output}]},e}();var I=function(){};var O=function(){};var z=function(e,t){this.guid=e,this.password=t};var F=function(e){function t(t,o,n,i){var r=e.call(this,t,o)||this;return r.content=n,r.pageNumber=i,r}return f(t,e),t}(z);var D=function(){this.printAllowed=!0};var T=function(){};var A=function(){function e(){}return e.BadRequest=400,e.Unauthorized=401,e.Forbidden=403,e.NotFound=404,e.TimeOut=408,e.Conflict=409,e.InternalServerError=500,e}();var M=function(){function e(){}return e.getMousePosition=function(e){var t={x:0,y:0},o=window.event,n=e||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,a=void 0!==o.screenX&&0!==o.screenY,s=void 0!==o.screenY&&0!==o.screenY;t.x=i||(a?o.screenX:n.touches[0].pageX),t.y=r||(s?o.screenY:n.touches[0].pageY)}else n.clientX&&(t.x=n.clientX+document.body.scrollLeft,t.y=n.clientY+document.body.scrollTop);return t},e.toRgb=function(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(t){var o=parseInt(t[1],16),n=parseInt(t[2],16),i=parseInt(t[3],16);return t?"rgb("+o+","+n+","+i+")":""}return e},e.toHex=function(e){if(e.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i))return"#"===e.charAt(0)?e:"#"+e;if(!e.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/))return"";var t=[parseInt(RegExp.$1,10),parseInt(RegExp.$2,10),parseInt(RegExp.$3,10)],o=function(e){if(e.length<2)for(var t=0,o=2-e.length;t0?e.map.unknown:e.map.folder:e.map[i]}return e.map.folder},e.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"}},e}();var j=function(){},L=function(){function e(){var e=this;this._uploadsChange=new n.Observable((function(t){return e._observer=t}))}return Object.defineProperty(e.prototype,"uploadsChange",{get:function(){return this._uploadsChange},enumerable:!0,configurable:!0}),e.prototype.changeFilesList=function(e){this._observer.next(e)},e}();var H=l,U=[{name:"Disc",icon:"hdd"},{name:"URL",icon:"link"}],N=function(){function e(e){this._uploadService=e,this.uploads=U,this.selectedFileGuid=new t.EventEmitter,this.selectedDirectory=new t.EventEmitter,this.urlForUpload=new t.EventEmitter,this.closing=new t.EventEmitter,this.showUploadUrl=!1,this.showUploadFile=!1}return e.prototype.ngOnInit=function(){},e.prototype.getSize=function(e){var t=e/1024/1024;if(t>1)return Math.round(100*t)/100+" MB";var o=e/1024;return o>1?Math.round(100*o)/100+" KB":e+" Bytes"},e.prototype.getFormatName=function(e){return R.find(e.name,e.directory).format},e.prototype.getFormatIcon=function(e){return R.find(e.name,e.directory).icon},e.prototype.choose=function(e){this.selectedFile=e,e.directory||e.isDirectory?this.selectedDirectory.emit(e.name):this.selectedFileGuid.emit(e.guid)},e.prototype.goUp=function(){if(this.selectedFile){var e=this.selectedFile.guid;e=e.length>0&&-1===e.indexOf("/")?"":e.replace(/\/[^\/]+\/?$/,""),this.selectedDirectory.emit(e)}},e.prototype.selectUpload=function(e){"URL"===e?this.showUploadUrl=!0:(this.showUploadUrl=!1,H("#gd-upload-input").trigger("click"))},e.prototype.refresh=function(e){e?(this.files=null,this.selectedDirectory.emit(""),this.showUploadUrl=!1,this.selectedFile=null):this.closing.emit(!0)},e.prototype.showSpinner=function(){return!this.files},e.prototype.uploadUrl=function(e){e&&(this.urlForUpload.emit(e),this.cleanUpload())},e.prototype.handleFileInput=function(e){this._uploadService.changeFilesList(e)},e.prototype.cleanUpload=function(){this.showUploadFile=!1,this.showUploadUrl=!1},e.decorators=[{type:t.Component,args:[{selector:"gd-browse-files-modal",template:'\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n',styles:[".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],e.ctorParameters=function(){return[{type:L}]},e.propDecorators={files:[{type:t.Input}],uploadConfig:[{type:t.Input}],selectedFileGuid:[{type:t.Output}],selectedDirectory:[{type:t.Output}],urlForUpload:[{type:t.Output}],closing:[{type:t.Output}]},e}();var B=function(){function e(){this._observer=new n.Subject,this._zoomChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"zoom",{get:function(){return this._zoom},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"zoomChange",{get:function(){return this._zoomChange},enumerable:!0,configurable:!0}),e.prototype.changeZoom=function(e){this._zoom=e,this._observer.next(e)},e.prototype.createZoomOption=function(e,t,o){return void 0===o&&(o=!1),{value:e,name:t,separator:o}},e.prototype.zoomOptions=function(e,t){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(e,"Fit Width"),this.createZoomOption(t,"Fit Height")]},e}();var W=function(){function e(){var e=this;this._checkPreload=new n.Observable((function(t){return e._observer=t}))}return Object.defineProperty(e.prototype,"checkPreload",{get:function(){return this._checkPreload},enumerable:!0,configurable:!0}),e.prototype.changeLastPageInView=function(e){this._observer&&this._observer.next(e)},e}();var $=function(){function e(e){this._pagePreloadService=e,this._currentPage=0,this._countPages=0,this._observer=new n.Subject,this._navigate=this._observer}return Object.defineProperty(e.prototype,"navigate",{get:function(){return this._navigate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"countPages",{get:function(){return this._countPages},set:function(e){this._countPages=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentPage",{get:function(){return this._currentPage},set:function(e){this._currentPage=e},enumerable:!0,configurable:!0}),e.prototype.nextPage=function(){this._currentPage1&&(this._currentPage--,this.navigateTo(this._currentPage))},e.prototype.toLastPage=function(){this._currentPage=this._countPages,this.navigateTo(this._currentPage)},e.prototype.toFirstPage=function(){this._currentPage=1,this.navigateTo(this._currentPage)},e.prototype.navigateTo=function(e){this.currentPage=e,this._pagePreloadService.changeLastPageInView(e),this._observer.next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:W}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(W))},token:e,providedIn:"root"}),e}();var q=function(){function e(e,t,o,n){var i=this;this._elementRef=e,this._zoomService=t,this._windowService=o,this._navigateService=n,this.wait=!1,this.docWidth=null,this.docHeight=null,this.viewportWidth=null,this.viewportHeight=null,this.scale=null,this.lastScale=null,this.container=null,this.doc=null,this.x=0,this.lastX=0,this.y=0,this.lastY=0,this.pinchCenter=null,this.pinchCenterOffset=null,this.curWidth=0,this.curHeight=0,t.zoomChange.subscribe((function(e){i.zoom=e})),this.isDesktop=o.isDesktop(),this._navigateService.navigate.subscribe((function(e){i.selectedPage=e}))}return e.prototype.ngOnInit=function(){this.ifPresentation()&&(this.selectedPage=this._navigateService.currentPage)},e.prototype.ngOnChanges=function(){},e.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)},e.prototype.ifExcel=function(){return"Microsoft Excel"===R.find(this.file.guid,!1).format},e.prototype.ifPresentation=function(){return"Microsoft PowerPoint"===R.find(this.file.guid,!1).format},e.prototype.getDimensionWithUnit=function(e,t){return this.ifPresentation()&&this.showActiveSlide&&!this.isVisible(t)?0:e+(this.mode?R.find(this.file.guid,!1).unit:"px")},e.prototype.ifEdge=function(){return navigator.userAgent.toLowerCase().indexOf("edge")>-1},e.prototype.ngAfterViewChecked=function(){},e.prototype.isVisible=function(e){return!this.ifPresentation()||e===this.selectedPage},e.decorators=[{type:t.Component,args:[{selector:"gd-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n',styles:[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:B},{type:x},{type:$}]},e.propDecorators={mode:[{type:t.Input}],preloadPageCount:[{type:t.Input}],file:[{type:t.Input}],selectedPage:[{type:t.Input}],showActiveSlide:[{type:t.Input}]},e}();var V=function(){function e(){}return e.prototype.getUpdatedPage=function(e){var t=(new DOMParser).parseFromString(e,"text/html"),o=t.querySelector("table"),n=0;t.querySelectorAll("table > tbody > tr:first-child td").forEach((function(e){n+=e.attributes.colspan?parseInt(e.attributes.colspan.value,10):1}));var i=this.createHeader(n,o);return t.querySelector("table").replaceWith(i),(new XMLSerializer).serializeToString(t).replace(/a0:/g,"").replace(/:a0/g,"")},e.prototype.getPageWithoutHeader=function(e){var t=(new DOMParser).parseFromString(e,"text/html");t.querySelector("colgroup").remove();var o=t.querySelector("table");return o.deleteRow(0),o.querySelectorAll("tr").forEach((function(e){e.deleteCell(0)})),t.querySelector("table").replaceWith(o),(new XMLSerializer).serializeToString(t)},e.prototype.createHeader=function(e,t){var o=document.createElement("thead");o.append(document.createElement("tr"));for(var n=0;n=0;)n=String.fromCharCode(e%o+t)+n,e=Math.floor(e/o)-1;return n},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),G=function(){function e(e){this._excelPageService=e}return e.prototype.ngOnInit=function(){!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},e.prototype.ngOnChanges=function(e){this.isHtml?this.data=this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,"").replace(/href="\/viewer/g,'href="http://localhost:8080/viewer').replace(/src="\/viewer/g,'src="http://localhost:8080/viewer').replace(/data="\/viewer/g,'data="http://localhost:8080/viewer'):null:this.imgData="data:image/png;base64,"+this.data,this.data=null!==this.data&&e.data?this._excelPageService.getUpdatedPage(this.data):this.data},e.decorators=[{type:t.Component,args:[{selector:"gd-excel-page",template:'
\r\n
\r\n \r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}::ng-deep th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}::ng-deep td{vertical-align:middle!important}::ng-deep .page-grid-lines td{border:1px solid #e7e7e7!important}::ng-deep .page td:nth-child(1){border:1px solid #e7e7e7!important}::ng-deep tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}::ng-deep tr td.excel:first-child div{width:80px}::ng-deep tr th.excel:first-child{background-color:#f4f4f4;width:1%}::ng-deep tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"]}]}],e.ctorParameters=function(){return[{type:V}]},e.propDecorators={angle:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],number:[{type:t.Input}],data:[{type:t.Input}],isHtml:[{type:t.Input}],editable:[{type:t.Input}]},e}();var X=function(e){function o(o,n,i,r,a){var s=e.call(this,o,n,i,r)||this;return s.renderer=a,s.panzoom=null,s.selectedSheet=new t.EventEmitter,s.navigateService=r,s}return f(o,e),o.prototype.ngOnInit=function(){this.currentPageNo=1},o.prototype.ngAfterViewInit=function(){var e=this;this.refreshExcelDocHeight(),this.pages.changes.subscribe((function(){e.refreshExcelDocHeight()})),this.navigateService.navigate.subscribe((function(t){t&&e.selectSheet(t)}));var t=this.getScrollBarWidth();this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"right",this.getScrollBarWidth()+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"bottom",this.getScrollBarWidth()+"px"),0===t&&this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".sheets"),"padding-right","17px")},o.prototype.getScrollBarWidth=function(){var e=document.querySelector(".gd-document");return e.offsetWidth-e.clientWidth},o.prototype.refreshExcelDocHeight=function(){this.doc=this._elementRef.nativeElement.children.item(0),this.panzoom=this._elementRef.nativeElement.children.item(0).children.item(0),this.doc.style.height=this.panzoom.scrollHeight+37+"px"},o.prototype.selectSheet=function(e){this.currentPageNo=e,this.selectedSheet.emit(e)},o.prototype.getSheetName=function(e){return e.sheetName?e.sheetName:"Sheet "+e.number},o.decorators=[{type:t.Component,args:[{selector:"gd-excel-document",template:'
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n',styles:[":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom.auto-height{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap;height:auto!important}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],o.ctorParameters=function(){return[{type:t.ElementRef},{type:B},{type:x},{type:$},{type:t.Renderer2}]},o.propDecorators={pages:[{type:t.ViewChildren,args:[G]}],selectedSheet:[{type:t.Output}]},o}(q);var Z=function(){function e(){}return e.prototype.ngOnInit=function(){!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)&&0===this.number&&(this.editable=!1)},e.prototype.ngOnChanges=function(e){this.isHtml?this.data=this.data?this.data.replace(/>\s+<").replace(/\uFEFF/g,"").replace(/href="\/viewer/g,'href="http://localhost:8080/viewer').replace(/src="\/viewer/g,'src="http://localhost:8080/viewer').replace(/data="\/viewer/g,'data="http://localhost:8080/viewer'):null:this.imgData="data:image/png;base64,"+this.data},e.decorators=[{type:t.Component,args:[{selector:"gd-page",template:'
\r\n
\r\n \r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={angle:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],number:[{type:t.Input}],data:[{type:t.Input}],isHtml:[{type:t.Input}],editable:[{type:t.Input}]},e}();var Y=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustHtml(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeHtml"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}();var J=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustResourceUrl(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeResourceHtml"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}();var K=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustStyle(e)},e.decorators=[{type:t.Pipe,args:[{name:"safeStyle"}]}],e.ctorParameters=function(){return[{type:u.DomSanitizer}]},e}();var Q=function(){function e(){}return e.prototype.transform=function(e,t){if(!t)return e;var o=new RegExp(t,"gi");return e.replace(o,"$&")},e.decorators=[{type:t.Pipe,args:[{name:"highlight"}]}],e}(),ee=function(){function e(e){this._uploadService=e,this.closeUpload=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.handleFileInput=function(e){this._uploadService.changeFilesList(e),this.onCloseUpload()},e.prototype.onCloseUpload=function(){this.closeUpload.emit(!0)},e.prototype.close=function(e){"gd-dropZone"===e.target.id&&this.onCloseUpload()},e.decorators=[{type:t.Component,args:[{selector:"gd-upload-file-zone",template:'
\r\n
\r\n \r\n
\r\n

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n',styles:[".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"]}]}],e.ctorParameters=function(){return[{type:L}]},e.propDecorators={closeUpload:[{type:t.Output}]},e}();var te=function(){function e(e){this._uploadFilesService=e,this.closing=new t.EventEmitter,this.opening=new t.EventEmitter,this.dropped=new t.EventEmitter,this.active=!1,this.dragCounter=0}return e.prototype.onDragEnter=function(e){e.preventDefault(),e.stopPropagation(),this.dragCounter++,this.active=!0,this.opening.emit(!0)},e.prototype.onDragOver=function(e){return e.preventDefault(),e.stopPropagation(),!1},e.prototype.onDragLeave=function(e){e.preventDefault(),e.stopPropagation(),this.dragCounter--,0===this.dragCounter&&(this.active=!1,this.closeArea())},e.prototype.onDrop=function(e){e.preventDefault(),e.stopPropagation();var t=e.dataTransfer.files;t.length>0&&(this.active=!1,this.dropped.emit(!0),this._uploadFilesService.changeFilesList(t),this.closeArea())},e.prototype.onClick=function(e){this.closeArea()},e.prototype.closeArea=function(){this.closing.emit(!0),this.opening.emit(!1)},e.decorators=[{type:t.Directive,args:[{selector:"[gdDnd]"}]}],e.ctorParameters=function(){return[{type:L}]},e.propDecorators={closing:[{type:t.Output}],opening:[{type:t.Output}],dropped:[{type:t.Output}],active:[{type:t.HostBinding,args:["class.active"]}],onDragEnter:[{type:t.HostListener,args:["dragenter",["$event"]]}],onDragOver:[{type:t.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:t.HostListener,args:["dragleave",["$event"]]}],onDrop:[{type:t.HostListener,args:["drop",["$event"]]}],onClick:[{type:t.HostListener,args:["click",["$event"]]}]},e}();var oe=l,ne=function(){function e(){}return e.prototype.checkInViewport=function(e,t,o,n){if(void 0===t&&(t=100),void 0===o&&(o=0),void 0===n&&(n=.5),!e)return!1;var i=n,r=oe(window),a=r.scrollTop(),s=r.scrollLeft()+o,c=r.scrollLeft()+r.width()-10,p=r.scrollTop()+r.height();isNaN(t)&&(t=100);var l=t/100,d=oe(e).outerHeight()*l,u=oe(e).outerWidth()*l;if(!u||!d)return!1;var g=oe(e).offset(),h=g.left*l+u,f=g.top*l+d;if(!!(ch||pf))return!1;var m=parseFloat(Math.min(1,(f-a)/d).toFixed(2)),b=parseFloat(Math.min(1,(p-g.top*l)/d).toFixed(2));return parseFloat(Math.min(1,(h-s)/u).toFixed(2))*parseFloat(Math.min(1,(c-g.left*l)/u).toFixed(2))>=i&&m*b>=.5},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),ie=l,re=function(){function e(e,t,o,n,i,r){var a=this;this._elementRef=e,this._navigateService=t,this._pagePreloadService=o,this._zoomService=n,this._windowService=i,this._viewportService=r,this.zoom=100,this.loadedPagesSet=new Set,this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(e){a.zoom=e||a.zoom,a.refresh()}))}return e.prototype.ngAfterViewInit=function(){var e=this;this.zoom=this._zoomService.zoom?this._zoomService.zoom:this.zoom,this._navigateService.navigate.subscribe((function(t){e.currentPage=t,e.scrollToPage(t)})),this.refresh()},e.prototype.scrolling=function(){this.refresh()},e.prototype.resizing=function(){this.refresh()},e.prototype.scrollToPage=function(e){var t=this._elementRef.nativeElement,o=this.getPage(e),n=e>0?this.getPage(e-1):null,i=n&&ie(n).offset().top===ie(o).offset().top;if(!this._viewportService.checkInViewport(o,this.zoom)||!i){var r={left:0,top:this.calculateOffset(e)};t&&t.scroll(r)}},e.prototype.getChildren=function(){var e=this._elementRef?this._elementRef.nativeElement:null;if(e)return e.children.item(0).children.item(0).children},e.prototype.getPage=function(e){var t=this._elementRef?this._elementRef.nativeElement:null;if(t)return t.children.item(0).children.item(0).children.item(e-1)},e.prototype.calculateOffset=function(e){for(var t=this._windowService.isFirefox()?1:this.countPagesOnWidth(),o=this._windowService.isDesktop()?40:10,n=0,i=1;i0?a*this.getZoom()+o:0}return n},e.prototype.countPagesOnWidth=function(){var e=this.getPage(1);if(e){var t=Math.floor((this.getWidth()-150)/(e.getBoundingClientRect().width*this.getZoom()));if(0!==t)return t}return 1},e.prototype.refresh=function(){var e,t=!1,o=this.getPage(this.currentPage),n=this.currentPage&&o?o.getBoundingClientRect():null;for(e=1;e0?this.mouseWheelUp.emit(e):t<0&&this.mouseWheelDown.emit(e)},e.decorators=[{type:t.Directive,args:[{selector:"[gdMouseWheel]"}]}],e.propDecorators={mouseWheelUp:[{type:t.Output}],mouseWheelDown:[{type:t.Output}],onMouseWheelChrome:[{type:t.HostListener,args:["mousewheel",["$event"]]}],onMouseWheelFirefox:[{type:t.HostListener,args:["DOMMouseScroll",["$event"]]}],onMouseWheelIE:[{type:t.HostListener,args:["onmousewheel",["$event"]]}]},e}();var se=function(){function e(e,t,o){this._zoomService=e,this._windowService=t,this.zoomActive=!0,this.el=o}return e.prototype.ngOnDestroy=function(){},e.prototype.ngOnChanges=function(){this.setStyles(this._zoomService.zoom),this.resizePages(this._zoomService.zoom)},e.prototype.ngOnInit=function(){var e=this;this.zoomActive&&(this.setStyles(this._zoomService.zoom),this._zoomService.zoomChange.subscribe((function(t){e.setStyles(t),e.resizePages(t)})))},e.prototype.setStyles=function(e){if(this.zoomActive){var t=100===e?1:e/100;this._windowService.isEdge()?this.zoomInt=t:this.zoomInt=null,this._windowService.isEdge()?(this.transform="",this.transformOrigin=""):(this.transform="scale("+t+")",this.transformOrigin="top left");var o=0;this.file.pages.forEach((function(e){e.width>o&&(o=e.width)})),this.minWidth=o+R.find(this.file.guid,!1).unit}},e.prototype.getScrollWidth=function(e){return e.offsetWidth-e.clientWidth},e.prototype.getScrollHeight=function(e){return e.offsetHeight-e.clientHeight},e.prototype.resizePages=function(e){var t=100===e?1:e/100,o=this.el.nativeElement.parentElement.offsetWidth,n=this.el.nativeElement.parentElement.offsetHeight,i=this.getScrollWidth(this.el.nativeElement.parentElement),r=this.getScrollHeight(this.el.nativeElement.parentElement);this.width=o/t-i/t+"px",this.height=n/t-r/t+"px"},e.prototype.ngAfterViewInit=function(){this.setStyles(this._zoomService.zoom)},e.decorators=[{type:t.Directive,args:[{selector:"[gdZoom]"}]}],e.ctorParameters=function(){return[{type:B},{type:x},{type:t.ElementRef}]},e.propDecorators={zoomActive:[{type:t.Input}],file:[{type:t.Input}],zoomInt:[{type:t.HostBinding,args:["style.zoom"]}],transform:[{type:t.HostBinding,args:["style.transform"]}],transformOrigin:[{type:t.HostBinding,args:["style.transform-origin"]}],width:[{type:t.HostBinding,args:["style.width"]}],height:[{type:t.HostBinding,args:["style.height"]}],minWidth:[{type:t.HostBinding,args:["style.min-width"]}]},e}();var ce=function(){function e(){this._observer=new n.Subject,this._onClose=this._observer.asObservable()}return Object.defineProperty(e.prototype,"onClose",{get:function(){return this._onClose},enumerable:!0,configurable:!0}),e.prototype.close=function(e){this._observer.next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var pe=function(){function e(e){var o=this;this._onCloseService=e,this.disabled=!1,this.selected=new t.EventEmitter,this.opened=new t.EventEmitter,this.isOpen=!1,e.onClose.subscribe((function(){o.close()}))}return e.prototype.open=function(){this.disabled||(this.isOpen=!0)},e.prototype.close=function(){this.isOpen=!1},e.prototype.onClickOutside=function(e){this.close()},e.prototype.toggle=function(e){e.preventDefault(),e.stopPropagation(),this.disabled||(this.isOpen=!this.isOpen,this.isOpen&&this.opened.emit(!0))},e.prototype.select=function(e,t){e.preventDefault(),e.stopPropagation(),this.selected.emit(t),this.close()},e.decorators=[{type:t.Component,args:[{selector:"gd-select",template:'
\r\n
\r\n {{showSelected?.name}}\r\n
\r\n \r\n \r\n \r\n
\r\n',styles:[".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"]}]}],e.ctorParameters=function(){return[{type:ce}]},e.propDecorators={options:[{type:t.Input}],disabled:[{type:t.Input}],showSelected:[{type:t.Input}],selected:[{type:t.Output}],opened:[{type:t.Output}],isOpen:[{type:t.Input}],icon:[{type:t.Input}]},e}();var le=function(){function e(){}return e.prototype.updateCursor=function(){this.cursor=!!this.dis},e.prototype.ngOnInit=function(){this.updateCursor()},e.prototype.ngOnChanges=function(e){this.updateCursor()},e.decorators=[{type:t.Directive,args:[{selector:"[gdDisabledCursor]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={dis:[{type:t.Input}],cursor:[{type:t.HostBinding,args:["class.inactive"]}]},e}();var de=function(){function e(){this.withMargin=!0}return e.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)},e.prototype.isLandscape=function(){return this.width>this.height},e.prototype.ngOnInit=function(){this.updateCursor()},e.prototype.ngOnChanges=function(e){this.updateCursor()},e.decorators=[{type:t.Directive,args:[{selector:"[gdRotation]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={angle:[{type:t.Input}],isHtmlMode:[{type:t.Input}],width:[{type:t.Input}],height:[{type:t.Input}],withMargin:[{type:t.Input}],animation:[{type:t.HostBinding,args:["style.animation"]}],transition:[{type:t.HostBinding,args:["style.transition-property"]}],transform:[{type:t.HostBinding,args:["style.transform"]}],margin:[{type:t.HostBinding,args:["style.margin"]}]},e}();var ue=function(){function e(){this.fileDropped=new t.EventEmitter,this.showUploadFile=!1}return e.prototype.ngOnInit=function(){},e.prototype.dropped=function(e){e&&(this.fileDropped.emit(e),this.showUploadFile=!1)},e.decorators=[{type:t.Component,args:[{selector:"gd-init-state",template:'
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n',styles:[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={icon:[{type:t.Input}],text:[{type:t.Input}],fileDropped:[{type:t.Output}]},e}();var ge=function(){function e(){var e=this;this._render=new n.Observable((function(t){return e._observer=t})),this._renderBlob=new n.Observable((function(t){return e._observerBlob=t}))}return Object.defineProperty(e.prototype,"renderPrint",{get:function(){return this._render},enumerable:!0,configurable:!0}),e.prototype.changePages=function(e){this._observer.next(e)},Object.defineProperty(e.prototype,"renderPrintBlob",{get:function(){return this._renderBlob},enumerable:!0,configurable:!0}),e.prototype.changeBlob=function(e){this._observerBlob.next(e)},e}();var he=function(){function e(e){var t=this;this._renderService=e,e.renderPrint.subscribe((function(e){t.renderPrint(e)})),e.renderPrintBlob.subscribe((function(e){t.renderPrintBlob(e)}))}return e.prototype.renderPrint=function(e){var t,o,n="";try{for(var i=m(e),r=i.next();!r.done;r=i.next()){var a=r.value;n+='
'}}catch(e){t={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}this.openWindow(n,e[0].width,e[0].height)},e.prototype.openWindow=function(e,t,o){var n="";if(t>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 a=window.open("","PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");a.focus(),a.document.writeln(r),a.document.writeln(e),a.document.close(),setTimeout((function(){a.focus(),a.print(),a.close()}),100)},e.prototype.renderPrintBlob=function(e){var t=URL.createObjectURL(e),o=window.open(t,"PrintWindow","width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes");o.focus(),o.print(),o.close()},e.decorators=[{type:t.Directive,args:[{selector:"[gdRenderPrint]"}]}],e.ctorParameters=function(){return[{type:ge}]},e.propDecorators={htmlMode:[{type:t.Input}]},e}();var fe=function(){function e(){this._observer=new n.BehaviorSubject("Server is not available"),this._messageChange=this._observer.asObservable(),this._observerHttpEvent=new n.BehaviorSubject(null),this._httpEventChange=this._observerHttpEvent.asObservable()}return Object.defineProperty(e.prototype,"messageChange",{get:function(){return this._messageChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"httpEventChange",{get:function(){return this._httpEventChange},enumerable:!0,configurable:!0}),e.prototype.changeMessage=function(e){this._observer.next(e)},e.prototype.changeHttpEvent=function(e){this._observerHttpEvent.next(e)},e}();var me=function(){function e(e){var t=this;e.messageChange.subscribe((function(e){return t.message=e}))}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-error-modal",template:'\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : \'Server is not available\'}}
\r\n
\r\n
\r\n
\r\n',styles:[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],e.ctorParameters=function(){return[{type:fe}]},e}();var be=function(){function e(){this._observer=new n.Subject,this._passChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"passChange",{get:function(){return this._passChange},enumerable:!0,configurable:!0}),e.prototype.setPassword=function(e){this._observer.next(e)},e}();var ve=l,xe=function(){function e(e,o){var n=this;this._passwordService=o,this.cancelEvent=new t.EventEmitter,e.messageChange.subscribe((function(e){return n.message=e}))}return e.prototype.ngOnInit=function(){},e.prototype.setPassword=function(e){this._passwordService.setPassword(e)},e.prototype.onCloseOpen=function(e){e?setTimeout((function(){var e=ve("#password");e&&e.focus()}),100):ve("#password").val("")},e.prototype.cancel=function(e){ve("#password").val(""),this.cancelEvent.emit(!0)},e.decorators=[{type:t.Component,args:[{selector:"gd-password-required",template:'\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n',styles:["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"]}]}],e.ctorParameters=function(){return[{type:fe},{type:be}]},e.propDecorators={cancelEvent:[{type:t.Output}]},e}();var we=function(){function e(e,t){this._modalService=e,this._messageService=t}return e.prototype.intercept=function(t,o){var r=this,a="background: maroon; color: white";return o.handle(t).pipe(i.map((function(e){return e})),i.catchError((function(t){if(t instanceof p.HttpErrorResponse)switch(t.status){case A.BadRequest:console.error("%c Bad Request 400",a);break;case A.Unauthorized:console.error("%c Unauthorized 401",a);break;case A.NotFound:console.error("%c Not Found 404",a);break;case A.TimeOut:console.error("%c TimeOut 408",a);break;case A.InternalServerError:console.error("%c big bad 500",a),r._messageService.changeMessage(t.error.message),r._messageService.changeHttpEvent(t),r._modalService.open(e.ErrorMessageWindowName);break;case A.Forbidden:console.error("%c Forbidden 403",a),r._messageService.changeMessage(t.error.message),r._modalService.open(_.PasswordRequired)}return n.throwError(t)})))},e.ErrorMessageWindowName=_.ErrorMessage,e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:E},{type:fe}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(E),t.ɵɵinject(fe))},token:e,providedIn:"root"}),e}();var ye=function(){function e(){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(e.prototype,"textChange",{get:function(){return this._textChange},enumerable:!0,configurable:!0}),e.prototype.setText=function(e){this._observer.next(e)},Object.defineProperty(e.prototype,"currentChange",{get:function(){return this._currentChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"totalChange",{get:function(){return this._totalChange},enumerable:!0,configurable:!0}),e.prototype.setCurrent=function(e){this._observerCurrent.next(e)},e.prototype.setTotal=function(e){this._observerTotal.next(e)},e}();var Se=function(){function e(e){var o=this;this._searchService=e,this.hidePanel=new t.EventEmitter(!1),this.current=0,this.total=0,e.totalChange.subscribe((function(e){o.total=e,o.current=0!==e?1:0,o._searchService.setCurrent(o.current)}))}return e.prototype.ngOnInit=function(){},e.prototype.setText=function(e){this._searchService.setText(e)},e.prototype.hide=function(){this.setText(""),this.hidePanel.emit(!0)},e.prototype.prev=function(){this.current>1&&(this.current--,this._searchService.setCurrent(this.current))},e.prototype.next=function(){this.current\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n',styles:[".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"]}]}],e.ctorParameters=function(){return[{type:ye}]},e.propDecorators={hidePanel:[{type:t.Output}],textElement:[{type:t.ViewChild,args:["text",{static:!0}]}]},e}();var ke=l,Ce=function(){function e(e,t,o,n){var i=this;this._elementRef=e,this._searchService=t,this._highlight=o,this._zoomService=n,this.current=0,this.total=0,this.zoom=100,t.currentChange.subscribe((function(e){i.current=e,0!==i.current&&i.moveToCurrent()})),t.textChange.subscribe((function(e){i.text=e,i.highlightSearch()})),this.zoom=n.zoom?n.zoom:this.zoom,n.zoomChange.subscribe((function(e){i.zoom=e||i.zoom}))}return e.prototype.highlightSearch=function(){var e=this._elementRef?this._elementRef.nativeElement:null;if(e){if(this.cleanHighlight(e),this.text){this.highlightEl(e);var t=e.querySelectorAll(".gd-highlight").length;this.total=t}else this.total=0;this._searchService.setTotal(this.total)}},e.prototype.moveToCurrent=function(){if(0!==this.current){this.getZoom();var e=this._elementRef?this._elementRef.nativeElement:null;if(e){e.querySelectorAll(".gd-highlight-select").forEach((function(e){ke(e).removeClass("gd-highlight-select")}));var t=e.querySelectorAll(".gd-highlight")[this.current-1];if(ke(t).addClass("gd-highlight-select"),t){var o={left:0,top:ke(t).offset().top+e.parentElement.parentElement.scrollTop-150};e.parentElement.parentElement.scroll(o)}}}},e.prototype.highlightEl=function(e){var t=ke(e).find("*").contents().filter((function(){var e=this.parentElement.nodeName.toLowerCase(),t=!this.classList||!this.classList.contains("gd-highlight");return 3===this.nodeType&&0!==this.textContent.trim().length&&"style"!==e&&"title"!==e&&"body"!==e&&"script"!==e&&t})),o=this.text,n=this._highlight;t.each((function(){var e=ke(this),t=e.text();t=n.transform(t,o),e.replaceWith(t)})),e.normalize()},e.prototype.cleanHighlight=function(e){for(var t=e.querySelectorAll(".gd-highlight"),o=0;o\r\n \r\n \r\n\r\n',styles:[".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={logo:[{type:t.Input}],icon:[{type:t.Input}]},e}();var Ee=function(){function e(){this._observer=new n.Subject,this._activeTabChange=this._observer.asObservable()}return Object.defineProperty(e.prototype,"activeTabChange",{get:function(){return this._activeTabChange},enumerable:!0,configurable:!0}),e.prototype.changeActiveTab=function(e){this._observer.next(e)},e}();var Pe=function(){function e(e){var t=this;this._tabActivatorService=e,this.disabled=!1,this.active=!1,this.content=!0,this._tabActivatorService.activeTabChange.subscribe((function(e){t.activation(e)}))}return e.prototype.activation=function(e){this.id===e?this.active=!0:this.active=!1},e.prototype.ngOnInit=function(){},e.prototype.selectTab=function(){this.disabled||this._tabActivatorService.changeActiveTab(this.id)},e.decorators=[{type:t.Component,args:[{selector:"gd-tab",template:'
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n',styles:[".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"]}]}],e.ctorParameters=function(){return[{type:Ee}]},e.propDecorators={id:[{type:t.Input}],tabTitle:[{type:t.Input}],icon:[{type:t.Input}],disabled:[{type:t.Input}],active:[{type:t.Input}],content:[{type:t.Input}]},e}();var Ie=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"gd-tabs",template:'
\r\n \r\n
\r\n',styles:[".gd-tabs{display:-webkit-box;display:flex}"]}]}],e.ctorParameters=function(){return[]},e}(),Oe=function(){function e(e,t,o,n,i,r,a,s,c,p){this.fontSize=e,this.color=t,this.bgColor=o,this.bold=n,this.italic=i,this.underline=r,this.font=a,this.strikeout=s,this.align=c,this.list=p}return e.default=function(){return new e(10,"#000000","#FFFFFF",!1,!1,!1,"Arial",!1,"","")},e}();var ze=function(){function e(){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(e.prototype,"formatBoldChange",{get:function(){return this._formatBoldChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatUnderlineChange",{get:function(){return this._formatUnderlineChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatColorChange",{get:function(){return this._formatColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatBgColorChange",{get:function(){return this._formatBgColorChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatFontSizeChange",{get:function(){return this._formatFontSizeChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatFontChange",{get:function(){return this._formatFontChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"undo",{get:function(){return this._undo},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"redo",{get:function(){return this._redo},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatItalicChange",{get:function(){return this._formatItalicChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatStrikeoutChange",{get:function(){return this._formatStrikeoutChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatAlignChange",{get:function(){return this._formatAlignChange},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formatListChange",{get:function(){return this._formatListChange},enumerable:!0,configurable:!0}),e.createFontSizeOption=function(e){return{value:e,name:e+"px",separator:!1}},e.getFontSizeOptions=function(){return[e.createFontSizeOption(8),e.createFontSizeOption(10),e.createFontSizeOption(12),e.createFontSizeOption(14),e.createFontSizeOption(16),e.createFontSizeOption(18),e.createFontSizeOption(20),e.createFontSizeOption(22),e.createFontSizeOption(24)]},e.createFontOption=function(e){return{value:e,name:e,separator:!1}},e.getFontOptions=function(){var e=this,t=[];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){t.push(e.createFontOption(o))})),t},e.prototype.changeFormatFontSize=function(e){this._observerFontSize.next(e)},e.prototype.changeFormatBold=function(e){this._observerBold.next(e)},e.prototype.changeFormatUnderline=function(e){this._observerUnderline.next(e)},e.prototype.Undo=function(){this._observerUndo.next()},e.prototype.Redo=function(){this._observerRedo.next()},e.prototype.changeFormatItalic=function(e){this._observerItalic.next(e)},e.prototype.changeFormatColor=function(e){this._observerColor.next(e)},e.prototype.changeFormatBgColor=function(e){this._observerBgColor.next(e)},e.prototype.changeFormatFont=function(e){this._observerFont.next(e)},e.prototype.changeFormatStrikeout=function(e){this._observerStrikeout.next(e)},e.prototype.changeFormatAlign=function(e){this._observerAlign.next(e)},e.prototype.changeFormatList=function(e){this._observerList.next(e)},e}();var Fe=["#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"],De=function(){function e(){this.isOpen=!1,this.selectedColor=new t.EventEmitter,this.closeOutside=new t.EventEmitter,this.colors=Fe,this.white="#FFFFFF"}return e.prototype.ngOnInit=function(){},e.prototype.select=function(e,t){e.preventDefault(),e.stopPropagation(),this.selectedColor.emit(t)},e.prototype.close=function(){this.isOpen=!1,this.closeOutside.emit(!0)},e.decorators=[{type:t.Component,args:[{selector:"gd-color-picker",template:'
\r\n
\r\n
\r\n
\r\n
\r\n',styles:[".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={isOpen:[{type:t.Input}],selectedColor:[{type:t.Output}],closeOutside:[{type:t.Output}]},e}();var Te=function(e){function o(){return e.call(this)||this}return f(o,e),o.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],o.ctorParameters=function(){return[]},o.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new o},token:o,providedIn:"root"}),o}(ze),Ae=function(){function e(){this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return e.prototype.restoreSelection=function(){(this.selection&&!this.selection.collapsed||this.isIE)&&this.putSelection(this.selection)},e.prototype.captureSelection=function(){var e=window.getSelection();e.rangeCount>0&&(this.selection=e.getRangeAt(0))},e.prototype.putSelection=function(e){var t=window.getSelection();t.removeAllRanges(),t.addRange(e.cloneRange())},e.prototype.refreshSelection=function(){this.captureSelection(),this.restoreSelection()},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var Me=l,Re=function(){function e(e,t,o){this._formattingService=e,this._backFormattingService=t,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 e.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=Me(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)},e.prototype.checkJustify=function(){var e="";return e=document.queryCommandState("justifyCenter")?"center":e,e=document.queryCommandState("justifyFull")?"full":e,e=document.queryCommandState("justifyLeft")?"left":e,e=document.queryCommandState("justifyRight")?"right":e},e.prototype.checkList=function(){var e="";return e=document.queryCommandState("insertUnorderedList")?"unordered":e,e=document.queryCommandState("insertOrderedList")?"ordered":e},e.prototype.reportFontSize=function(){var e,t;if(window.getSelection?(t=window.getSelection()).rangeCount&&3===(e=t.getRangeAt(0).commonAncestorContainer).nodeType&&(e=e.parentNode):(t=document.getSelection())&&"Control"!==t.type&&(e=t.createRange().parentElement()),e)return parseInt(this.getComputedStyleProperty(e,"fontSize").replace("px",""),10)},e.prototype.getComputedStyleProperty=function(e,t){return window.getComputedStyle?window.getComputedStyle(e,null)[t]:e.currentStyle?e.currentStyle[t]:void 0},e.prototype.ngOnInit=function(){var e=this;this._formattingService.undo.subscribe((function(){e.toggleUndo()})),this._formattingService.redo.subscribe((function(){e.toggleRedo()})),this._formattingService.formatBoldChange.subscribe((function(t){e.bold=t,e.toggleBold()})),this._formattingService.formatUnderlineChange.subscribe((function(t){e.underline=t,e.toggleUnderline()})),this._formattingService.formatItalicChange.subscribe((function(t){e.italic=t,e.toggleItalic()})),this._formattingService.formatColorChange.subscribe((function(t){e.color=t,e.setColor(t)})),this._formattingService.formatBgColorChange.subscribe((function(t){e.bgColor=t,e.setBgColor(t)})),this._formattingService.formatFontSizeChange.subscribe((function(t){e.setFontSize(t)})),this._formattingService.formatFontChange.subscribe((function(t){e.font=t,e.setFont(t)})),this._formattingService.formatStrikeoutChange.subscribe((function(t){e.strikeout=t,e.toggleStrikeout()})),this._formattingService.formatAlignChange.subscribe((function(t){e.align=t,e.toggleAlign(e.align)})),this._formattingService.formatListChange.subscribe((function(t){var o=e.list===t;e.list=t,e.toggleList(e.list,o)}))},e.prototype.toggleBold=function(){document.execCommand("bold"),this._selectionService.refreshSelection()},e.prototype.toggleUnderline=function(){document.execCommand("underline"),this._selectionService.refreshSelection()},e.prototype.toggleItalic=function(){document.execCommand("italic"),this._selectionService.refreshSelection()},e.prototype.setBgColor=function(e){document.execCommand("backColor",!1,e),this._selectionService.refreshSelection()},e.prototype.setColor=function(e){document.execCommand("foreColor",!1,e),this._selectionService.refreshSelection()},e.prototype.setFontSize=function(e){if(document.getSelection().toString()){var t=""+document.getSelection()+"";this.bold&&(t=""+t+""),this.italic&&(t=""+t+""),this.underline&&(t=""+t+""),this.strikeout&&(t=""+t+""),document.execCommand("insertHTML",!1,t)}else document.execCommand("fontsize",!1,"7");this._selectionService.refreshSelection()},e.prototype.toggleUndo=function(){document.execCommand("undo")},e.prototype.toggleRedo=function(){document.execCommand("redo")},e.prototype.setFont=function(e){document.execCommand("fontName",!1,e),this._selectionService.refreshSelection()},e.prototype.toggleStrikeout=function(){document.execCommand("strikeThrough"),this._selectionService.refreshSelection()},e.prototype.toggleAlign=function(e){if(this.isIE)this.toggleAlignIE(e);else{switch(document.execCommand("styleWithCSS",!1,"true"),e){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()}},e.prototype.toggleAlignIE=function(e){this._selectionService.restoreSelection(),this._selectionService.captureSelection();var t=window.getSelection().focusNode.parentNode.parentNode;"full"===e&&(e="justify"),Me(t).css("text-align",e),this._selectionService.refreshSelection()},e.prototype.toggleList=function(e,t){switch(e){case"unordered":document.execCommand("insertUnorderedList",t);break;case"ordered":document.execCommand("insertOrderedList",t)}this._selectionService.refreshSelection()},e.decorators=[{type:t.Directive,args:[{selector:"[gdFormatting]"}]}],e.ctorParameters=function(){return[{type:ze},{type:Te},{type:Ae}]},e.propDecorators={mouseup:[{type:t.HostListener,args:["mouseup"]}]},e}();var je=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-success-modal",template:'\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n',styles:[".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"]}]}],e.ctorParameters=function(){return[]},e}(),Le=function(){function e(){this._observer=new n.Subject,this._htmlContent=this._observer.asObservable()}return Object.defineProperty(e.prototype,"observer",{get:function(){return this._observer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"htmlContent",{get:function(){return this._htmlContent},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var He=function(){function e(e,t){this._selectionService=e,this._htmlService=t,this.isIE=!!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent)}return e.prototype.onInput=function(e){if(this.text=e.target,this.isIE&&this.text.innerHTML){var t=this.text.innerHTML.toString();this._htmlService.observer.next(t)}},e.prototype.onMouseleave=function(e){this._selectionService.captureSelection(),this.isIE&&this._htmlService.observer.next(e.target.innerHTML.toString())},e.prototype.onBlur=function(e){if(e.preventDefault(),this._selectionService.restoreSelection(),this.text.innerHTML){var t=this.text.innerHTML.toString();this._htmlService.observer.next(t)}else this._htmlService.observer.next(e.target.innerHTML.toString())},e.decorators=[{type:t.Directive,args:[{selector:"[gdEditor]"}]}],e.ctorParameters=function(){return[{type:Ae},{type:Le}]},e.propDecorators={text:[{type:t.Input}],onInput:[{type:t.HostListener,args:["keyup",["$event"]]}],onMouseleave:[{type:t.HostListener,args:["mouseleave",["$event"]]}],onBlur:[{type:t.HostListener,args:["blur",["$event"]]}]},e}();var Ue=function(){function e(){this.onLoadingChanged=new t.EventEmitter,this.stopList=[],this.requests=[],this.stopList.push(k.SAVE_TEXT),this.stopList.push(k.SAVE_OPTICAL_CODE),this.stopList.push(k.LOAD_DOCUMENT_PAGE),this.stopList.push(k.LOAD_THUMBNAILS),this.stopList.push(k.GET_FILE_STATUS),this.stopList.push(k.LOAD_PRINT)}return e.prototype.onRequestStart=function(e){this.stopList.find((function(t){return e.url.includes(t)}))||(this.requests.push(e),this.notify())},e.prototype.onRequestFinish=function(e){var t=this.requests.indexOf(e);-1!==t&&this.requests.splice(t,1),this.notify()},e.prototype.addStopUrl=function(e){this.stopList.push(e)},e.prototype.notify=function(){this.onLoadingChanged.emit(0!==this.requests.length)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[]},e}();var Ne=function(){function e(e){this._loadingMaskService=e,this.loadingMask=!1}return e.prototype.ngOnInit=function(){},e.prototype.ngAfterViewInit=function(){var e=this;this._loadingMaskService.onLoadingChanged.subscribe((function(t){return e.loadingMask=t}))},e.decorators=[{type:t.Component,args:[{selector:"gd-loading-mask",template:'
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n',styles:[".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"]}]}],e.ctorParameters=function(){return[{type:Ue}]},e.propDecorators={loadingMask:[{type:t.Input}]},e}();var Be=function(){function e(e){this._loadingMaskService=e}return e.prototype.intercept=function(e,t){var o=this;this._loadingMaskService.onRequestStart(e);return t.handle(e).pipe(i.finalize((function(){return o._loadingMaskService.onRequestFinish(e)})))},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:Ue}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(Ue))},token:e,providedIn:"root"}),e}();var We={center:{right:"auto"},left:{right:"100%"},right:{right:"-100%"}},$e={center:{top:"0px"},top:{top:"-100%",right:"100%"},bottom:{top:"autos"}},qe=function(){function e(e){var t=this;this.dropdown=e,this.click=function(e){return t.dropdown.toggle(e)}}return e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down-toggle",template:"",encapsulation:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef((function(){return Xe}))]}]}]},e.propDecorators={click:[{type:t.HostListener,args:["click",["$event"]]}]},e}();var Ve=function(){function e(e){this.dropdown=e}return Object.defineProperty(e.prototype,"horizontalAlign",{get:function(){return We[this.dropdown.getPlacement().h].right},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"verticalAlign",{get:function(){return $e[this.dropdown.getPlacement().v].top},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOpen",{get:function(){return this.dropdown.open},enumerable:!0,configurable:!0}),e.prototype.onClickOutside=function(e){this.dropdown.close()},e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down-items",template:'',encapsulation:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef((function(){return Xe}))]}]}]},e}();var Ge=function(){function e(e){var o=this;this.dropdown=e,this.class="drop-down-item",this.selected=new t.EventEmitter,this.click=function(){return o.selectEntry()}}return e.prototype.selectEntry=function(){this.selected.next(),this.dropdown.close()},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef((function(){return Xe}))]}]}]},e.propDecorators={class:[{type:t.HostBinding,args:["class"]}],selected:[{type:t.Output}],click:[{type:t.HostListener,args:["click"]}]},e}();var Xe=function(){function e(){this.placement={h:"center",v:"bottom"},this.open=!1,this.class="drop-down"}return e.prototype.close=function(){this.open=!1},e.prototype.toggle=function(e){e.stopPropagation(),this.open=!this.open,document.body.click()},e.prototype.getPlacement=function(){return this.placement},e.decorators=[{type:t.Component,args:[{selector:"gd-drop-down",template:'',encapsulation:t.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}"]}]}],e.propDecorators={placement:[{type:t.Input}],open:[{type:t.Input},{type:t.HostBinding,args:["class.show"]}],class:[{type:t.HostBinding,args:["class"]}]},e}();var Ze=function(){function e(){this.showSpinner=!1}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"gd-left-side-bar",template:'
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n',styles:[".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={showSpinner:[{type:t.Input}]},e}();var Ye=function(){function e(){this.showToolTip=new t.EventEmitter}return e.prototype.onHovering=function(){this.showToolTip.emit(!0)},e.prototype.onUnhovering=function(){this.showToolTip.emit(!1)},e.decorators=[{type:t.Directive,args:[{selector:"[gdTooltip]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={showToolTip:[{type:t.Output}],onHovering:[{type:t.HostListener,args:["mouseenter"]}],onUnhovering:[{type:t.HostListener,args:["mouseleave"]}]},e}();var Je=function(){function e(e,t){this._factoryResolver=e,this._appRef=t}return e.prototype.addDynamicComponent=function(e,t){var o=this,n=this._factoryResolver.resolveComponentFactory(t),i=e.createComponent(n);return i.onDestroy((function(){o._appRef.detachView(i.hostView)})),i},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.ComponentFactoryResolver},{type:t.ApplicationRef}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(t.ComponentFactoryResolver),t.ɵɵinject(t.ApplicationRef))},token:e,providedIn:"root"}),e}();var Ke=function(){function e(){this.hosts=[]}return e.prototype.add=function(e){this.hosts=this.hosts.filter((function(t){return t.ident!==e.ident})),this.hosts.push(e)},e.prototype.remove=function(e){this.hosts=this.hosts.filter((function(t){return t.ident!==e.ident}))},e.prototype.find=function(e){return this.hosts.find((function(t){return t.ident===e}))},e}();var Qe=function(){function e(e,t){this.viewContainerRef=e,this._hostingService=t}return e.prototype.ngAfterViewInit=function(){this._hostingService.add(this)},e.prototype.ngOnDestroy=function(){this._hostingService.remove(this),this.viewContainerRef.clear()},e.decorators=[{type:t.Directive,args:[{selector:"[gdHostDynamic]"}]}],e.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:Ke}]},e.propDecorators={ident:[{type:t.Input}]},e}();var et=l,tt=function(){function e(){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 t.EventEmitter,this.offsetY=new t.EventEmitter,this.offsetTop=new t.EventEmitter,this.offsetLeft=new t.EventEmitter,this.release=new t.EventEmitter,this.grab=!1}return e.prototype.ngAfterViewInit=function(){var e=this,t=et(this.getElementId(this.SE)),o=et(this.getElementId(this.NW));if(this.init&&t&&o&&t.offset()&&o.offset()){for(var n=t.offset().left-o.offset().left,i=t.offset().top-o.offset().top;n>=this.pageWidth||i>=this.pageHeight;)n/=2,i/=2;setTimeout((function(){e.offsetX.emit(n),e.offsetY.emit(i)}),100)}},e.prototype.ngOnInit=function(){},e.prototype.catchUp=function(e){e.preventDefault(),e.dataTransfer&&e.dataTransfer.setData("text","foo"),this.grab=!0,this.oldPosition=M.getMousePosition(e)},e.prototype.resize=function(e,t){if(this.grab){var o=M.getMousePosition(e);if(0!==o.x||0!==o.y){var n=this.NE===t||this.NW===t,i=this.SW===t||this.NW===t;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}}},e.prototype.setOffsets=function(e,t,o){var n=t?this.oldPosition.x-e.x:e.x-this.oldPosition.x,i=o?this.oldPosition.y-e.y:e.y-this.oldPosition.y;this.offsetX.emit(n),this.offsetY.emit(i)},e.prototype.end=function(e,t){this.resize(e,t),this.release.emit(!0),this.grab=!1},e.prototype.start=function(e){this.drop(e)},e.prototype.drop=function(e){e.stopPropagation(),e.preventDefault()},e.prototype.getElementId=function(e){return"#"+e+"-"+this.id},e.decorators=[{type:t.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}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={init:[{type:t.Input}],id:[{type:t.Input}],se:[{type:t.Input}],ne:[{type:t.Input}],sw:[{type:t.Input}],nw:[{type:t.Input}],pageWidth:[{type:t.Input}],pageHeight:[{type:t.Input}],offsetX:[{type:t.Output}],offsetY:[{type:t.Output}],offsetTop:[{type:t.Output}],offsetLeft:[{type:t.Output}],release:[{type:t.Output}]},e}();var ot=function(e){function t(){return e.call(this)||this}return f(t,e),t}(Ee),nt=function(){function e(e,o,n){var i=this;this._tabActivatorService=e,this._modalService=o,this._excMessageService=n,this.disabled=!1,this.activeTab=new t.EventEmitter,this.elementPosition=0,this.active=!1,this.showToolTip=!1,this._tabActivatorService.activeTabChange.subscribe((function(e){i.activation(e),null===e&&i.activeTab.emit("")}))}return e.prototype.activation=function(e){this.id===e?(this.active=!this.active,this.active?this.activeTab.emit(this.id):this.activeTab.emit("")):this.active=!1},e.prototype.ngOnInit=function(){},e.prototype.toggleTab=function(){if(this.disabled)return this._modalService.open(_.ErrorMessage),void this._excMessageService.changeMessage("Please open document first");this._tabActivatorService.changeActiveTab(this.id)},e.decorators=[{type:t.Component,args:[{selector:"gd-top-tab",template:'
\r\n \r\n \r\n
\r\n',styles:[".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"]}]}],e.ctorParameters=function(){return[{type:ot},{type:E},{type:fe}]},e.propDecorators={id:[{type:t.Input}],icon:[{type:t.Input}],disabled:[{type:t.Input}],tooltip:[{type:t.Input}],activeTab:[{type:t.Output}],elementPosition:[{type:t.Input}]},e}();var it=l,rt=function(){function e(e,o,n,i,r){var a=this;this._onCloseService=e,this._zoomService=o,this._windowService=n,this._elementRef=i,this.renderer=r,this.decoration=!0,this.showTooltips=!0,this.outFontSize=new t.EventEmitter,this.outFont=new t.EventEmitter,this.outBold=new t.EventEmitter,this.outItalic=new t.EventEmitter,this.outUnderline=new t.EventEmitter,this.outColor=new t.EventEmitter,this.fontSizeOptions=ze.getFontSizeOptions(),this.fontOptions=ze.getFontOptions(),this.colorPickerShow=!1,e.onClose.subscribe((function(){a.colorPickerShow=!1})),this.isMobile=n.isMobile(),n.onResize.subscribe((function(e){a.isMobile=n.isMobile()})),o.zoomChange.subscribe((function(e){a.isMobile&&a.changePosition(e)}))}return e.prototype.ngOnInit=function(){},e.prototype.changePosition=function(e){var t=window.innerHeight-24-this._elementRef.nativeElement.parentElement.getBoundingClientRect().top-this._elementRef.nativeElement.parentElement.getBoundingClientRect().height,o=this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"width",window.innerWidth+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"top",t+"px"),this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-text-menu"),"left",-o+"px")},e.prototype.selectFontSize=function(e){it(".gd-wrapper").off("keyup"),this.outFontSize.emit(e.value),it(".gd-wrapper").on("keyup",(function(){for(var t=document.getElementsByTagName("font"),o=0,n=t.length;o\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n',styles:["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"]}]}],e.ctorParameters=function(){return[{type:ce},{type:B},{type:x},{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={blur:[{type:t.Input}],fontSize:[{type:t.Input}],font:[{type:t.Input}],bold:[{type:t.Input}],italic:[{type:t.Input}],underline:[{type:t.Input}],color:[{type:t.Input}],decoration:[{type:t.Input}],showTooltips:[{type:t.Input}],outFontSize:[{type:t.Output}],outFont:[{type:t.Output}],outBold:[{type:t.Output}],outItalic:[{type:t.Output}],outUnderline:[{type:t.Output}],outColor:[{type:t.Output}]},e}();var at=function(){function e(){}return e.FOR_SIGNATURE="signature",e.FOR_ANNOTATION="annotation",e}();var st=function(){function e(e,o,n,i){var r=this;this._windowService=e,this._zoomService=o,this._elementRef=n,this.renderer=i,this.formatting=Oe.default(),this.lock=!1,this.translation=0,this.changeFormatting=new t.EventEmitter,this.removeItem=new t.EventEmitter,this.copySign=new t.EventEmitter,this.lockOut=new t.EventEmitter,this.comment=new t.EventEmitter,this.isMobile=e.isMobile(),e.onResize.subscribe((function(t){r.isMobile=e.isMobile()})),o.zoomChange.subscribe((function(e){r.isMobile&&r.changeScale(e)}))}return e.prototype.ngOnInit=function(){},e.prototype.changeScale=function(e){this.renderer.setStyle(this._elementRef.nativeElement.querySelector(".gd-context-menu"),"transform","scale("+1/(e/100)+")")},e.prototype.saveChanges=function(){this.changeFormatting.emit(this.formatting)},e.prototype.selectFontSize=function(e){this.formatting.fontSize=e,this.saveChanges()},e.prototype.selectFont=function(e){this.formatting.font=e,this.saveChanges()},e.prototype.selectColor=function(e){this.formatting.color=e,this.saveChanges()},e.prototype.toggleBold=function(e){this.formatting.bold=e,this.saveChanges()},e.prototype.toggleItalic=function(e){this.formatting.italic=e,this.saveChanges()},e.prototype.toggleUnderline=function(e){this.formatting.underline=e,this.saveChanges()},e.prototype.deleteItem=function(){this.removeItem.emit(!0)},e.prototype.toggleLock=function(){this.lock=!this.lock,this.lockOut.emit(this.lock)},e.prototype.onCopySign=function(){this.copySign.emit(!0)},e.prototype.isSignature=function(){return this.menuType===at.FOR_SIGNATURE},e.prototype.isAnnotation=function(){return this.menuType===at.FOR_ANNOTATION},e.prototype.addComment=function(){this.comment.emit(!0)},e.decorators=[{type:t.Component,args:[{selector:"gd-context-menu",template:'
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n',styles:[".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"]}]}],e.ctorParameters=function(){return[{type:x},{type:B},{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={formatting:[{type:t.Input}],textMenu:[{type:t.Input}],topPosition:[{type:t.Input}],lock:[{type:t.Input}],translation:[{type:t.Input}],menuType:[{type:t.Input}],changeFormatting:[{type:t.Output}],removeItem:[{type:t.Output}],copySign:[{type:t.Output}],lockOut:[{type:t.Output}],comment:[{type:t.Output}]},e}();var ct=[C,k,E,j,T,R,M,Y,J,K,Q,L,ge,$,W,B,fe,be,we,ye,x,ne,ze,Te,ce,Be,Ue,Ee,Je,Ke,ot,V],pt=function(){function e(){a.library.add(s.fas,c.far)}return e.decorators=[{type:t.NgModule,args:[{imports:[o.CommonModule,r.FontAwesomeModule,g.ClickOutsideModule],declarations:[b,v,w,y,S,P,N,q,X,Z,G,Y,J,K,Q,ee,te,re,ae,se,pe,le,de,ue,he,me,xe,Se,Ce,_e,Pe,Ie,De,Re,je,He,Ne,Xe,Ge,Ve,qe,Ze,Ye,Qe,tt,nt,rt,st],exports:[b,v,w,y,S,P,N,q,X,Z,G,J,K,Q,Y,ee,re,ae,pe,de,ue,he,me,xe,Se,Ce,_e,Pe,Ie,De,Re,je,Ne,te,Xe,Ge,Ve,qe,se,qe,Ze,Ye,Qe,tt,nt,rt,st,He,Re],providers:ct}]}],e.ctorParameters=function(){return[]},e}();e.AddDynamicComponentService=Je,e.Api=k,e.BackFormattingService=Te,e.BrowseFilesModalComponent=N,e.ButtonComponent=w,e.ColorPickerComponent=De,e.CommonComponentsModule=pt,e.CommonModals=_,e.ConfigService=C,e.ContextMenuComponent=st,e.DisabledCursorDirective=le,e.DndDirective=te,e.DocumentComponent=q,e.DropDownComponent=Xe,e.DropDownItemComponent=Ge,e.DropDownItemsComponent=Ve,e.DropDownToggleComponent=qe,e.EditHtmlService=Le,e.EditorDirective=He,e.ErrorInterceptorService=we,e.ErrorModalComponent=me,e.ExcelDocumentComponent=X,e.ExcelPageComponent=G,e.ExcelPageService=V,e.ExceptionMessageService=fe,e.FileCredentials=z,e.FileDescription=D,e.FileModel=T,e.FileService=j,e.FileUtil=R,e.Formatting=Oe,e.FormattingDirective=Re,e.FormattingService=ze,e.HighlightSearchPipe=Q,e.HostDynamicDirective=Qe,e.HostingDynamicComponentService=Ke,e.HttpError=A,e.InitStateComponent=ue,e.LeftSideBarComponent=Ze,e.LoadingMaskComponent=Ne,e.LoadingMaskInterceptorService=Be,e.LoadingMaskService=Ue,e.LogoComponent=y,e.MenuType=at,e.ModalComponent=P,e.ModalService=E,e.MouseWheelDirective=ae,e.NavigateService=$,e.OnCloseService=ce,e.PageComponent=Z,e.PageModel=I,e.PagePreloadService=W,e.PasswordRequiredComponent=xe,e.PasswordService=be,e.RenderPrintDirective=he,e.RenderPrintService=ge,e.RotatedPage=O,e.RotationDirective=de,e.SanitizeHtmlPipe=Y,e.SanitizeResourceHtmlPipe=J,e.SanitizeStylePipe=K,e.SaveFile=F,e.ScrollableDirective=re,e.SearchComponent=Se,e.SearchService=ye,e.SearchableDirective=Ce,e.SelectComponent=pe,e.SelectionService=Ae,e.SidePanelComponent=v,e.SuccessModalComponent=je,e.TabActivatorService=Ee,e.TabComponent=Pe,e.TabbedToolbarsComponent=_e,e.TextMenuComponent=rt,e.TooltipComponent=S,e.TopTabActivatorService=ot,e.TopToolbarComponent=b,e.UploadFileZoneComponent=ee,e.UploadFilesService=L,e.Utils=M,e.ViewportService=ne,e.WindowService=x,e.ZoomDirective=se,e.ZoomService=B,e.ɵa=Ie,e.ɵb=Ye,e.ɵc=tt,e.ɵd=nt,Object.defineProperty(e,"__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 1cbbd7cbc..48f78ffb3 100644 --- a/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js.map +++ b/dist/libs/common-components/bundles/groupdocs.examples.angular-common-components.umd.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__values","o","m","Symbol","iterator","i","call","next","length","value","done","TopToolbarComponent","Component","args","selector","template","SidePanelComponent","closable","saveable","hideSidePanel","EventEmitter","saveInSidePanel","onlyTitle","closeSidePanel","emit","saveBySidePanel","toggleTitleMode","Input","Output","WindowService","_this","resizeSubject","Subject","width","window","innerWidth","height","innerHeight","_resize$","fromEvent","pipe","debounceTime","distinctUntilChanged","startWith","target","tap","event","subscribe","defineProperty","asObservable","isMobile","isTablet","isDesktop","getWidth","getHeight","isEdge","navigator","userAgent","toLowerCase","indexOf","isFirefox","ButtonComponent","windowService","iconOnly","intent","disabled","toggle","iconRegular","elementPosition","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","position","visibility","getClass","Api","VIEWER_APP","SIGNATURE_APP","ANNOTATION_APP","SEARCH_APP","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","METADATA_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","LOAD_DOCUMENT_PROPERTIES","LOAD_DOCUMENT_PROPERTIES_NAMES","SAVE_PROPERTY","REMOVE_PROPERTY","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","DOWNLOAD_ANNOTATED","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","CREATE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","REMOVE_FROM_INDEX","GET_FILE_STATUS","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","SEARCH","ADD_FILES_TO_INDEX","CLEAN_METADATA","EXPORT_METADATA","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getMetadataApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","getSearchApiEndpoint","Injectable","CommonModals","PasswordRequired","ErrorMessage","BrowseFiles","CreateDocument","OperationSuccess","DrawHandSignature","DrawStampSignature","InformationMessage","ModalService","modals","add","modal","push","remove","id","filter","x","open","close","ModalComponent","modalService","el","visible","cancel","element","nativeElement","document","body","appendChild","console","error","ngOnDestroy","preventDefault","stopPropagation","onClose","$event","cancelClose","ElementRef","RotatedPage","FileCredentials","guid","password","SaveFile","_super","content","tslib_1.__extends","FileDescription","printAllowed","FileModel","HttpError","BadRequest","Unauthorized","Forbidden","NotFound","TimeOut","Conflict","InternalServerError","Utils","getMousePosition","mouse","y","wEvent","ev","pageX","screenX","touches","pageY","screenX_1","screenY","screenY_1","clientX","scrollLeft","clientY","scrollTop","toRgb","color","result","exec","r","parseInt","g","toHex","match","charAt","c","RegExp","$1","$2","$3","pad","len","toString","FileUtil","find","filename","isDirectory","strings","split","name_1","pop","map","folder","format","icon","pdf","unit","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown","FileService","UploadFilesService","_uploadsChange","Observable","observer","_observer","changeFilesList","filesList","$","jquery","uploads_choices","name","BrowseFilesModalComponent","_uploadService","uploads","selectedFileGuid","selectedDirectory","urlForUpload","closing","showUploadUrl","showUploadFile","getSize","size","mb","Math","round","kb","getFormatName","file","directory","getFormatIcon","choose","selectedFile","goUp","selectUpload","trigger","refresh","files","showSpinner","uploadUrl","cleanUpload","handleFileInput","ZoomService","_zoomChange","_zoom","changeZoom","zoom","createZoomOption","sep","separator","zoomOptions","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","DocumentComponent","_elementRef","_zoomService","_windowService","_navigateService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","navigate","selectedPage","ifPresentation","ngOnChanges","ngAfterViewInit","children","item","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","pageNumber","showActiveSlide","isVisible","mode","ifEdge","ngAfterViewChecked","PageComponent","test","number","editable","changes","isHtml","data","imgData","SanitizeHtmlPipe","sanitizer","transform","bypassSecurityTrustHtml","Pipe","DomSanitizer","SanitizeResourceHtmlPipe","bypassSecurityTrustResourceUrl","SanitizeStylePipe","bypassSecurityTrustStyle","HighlightSearchPipe","re","UploadFileZoneComponent","closeUpload","onCloseUpload","DndDirective","_uploadFilesService","opening","dropped","active","dragCounter","onDragEnter","evt","onDragOver","onDragLeave","closeArea","onDrop","dataTransfer","onClick","Directive","HostBinding","HostListener","ViewportService","checkInViewport","leftOffset","deltaX","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","min","toFixed","ScrollableDirective","_viewportService","loadedPagesSet","Set","scrollToPage","scrolling","resizing","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","floor","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","has","MouseWheelDirective","mouseWheelUp","mouseWheelDown","onMouseWheelChrome","mouseWheelFunc","onMouseWheelFirefox","onMouseWheelIE","delta","max","wheelDelta","detail","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","pages","forEach","minWidth","getScrollWidth","elm","getScrollHeight","viewPortWidth","parentElement","viewPortHeight","scrollWidth","scrollHeight","OnCloseService","_onClose","SelectComponent","_onCloseService","selected","opened","isOpen","onClickOutside","select","DisabledCursorDirective","updateCursor","cursor","dis","RotationDirective","withMargin","angle","animation","transition","isHtmlMode","isLandscape","InitStateComponent","fileDropped","RenderPrintService","_render","_renderBlob","_observerBlob","changePages","changeBlob","RenderPrintDirective","_renderService","renderPrint","renderPrintBlob","pagesHtml","pages_1","tslib_1.__values","pages_1_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","setTimeout","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","_observerHttpEvent","_httpEventChange","changeMessage","message","changeHttpEvent","httpEvent","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","ErrorInterceptorService","_modalService","_messageService","intercept","req","logFormat","handle","catchError","exception","HttpErrorResponse","status","ErrorMessageWindowName","throwError","SearchService","_textChange","_observerCurrent","_currentChange","_observerTotal","_totalChange","setText","text","setCurrent","current","setTotal","total","SearchComponent","_searchService","hidePanel","totalChange","hide","textElement","ViewChild","static","SearchableDirective","_highlight","currentChange","moveToCurrent","textChange","highlightSearch","cleanHighlight","highlightEl","querySelectorAll","removeClass","currentEl","addClass","textNodes","contents","nodeName","checkClass","classList","contains","nodeType","textContent","highlight","each","$this","replaceWith","normalize","nodeListOf","innerText","TabbedToolbarsComponent","TabActivatorService","_activeTabChange","changeActiveTab","tabId","TabComponent","_tabActivatorService","activeTabChange","activation","selectTab","TabsComponent","Formatting","fontSize","bgColor","bold","italic","underline","font","strikeout","align","list","default","FormattingService","_observerBold","_formatBoldChange","_observerUnderline","_formatUnderlineChange","_observerUndo","_undo","_observerRedo","_redo","_observerItalic","_formatItalicChange","_observerColor","_formatColorChange","_observerBgColor","_formatBgColorChange","_observerFontSize","_formatFontSizeChange","_observerFont","_formatFontChange","_observerStrikeout","_formatStrikeoutChange","_observerAlign","_formatAlignChange","_observerList","_formatListChange","createFontSizeOption","getFontSizeOptions","createFontOption","getFontOptions","fontOptions","changeFormatFontSize","changeFormatBold","changeFormatUnderline","Undo","Redo","changeFormatItalic","changeFormatColor","changeFormatBgColor","bgcolor","changeFormatFont","changeFormatStrikeout","changeFormatAlign","changeFormatList","DEFAULT_COLORS","ColorPickerComponent","selectedColor","closeOutside","colors","white","BackFormattingService","SelectionService","isIE","restoreSelection","selection","collapsed","putSelection","captureSelection","getSelection","rangeCount","getRangeAt","sel","removeAllRanges","addRange","cloneRange","refreshSelection","FormattingDirective","_formattingService","_backFormattingService","_selectionService","mouseup","queryCommandState","queryCommandValue","checkJustify","checkList","focusNode","parentNode","css","reportFontSize","containerEl","commonAncestorContainer","type","createRange","getComputedStyleProperty","propName","getComputedStyle","currentStyle","undo","toggleUndo","redo","toggleRedo","formatBoldChange","toggleBold","formatUnderlineChange","toggleUnderline","formatItalicChange","toggleItalic","formatColorChange","setColor","formatBgColorChange","setBgColor","formatFontSizeChange","setFontSize","formatFontChange","setFont","formatStrikeoutChange","toggleStrikeout","formatAlignChange","toggleAlign","formatListChange","toggleList","execCommand","spanString","toggleAlignIE","SuccessModalComponent","EditHtmlService","_htmlContent","EditorDirective","_htmlService","onInput","innerHTML","onMouseleave","onBlur","LoadingMaskService","onLoadingChanged","stopList","requests","onRequestStart","includes","notify","onRequestFinish","index","splice","addStopUrl","LoadingMaskComponent","_loadingMaskService","loadingMask","loading","LoadingMaskInterceptorService","finalize","horizontalAlignment","center","verticalAlignment","DropDownToggleComponent","dropdown","click","encapsulation","ViewEncapsulation","None","Inject","forwardRef","DropDownComponent","DropDownItemsComponent","getPlacement","h","v","DropDownItemComponent","class","selectEntry","placement","LeftSideBarComponent","TooltipDirective","AddDynamicComponentService","_factoryResolver","_appRef","addDynamicComponent","viewContainerRef","component","factory","resolveComponentFactory","componentRef","createComponent","onDestroy","detachView","hostView","ComponentFactoryResolver","ApplicationRef","HostingDynamicComponentService","hosts","host","ident","HostDynamicDirective","_hostingService","clear","ViewContainerRef","ResizingComponent","se","ne","sw","nw","SE","NE","SW","NW","offsetX","offsetY","offsetTop","offsetLeft","release","grab","elSE","getElementId","elNW","init","width_1","height_1","pageWidth","pageHeight","catchUp","setData","oldPosition","resize","notSW","notNE","setOffsets","end","start","drop","TopTabActivatorService","TopTabComponent","_excMessageService","activeTab","toggleTab","TextMenuComponent","renderer","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","changePosition","setStyle","querySelector","selectFontSize","off","on","fontElements","getElementsByTagName","getAttribute","removeAttribute","style","selectFont","toggleColorPicker","selectColor","closePicker","Renderer2","MenuType","FOR_SIGNATURE","FOR_ANNOTATION","ContextMenuComponent","formatting","lock","translation","changeFormatting","removeItem","copySign","lockOut","comment","changeScale","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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R,GACAf,GACA/I,GACAsL,GACAe,GACAyC,IAEFuD,GAAA,WAoGE,SAAAA,IACEC,EAAAA,QAAQ5yB,IAAI6yB,EAAAA,IAAKC,EAAAA,KAErB,2BAvGCC,EAAAA,SAAQ18B,KAAA,CAAC,CACR28B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZj9B,EACAK,EACA6C,EACAmB,EACAE,EACA+F,EACA2K,EACAuD,EACAwC,EACAQ,EACAM,EACAE,EACAE,EACAE,EACAG,EACAqC,GACA0B,GACAW,GACAoB,GACAO,GACAI,GACAO,GACAQ,GACA4B,GACAO,GACA6B,GACAQ,GACA2B,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAiB,GACAiB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA+B,IAEF6B,QAAS,CACPl9B,EACAK,EACA6C,EACAmB,EACAE,EACA+F,EACA2K,EACAuD,EACAwC,EACAc,EACAE,EACAE,EACAV,EACAY,EACAwC,GACA0B,GACA+B,GACAW,GACAO,GACAQ,GACA4B,GACAO,GACA6B,GACAQ,GACA2B,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAoB,GACAtX,EACAuY,GACAK,GACAJ,GACAT,GACArT,GACAqT,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA+B,IAEFkB,UAAWA,6CAMbC,EAvGA","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gd-top-toolbar',\n templateUrl: './top-toolbar.component.html',\n styleUrls: ['./top-toolbar.component.less']\n})\nexport class TopToolbarComponent {\n\n constructor() {\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gd-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.less']\n})\n\nexport class SidePanelComponent {\n @Input() title: string;\n @Input() icon: string;\n @Input() closable = true;\n @Input() saveable = true;\n @Output() hideSidePanel = new EventEmitter();\n @Output() saveInSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n closeSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n saveBySidePanel() {\n this.saveInSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n if (this.closable && !this.saveable) {\n this.onlyTitle = !this.onlyTitle;\n }\n }\n}\n","import {fromEvent, Observable, Subject} from \"rxjs\";\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\n\nconst MOBILE_MAX_WIDTH = 425;\nconst TABLET_MAX_WIDTH = 1024;\n\nexport class WindowService {\n\n private resizeSubject: Subject = new Subject();\n private _resize$;\n private width: number;\n private height: number;\n\n constructor() {\n this.width = window.innerWidth;\n this.height = window.innerHeight;\n\n this._resize$ = fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n distinctUntilChanged(),\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\n tap(event => {\n this.resizeSubject.next(event.target);\n this.width = (event.target as Window).innerWidth;\n this.height = (event.target as Window).innerHeight;\n }),\n );\n this._resize$.subscribe();\n }\n\n get onResize(): Observable {\n return this.resizeSubject.asObservable();\n }\n\n isMobile() {\n return this.width <= MOBILE_MAX_WIDTH;\n }\n\n isTablet() {\n return this.width <= TABLET_MAX_WIDTH;\n }\n\n isDesktop() {\n return !this.isMobile() && !this.isTablet();\n }\n\n getWidth() {\n return this.width;\n }\n\n getHeight() {\n return this.height;\n }\n\n isEdge() {\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {WindowService} from \"../window.service\";\n\n@Component({\n selector: 'gd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.less']\n})\nexport class ButtonComponent {\n @Input() iconOnly = true;\n @Input() intent = 'default';\n @Input() disabled = false;\n @Input() icon: string;\n @Input() iconClass: string;\n @Input() tooltip: string;\n @Input() className: string;\n @Input() toggle = false;\n @Input() iconSize: string;\n @Input() iconRegular = false;\n @Input() elementPosition = 0;\n\n showToolTip = false;\n private isDesktop: boolean;\n\n constructor(windowService: WindowService) {\n this.isDesktop = windowService.isDesktop();\n windowService.onResize.subscribe((w) => {\n this.isDesktop = windowService.isDesktop();\n });\n }\n\n iconButtonClass() {\n return this.iconOnly ? 'icon-button' : '';\n }\n\n onHovering() {\n if (this.isDesktop && !this.disabled) {\n this.className += ' active';\n }\n }\n\n onUnhovering() {\n if (this.isDesktop && !this.disabled) {\n this.className = this.cleanAll(this.className, ' active');\n }\n }\n\n private cleanAll(str: string, val: string) {\n while (str && str.indexOf(val) !== -1) {\n str = str.replace(val, '');\n }\n return str;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-logo',\n templateUrl: './logo.component.html',\n styleUrls: ['./logo.component.less']\n})\nexport class LogoComponent implements OnInit {\n\n @Input() logo;\n @Input() icon;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.less']\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() text: string;\n @Input() position = 0;\n visibility = 'hidden';\n\n constructor() {\n }\n\n getClass() {\n if (this.position === 0) {\n return 'tooltip';\n }\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\n }\n\n @Input()\n set show(value: boolean) {\n this.visibility = value ? 'shown' : 'hidden';\n }\n\n ngOnInit() {\n }\n\n}\n","import {HttpHeaders} from \"@angular/common/http\";\nimport {Injectable} from \"@angular/core\";\n\nexport class Api {\n public static VIEWER_APP = '/viewer';\n public static SIGNATURE_APP = '/signature';\n public static ANNOTATION_APP = '/annotation';\n public static SEARCH_APP = '/search';\n public static EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\n public static METADATA_APP = '/metadata';\n public static DEFAULT_API_ENDPOINT = window.location.href;\n public static LOAD_FILE_TREE = '/loadFileTree';\n public static LOAD_CONFIG = '/loadConfig';\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\n public static SAVE_PROPERTY = '/saveProperty';\n public static REMOVE_PROPERTY = '/removeProperty';\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\n public static LOAD_PRINT = '/loadPrint';\n public static LOAD_PRINT_PDF = '/printPdf';\n public static LOAD_THUMBNAILS = '/loadThumbnails';\n public static LOAD_FORMATS = '/loadFormats';\n public static SAVE_FILE = '/saveFile';\n public static CREATE_FILE = '/createFile';\n public static COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\n public static GET_FILE_STATUS = '/getFileStatus';\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\n public static SAVE_TEXT = '/saveText';\n public static SAVE_IMAGE = '/saveImage';\n public static SAVE_STAMP = '/saveStamp';\n public static SIGN = '/sign';\n public static DOWNLOAD_SIGNED = '/downloadSigned';\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\n public static ANNOTATE = '/annotate';\n public static SEARCH = '/search';\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\n public static CLEAN_METADATA = '/clean';\n public static EXPORT_METADATA = '/export';\n\n public static httpOptionsJson = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n public static httpOptionsJsonResponseTypeBlob = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n responseType: 'blob' as 'blob'\n };\n}\n\n@Injectable()\nexport class ConfigService {\n\n private _apiEndpoint: string;\n\n constructor() {\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\n }\n\n set apiEndpoint(url: string) {\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\n }\n\n getConfigEndpoint(app) {\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\n }\n\n getViewerApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\n }\n\n getEditorApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\n }\n\n getComparisonApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\n }\n\n getConversionApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\n }\n\n getMetadataApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\n }\n\n get apiEndpoint() {\n return this._apiEndpoint;\n }\n\n getSignatureApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\n }\n\n getAnnotationApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\n }\n\n getSearchApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\n }\n}\n","export class CommonModals {\n static PasswordRequired = \"gd-password-required\";\n static ErrorMessage = \"gd-error-message\";\n static BrowseFiles = \"gd-browse-files\";\n static CreateDocument = \"gd-create-document\";\n static OperationSuccess = \"gd-success-modal\";\n static DrawHandSignature = \"gd-draw-hand-signature\";\n static DrawStampSignature = \"gd-draw-stamp-signature\";\n static InformationMessage = \"gd-information-message\";\n}\n\nexport class ModalService {\n private modals: any[] = [];\n\n add(modal: any) {\n this.modals.push(modal);\n }\n\n remove(id: string) {\n this.modals = this.modals.filter(x => x.id !== id);\n }\n\n open(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.open();\n }\n }\n\n close(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.close();\n }\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ModalService} from \"../modal.service\";\n\n@Component({\n selector: 'gd-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.less']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() id: string;\n @Input() title: string;\n @Output() visible = new EventEmitter();\n @Output() cancel = new EventEmitter();\n visibility = false;\n private element: any;\n\n constructor(private modalService: ModalService, el: ElementRef) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n if (!this.id) {\n console.error('modal must have an id');\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.modalService.add(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.visibility = true;\n this.visible.emit(true);\n }\n\n close(): void {\n event.preventDefault();\n event.stopPropagation();\n this.visibility = false;\n this.visible.emit(false);\n }\n\n onClose($event: MouseEvent) {\n $event.stopPropagation();\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\n this.close();\n }\n }\n\n cancelClose() {\n this.cancel.emit(false);\n this.close();\n }\n}\n","export class PageModel {\n data: string;\n angle: number;\n width: number;\n height: number;\n number: number;\n editable: boolean;\n}\n\nexport class RotatedPage {\n pageNumber: number;\n angle: number;\n}\n\nexport class FileCredentials {\n guid: string;\n password: string;\n\n constructor(guid: string, password: string) {\n this.guid = guid;\n this.password = password;\n }\n}\n\nexport class SaveFile extends FileCredentials {\n content: string;\n\n constructor(guid: string, password: string, content: string) {\n super(guid, password);\n this.content = content;\n }\n}\n\nexport class FileDescription {\n guid: string;\n pages: PageModel[];\n printAllowed = true;\n showGridLines: boolean;\n thumbnails: PageModel[];\n}\n\nexport class FileModel {\n guid: string;\n name: string;\n directory: boolean;\n size: number;\n isDirectory: boolean;\n}\n\nexport class HttpError {\n static BadRequest = 400;\n static Unauthorized = 401;\n static Forbidden = 403;\n static NotFound = 404;\n static TimeOut = 408;\n static Conflict = 409;\n static InternalServerError = 500;\n}\n\nexport class Utils {\n public static getMousePosition(event) {\n const mouse = {\n x: 0,\n y: 0\n };\n const wEvent: DragEvent = window.event;\n const ev = event || wEvent; //Moz || IE\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\n } else if (ev.clientX) { //IE\n mouse.x = ev.clientX + document.body.scrollLeft;\n mouse.y = ev.clientY + document.body.scrollTop;\n }\n return mouse;\n }\n\n public static toRgb(color: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\n if (result) {\n const r = parseInt(result[1], 16);\n const g = parseInt(result[2], 16);\n const b = parseInt(result[3], 16);\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\n }\n return color;\n }\n\n public static toHex(color: string) {\n // check if color is standard hex value\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\n // check if color is RGB value -> convert to hex\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\n pad = function (str) {\n if (str.length < 2) {\n for (let i = 0, len = 2 - str.length; i < len; i++) {\n str = '0' + str;\n }\n }\n return str;\n };\n if (c.length === 3) {\n const r = pad(c[0].toString(16)),\n g = pad(c[1].toString(16)),\n b = pad(c[2].toString(16));\n return '#' + r + g + b;\n }\n // else do nothing\n } else {\n return '';\n }\n }\n}\n\nexport class FileUtil {\n public static map = {\n 'folder': {'format': '', 'icon': 'folder'},\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\n };\n\n public static find(filename: string, isDirectory: boolean) {\n if (filename && !isDirectory) {\n const strings = filename.split('.');\n const name = strings.pop().toLowerCase();\n if (typeof FileUtil.map[name] === \"undefined\") {\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\n } else {\n return FileUtil.map[name];\n }\n } else {\n return FileUtil.map['folder'];\n }\n }\n}\n\nexport class FileService {\n\n constructor() {\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class UploadFilesService {\n private _uploadsChange: Observable;\n private _observer: Observer;\n\n constructor() {\n this._uploadsChange = new Observable(observer =>\n this._observer = observer);\n }\n\n get uploadsChange(): Observable {\n return this._uploadsChange;\n }\n\n changeFilesList(filesList: FileList) {\n this._observer.next(filesList);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FileModel, FileUtil} from \"../file.service\";\nimport {UploadFilesService} from \"../upload-files.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\nconst upload_disc = 'Disc';\n\nconst upload_url = 'URL';\n\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\n\n@Component({\n selector: 'gd-browse-files-modal',\n templateUrl: './browse-files-modal.component.html',\n styleUrls: ['./browse-files-modal.component.less']\n})\nexport class BrowseFilesModalComponent implements OnInit {\n uploads = uploads_choices;\n\n @Input() files;\n @Input() uploadConfig;\n @Output() selectedFileGuid = new EventEmitter();\n @Output() selectedDirectory = new EventEmitter();\n @Output() urlForUpload = new EventEmitter();\n @Output() closing = new EventEmitter();\n private selectedFile: FileModel;\n showUploadUrl = false;\n showUploadFile = false;\n\n constructor(private _uploadService: UploadFilesService) {\n }\n\n ngOnInit() {\n }\n\n getSize(size: number) {\n const mb = size / 1024 / 1024;\n if (mb > 1) {\n return (Math.round(mb * 100) / 100) + ' MB';\n } else {\n const kb = size / 1024;\n if (kb > 1) {\n return (Math.round(kb * 100) / 100) + ' KB';\n }\n }\n return size + ' Bytes';\n }\n\n getFormatName(file: FileModel) {\n return FileUtil.find(file.name, file.directory).format;\n }\n\n getFormatIcon(file: FileModel) {\n return FileUtil.find(file.name, file.directory).icon;\n }\n\n choose(file: FileModel) {\n this.selectedFile = file;\n if (file.directory || file.isDirectory) {\n this.selectedDirectory.emit(file.name);\n } else {\n this.selectedFileGuid.emit(file.guid);\n }\n }\n\n goUp() {\n if (this.selectedFile) {\n let guid = this.selectedFile.guid;\n if (guid.length > 0 && guid.indexOf('/') === -1) {\n guid = '';\n } else {\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\n }\n this.selectedDirectory.emit(guid);\n }\n }\n\n selectUpload($event: string) {\n if (upload_url === $event) {\n this.showUploadUrl = true;\n } else {\n this.showUploadUrl = false;\n $(\"#gd-upload-input\").trigger('click');\n }\n }\n\n refresh($event) {\n\n if ($event) {\n this.files = null;\n this.selectedDirectory.emit('');\n this.showUploadUrl = false;\n this.selectedFile = null;\n } else {\n this.closing.emit(true);\n }\n }\n\n showSpinner() {\n return !this.files;\n }\n\n uploadUrl(url: string) {\n if (url) {\n this.urlForUpload.emit(url);\n this.cleanUpload();\n }\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n }\n\n cleanUpload() {\n this.showUploadFile = false;\n this.showUploadUrl = false;\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class ZoomService {\n private _observer: Subject = new Subject();\n private readonly _zoomChange: Observable = this._observer.asObservable();\n private _zoom: number;\n\n constructor() {\n }\n\n get zoom(): number {\n return this._zoom;\n }\n\n get zoomChange(): Observable {\n return this._zoomChange;\n }\n\n changeZoom(zoom: number) {\n this._zoom = zoom;\n this._observer.next(zoom);\n }\n\n private createZoomOption(val: any, name: string, sep: boolean = false) {\n return {value: val, name: name, separator: sep}\n }\n\n zoomOptions(width, height) {\n return [this.createZoomOption(25, '25%'),\n this.createZoomOption(50, '50%'),\n this.createZoomOption(100,'100%'),\n this.createZoomOption(150, '150%'),\n this.createZoomOption(200, '200%'),\n this.createZoomOption(300, '300%'),\n this.createZoomOption(0, '', true),\n this.createZoomOption(width, 'Fit Width'),\n this.createZoomOption(height, 'Fit Height')];\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class PagePreloadService {\n private readonly _checkPreload: Observable;\n private _observer: Observer;\n\n constructor() {\n this._checkPreload = new Observable(observer =>\n this._observer = observer);\n }\n\n get checkPreload(): Observable {\n return this._checkPreload;\n }\n\n changeLastPageInView(page: number) {\n if(this._observer) {\n this._observer.next(page);\n }\n }\n}\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {Injectable} from \"@angular/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NavigateService {\n private _currentPage = 0;\n private _countPages = 0;\n private _observer: Subject = new Subject();\n private _navigate: Observable = this._observer;\n\n constructor(private _pagePreloadService: PagePreloadService) {\n }\n\n get navigate(): Observable {\n return this._navigate;\n }\n\n get countPages(): number {\n return this._countPages;\n }\n\n set countPages(value: number) {\n this._countPages = value;\n }\n\n get currentPage(): number {\n return this._currentPage;\n }\n\n set currentPage(value: number) {\n this._currentPage = value;\n }\n\n nextPage() {\n if (this._currentPage < this._countPages) {\n this._currentPage++;\n this.navigateTo(this._currentPage);\n }\n }\n\n prevPage() {\n if (this._currentPage > 1) {\n this._currentPage--;\n this.navigateTo(this._currentPage);\n }\n }\n\n toLastPage() {\n this._currentPage = this._countPages;\n this.navigateTo(this._currentPage);\n }\n\n toFirstPage() {\n this._currentPage = 1;\n this.navigateTo(this._currentPage);\n }\n\n navigateTo(page: number) {\n this.currentPage = page;\n this._pagePreloadService.changeLastPageInView(page);\n this._observer.next(page);\n }\n}\n","import {\n AfterViewChecked,\n Component,\n ElementRef,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges\n} from '@angular/core';\nimport {FileDescription, FileUtil} from \"../file.service\";\nimport {ZoomService} from \"../zoom.service\";\nimport * as Hammer from 'hammerjs';\nimport {WindowService} from '../window.service';\nimport * as jquery from 'jquery';\nimport { NavigateService } from '../navigate.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-document',\n templateUrl: './document.component.html',\n styleUrls: ['./document.component.less']\n})\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\n\n @Input() mode: boolean;\n @Input() preloadPageCount: number;\n @Input() file: FileDescription;\n @Input() selectedPage: number;\n @Input() showActiveSlide: boolean;\n wait = false;\n zoom: number;\n\n docWidth = null;\n docHeight = null;\n viewportWidth = null;\n viewportHeight = null;\n scale = null;\n lastScale = null;\n container = null;\n doc = null;\n x = 0;\n lastX = 0;\n y = 0;\n lastY = 0;\n pinchCenter = null;\n pinchCenterOffset = null;\n curWidth = 0;\n curHeight = 0;\n isDesktop: boolean;\n\n constructor(protected _elementRef: ElementRef,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _navigateService: NavigateService) {\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n\n this._navigateService.navigate.subscribe(((\n value => {\n this.selectedPage = value;\n })));\n }\n\n ngOnInit() {\n if (this.ifPresentation())\n {\n this.selectedPage = this._navigateService.currentPage;\n }\n }\n\n ngOnChanges() {\n }\n\n ngAfterViewInit() {\n // For current iteration we take .panzoom as a document\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\n // For current iteration we take .gd-document as a container\n this.container = this._elementRef.nativeElement;\n\n this.docWidth = this.doc.clientWidth;\n this.docHeight = this.doc.clientHeight;\n this.viewportWidth = this.doc.offsetWidth;\n\n // For cases where we already have zoom defined we should include it\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\n\n this.lastScale = this.scale;\n this.viewportHeight = this.container.offsetHeight;\n this.curWidth = this.docWidth * this.scale;\n this.curHeight = this.docHeight * this.scale;\n\n const hammer = new Hammer(this.container);\n }\n\n // TODO: this temporary crutch for Excel files should be documented\n ifExcel() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\n }\n\n ifPresentation() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\n }\n\n getDimensionWithUnit(value: number, pageNumber: number) {\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\n }\n\n ifEdge() {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n ngAfterViewChecked(): void {\n // for now we are not sure that need this action in current implementation\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\n // const element = elementNodeListOf.item(0);\n // if (element) {\n // $(element).trigger('focus');\n // }\n }\n\n isVisible(pageNumber) {\n if (this.ifPresentation()) {\n return pageNumber === this.selectedPage ? true : false;\n }\n else {\n return true;\n }\n }\n}\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gd-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.less']\n})\nexport class PageComponent implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() width: number;\n @Input() height: number;\n @Input() number: number;\n @Input() data: string;\n @Input() isHtml: boolean;\n @Input() editable: boolean;\n imgData: string;\n\n constructor() {\n }\n\n ngOnInit() {\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n if(isIE && this.number === 0){\n this.editable = false;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(this.isHtml) {\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \n // which leads to undesired spaces on the top of the docs pages\n this.data = this.data \n ? this.data.replace(/>\\s+<')\n .replace(/\\uFEFF/g,\"\")\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\n : null;\n } else {\n this.imgData = 'data:image/png;base64,' + this.data;\n }\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\n\n@Pipe({name: 'safeHtml'})\nexport class SanitizeHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n\n@Pipe({name: 'safeResourceHtml'})\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\n }\n}\n\n@Pipe({name: 'safeStyle'})\nexport class SanitizeStylePipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustStyle(html);\n }\n}\n\n@Pipe({name: 'highlight'})\nexport class HighlightSearchPipe implements PipeTransform {\n\n transform(value: string, args: string): any {\n if (!args) {\n return value;\n }\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\n return value.replace(re, \"$&\");\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {UploadFilesService} from \"../upload-files.service\";\n\n@Component({\n selector: 'gd-upload-file-zone',\n templateUrl: './upload-file-zone.component.html',\n styleUrls: ['./upload-file-zone.component.less']\n})\nexport class UploadFileZoneComponent implements OnInit {\n\n @Output() closeUpload = new EventEmitter();\n\n constructor(private _uploadService: UploadFilesService) { }\n\n ngOnInit() {\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n this.onCloseUpload();\n }\n\n onCloseUpload() {\n this.closeUpload.emit(true);\n }\n\n close($event) {\n if ($event.target.id === 'gd-dropZone') {\n this.onCloseUpload();\n }\n }\n}\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\nimport {UploadFilesService} from \"./upload-files.service\";\n\n@Directive({\n selector: '[gdDnd]'\n})\nexport class DndDirective {\n\n @Output() closing = new EventEmitter();\n @Output() opening = new EventEmitter();\n @Output() dropped = new EventEmitter();\n\n @HostBinding('class.active') active = false;\n\n private dragCounter = 0;\n\n constructor(protected _uploadFilesService: UploadFilesService) {\n }\n\n @HostListener('dragenter', ['$event'])\n public onDragEnter(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter++;\n this.active = true;\n this.opening.emit(true);\n }\n\n @HostListener('dragover', ['$event'])\n public onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n return false;\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter--;\n if (this.dragCounter === 0) {\n this.active = false;\n this.closeArea();\n }\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.active = false;\n this.dropped.emit(true);\n this._uploadFilesService.changeFilesList(files);\n this.closeArea();\n }\n }\n\n @HostListener('click', ['$event'])\n public onClick(event) {\n this.closeArea();\n }\n\n private closeArea() {\n this.closing.emit(true);\n this.opening.emit(false);\n }\n}\n","import {Injectable} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ViewportService {\n\n constructor() {\n }\n\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\n if (!el) {\n return false;\n }\n const x = deltaX;\n const y = 0.5;\n\n const win = $(window);\n\n const viewport = {\n top: win.scrollTop(),\n left: win.scrollLeft() + leftOffset,\n right: win.scrollLeft() + win.width() - 10,\n bottom: win.scrollTop() + win.height()\n };\n\n\n if (isNaN(zoom)) {\n zoom = 100;\n }\n\n const zoomN = zoom / 100;\n const height = $(el).outerHeight() * (zoomN);\n const width = $(el).outerWidth() * (zoomN);\n\n if (!width || !height) {\n return false;\n }\n\n const bounds = $(el).offset();\n const right = (bounds.left * (zoomN)) + width;\n const bottom = (bounds.top * (zoomN)) + height;\n\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\n\n if (!visible) {\n return false;\n }\n\n const deltas = {\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\n };\n\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomService} from \"./zoom.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdScrollable]'\n})\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\n\n private currentPage: number;\n private zoom = 100;\n private loadedPagesSet = new Set();\n\n constructor(private _elementRef: ElementRef,\n private _navigateService: NavigateService,\n private _pagePreloadService: PagePreloadService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _viewportService: ViewportService) {\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n this.refresh();\n });\n }\n\n ngAfterViewInit() {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n this._navigateService.navigate.subscribe((value => {\n this.currentPage = value;\n this.scrollToPage(value);\n }));\n this.refresh();\n }\n\n @HostListener('scroll') scrolling() {\n this.refresh();\n }\n\n @HostListener('window:resize') resizing() {\n this.refresh();\n }\n\n scrollToPage(pageNumber: number) {\n const el = this._elementRef.nativeElement;\n const page = this.getPage(pageNumber);\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\n return;\n }\n const pagesHeight = this.calculateOffset(pageNumber);\n const options = {\n left: 0,\n top: pagesHeight\n };\n if(el){\n // using polyfill\n el.scroll(options);\n }\n }\n\n private getChildren() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n // here and in the similar line below we getting the document pages\n return el.children.item(0).children.item(0).children;\n }\n }\n\n private getPage(pageNumber: number) {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\n }\n }\n\n private calculateOffset(pageNumber: number) {\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\n const margin = this._windowService.isDesktop() ? 40 : 10;\n let pagesHeight = 0;\n for (let i = 1; i < pageNumber / count; i++) {\n const item = this.getPage(i);\n const clientHeight = item ? item.clientHeight : 0;\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\n }\n return pagesHeight;\n }\n\n private countPagesOnWidth() {\n const pageEl = this.getPage(1);\n const offset = 150;\n if (pageEl) {\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\n if (count !== 0) {\n return count;\n }\n }\n return 1;\n }\n\n refresh() {\n let page;\n let currentPageSet = false;\n const pageElem = this.getPage(this.currentPage);\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\n for (page = 1; page < this.getChildren().length + 1; page++) {\n const element = this.getPage(page);\n if (this._viewportService.checkInViewport(element, this.zoom)) {\n if (!currentPageSet) {\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\n this.currentPage = page;\n if (this._navigateService.currentPage === 0) {\n this._navigateService.currentPage = page;\n }\n }\n currentPageSet = true;\n }\n if (!this.loadedPagesSet.has(page)) {\n this._pagePreloadService.changeLastPageInView(page);\n this.loadedPagesSet.add(page);\n }\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.refresh();\n }\n\n ngOnInit(): void {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n }\n\n\n private getWidth() {\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdMouseWheel]'\n})\nexport class MouseWheelDirective {\n @Output() mouseWheelUp = new EventEmitter();\n @Output() mouseWheelDown = new EventEmitter();\n\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\n this.mouseWheelFunc(event);\n }\n\n mouseWheelFunc(event: any) {\n event = window.event ;\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\n if(delta > 0) {\n this.mouseWheelUp.emit(event);\n } else if(delta < 0) {\n this.mouseWheelDown.emit(event);\n }\n }\n}\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\nimport {ZoomService} from \"./zoom.service\";\nimport {FileUtil} from \"./file.service\";\nimport { WindowService } from './window.service';\n\n@Directive({\n selector: '[gdZoom]'\n})\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n\n @Input() zoomActive = true;\n @Input() file;\n\n @HostBinding('style.zoom') zoomInt: number;\n @HostBinding('style.transform') transform: string;\n @HostBinding('style.transform-origin') transformOrigin: string;\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n @HostBinding('style.min-width') minWidth: string;\n el: ElementRef;\n\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\n this.el = el;\n }\n\n ngOnDestroy(): void {\n }\n\n ngOnChanges(): void {\n this.setStyles(this._zoomService.zoom);\n this.resizePages(this._zoomService.zoom);\n }\n\n ngOnInit(): void {\n if (! this.zoomActive) {\n return;\n }\n\n this.setStyles(this._zoomService.zoom);\n this._zoomService.zoomChange.subscribe((zoom) => {\n this.setStyles(zoom);\n this.resizePages(zoom);\n });\n }\n\n private setStyles(zoom) {\n if (! this.zoomActive) {\n return;\n }\n\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n \n if (this._windowService.isEdge()) {\n this.zoomInt = zoomInt;\n }\n else {\n this.zoomInt = null;\n }\n \n if (!this._windowService.isEdge()) {\n this.transform = 'scale(' + zoomInt + ')';\n this.transformOrigin = 'top left';\n }\n else {\n this.transform = \"\";\n this.transformOrigin = \"\";\n }\n\n let maxWidth = 0;\n this.file.pages.forEach(page => {\n {\n if (page.width > maxWidth){\n maxWidth = page.width;\n }\n }\n });\n\n // Images and Excel-related files receiving dimensions in px from server\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\n }\n\n private getScrollWidth(elm){\n return elm.offsetWidth - elm.clientWidth;\n }\n\n private getScrollHeight(elm){\n return elm.offsetHeight - elm.clientHeight;\n }\n\n private resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\n }\n\n ngAfterViewInit(): void {\n this.setStyles(this._zoomService.zoom);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnCloseService {\n private _observer: Subject = new Subject();\n private readonly _onClose: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get onClose() {\n return this._onClose;\n }\n\n close(close: boolean) {\n this._observer.next(close)\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {OnCloseService} from \"../on-close.service\";\n\nexport interface Option {\n name: string;\n value: any;\n separator: boolean;\n}\n\n@Component({\n selector: 'gd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.less']\n})\nexport class SelectComponent {\n\n @Input() options: Option[];\n @Input() disabled = false;\n @Input() showSelected: Option;\n @Output() selected: EventEmitter = new EventEmitter();\n @Output() opened: EventEmitter = new EventEmitter();\n @Input() isOpen = false;\n @Input() icon: string;\n\n constructor(protected _onCloseService: OnCloseService) {\n _onCloseService.onClose.subscribe(() => {\n this.close();\n });\n }\n\n open() {\n if (!this.disabled) {\n this.isOpen = true;\n }\n }\n\n close() {\n this.isOpen = false;\n }\n\n onClickOutside(event : Event){\n this.close();\n }\n\n toggle($event) {\n // TODO: following lines were uncommented due to needness in signature app\n $event.preventDefault();\n $event.stopPropagation();\n if (!this.disabled) {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.opened.emit(true);\n }\n }\n\n select($event, value: Option) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selected.emit(value);\n this.close();\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdDisabledCursor]'\n})\nexport class DisabledCursorDirective implements OnInit, OnChanges {\n\n @Input() dis: boolean;\n\n constructor() {\n }\n\n @HostBinding('class.inactive') cursor: boolean;\n\n private updateCursor() {\n this.cursor = this.dis ? true : false;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdRotation]'\n})\nexport class RotationDirective implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() isHtmlMode: boolean;\n @Input() width: number;\n @Input() height: number;\n @Input() withMargin = true;\n\n @HostBinding('style.animation') animation: string;\n @HostBinding('style.transition-property') transition: string;\n @HostBinding('style.transform') transform: string;\n\n @HostBinding('style.margin') margin: string;\n\n constructor() {\n }\n\n private updateCursor() {\n if (typeof this.angle === \"string\"){\n this.angle = parseInt(this.angle, 10);\n }\n\n if (this.angle) {\n this.animation = 'none';\n this.transition = 'none';\n this.transform = 'rotate(' + this.angle + 'deg)';\n } else if (this.angle === 0 && this.animation) {\n this.animation = null;\n this.transition = null;\n this.transform = null;\n }\n\n if (this.withMargin) {\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\n if (this.isHtmlMode) {\n if (this.isLandscape()) {\n this.margin = '164px 254px';\n } else {\n this.margin = '-111px 254px';\n }\n } else {\n if (this.isLandscape()) {\n this.margin = '129px 100px -79px';\n } else {\n this.margin = '-72px 100px -79px';\n }\n }\n } else if (this.angle === -180 || this.angle === 180) {\n this.margin = '280px';\n } else {\n this.margin = null;\n }\n }\n\n }\n\n isLandscape() {\n return this.width > this.height;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n\n}\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-init-state',\n templateUrl: './init-state.component.html',\n styleUrls: ['./init-state.component.less']\n})\nexport class InitStateComponent implements OnInit {\n @Input() icon: string;\n @Input() text: string;\n @Output() fileDropped = new EventEmitter();\n showUploadFile = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n dropped($event) {\n if ($event) {\n this.fileDropped.emit($event);\n this.showUploadFile = false;\n }\n }\n}\n","import {Observable, Observer} from \"rxjs\";\nimport {PageModel} from \"./file.service\";\n\nexport class RenderPrintService {\n private _render: Observable;\n private _observer: Observer;\n private _renderBlob: Observable;\n private _observerBlob: Observer;\n\n constructor() {\n this._render = new Observable(observer =>\n this._observer = observer);\n this._renderBlob = new Observable(observer =>\n this._observerBlob = observer);\n }\n\n get renderPrint(): Observable {\n return this._render;\n }\n\n changePages(pages: PageModel[]) {\n this._observer.next(pages);\n }\n\n get renderPrintBlob(): Observable {\n return this._renderBlob;\n }\n\n changeBlob(file: Blob) {\n this._observerBlob.next(file);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {PageModel} from \"./file.service\";\nimport {RenderPrintService} from \"./render-print.service\";\n\n@Directive({\n selector: '[gdRenderPrint]'\n})\nexport class RenderPrintDirective {\n @Input() htmlMode: boolean;\n\n constructor(private _renderService: RenderPrintService) {\n _renderService.renderPrint.subscribe(pages => {\n this.renderPrint(pages);\n });\n _renderService.renderPrintBlob.subscribe(file => {\n this.renderPrintBlob(file);\n });\n }\n\n private renderPrint(pages: PageModel[]) {\n let pagesHtml = '';\n\n for (const page of pages) {\n pagesHtml += '
' +\n '
' +\n '
';\n }\n\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\n }\n\n private openWindow(pagesHtml, width, height) {\n const a4Height = 842;\n const a4Width = 595;\n let imageA4Adjusted = '';\n if(width > a4Width && height > a4Height){\n const zoom = Math.round(height / a4Height) / 100;\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\n }\n }\n let cssPrint = '';\n\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.document.writeln(cssPrint);\n windowObject.document.writeln(pagesHtml);\n windowObject.document.close();\n setTimeout(() => {\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }, 100);\n }\n\n private renderPrintBlob(file: Blob) {\n const fileURL = URL.createObjectURL(file);\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }\n}\n","import { HttpEvent } from \"@angular/common/http\";\nimport {BehaviorSubject, Observable} from \"rxjs\";\n\nexport class ExceptionMessageService {\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\n private _messageChange: Observable = this._observer.asObservable();\n\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\n\n constructor() {\n }\n\n get messageChange(): Observable {\n return this._messageChange;\n }\n\n get httpEventChange(): Observable> {\n return this._httpEventChange;\n }\n\n changeMessage(message: string) {\n this._observer.next(message);\n }\n\n changeHttpEvent(httpEvent:HttpEvent) {\n this._observerHttpEvent.next(httpEvent);\n }\n}\n","import {Component, OnInit} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\n\n@Component({\n selector: 'gd-error-modal',\n templateUrl: './error-modal.component.html',\n styleUrls: ['./error-modal.component.less']\n})\nexport class ErrorModalComponent implements OnInit {\n\n message: string;\n\n constructor(messageService: ExceptionMessageService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class PasswordService {\n private _observer: Subject = new Subject();\n private readonly _passChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get passChange(): Observable {\n return this._passChange;\n }\n\n setPassword(pass: string) {\n this._observer.next(pass);\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {PasswordService} from \"../password.service\";\nimport * as jquery from \"jquery\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-password-required',\n templateUrl: './password-required.component.html',\n styleUrls: ['./password-required.component.less']\n})\nexport class PasswordRequiredComponent implements OnInit {\n message: string;\n @Output() cancelEvent = new EventEmitter();\n\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n setPassword(value: string) {\n this._passwordService.setPassword(value);\n }\n\n onCloseOpen($event: boolean) {\n if ($event) {\n setTimeout(() => {\n const element = $(\"#password\");\n if (element) {\n element.focus();\n }\n }, 100);\n } else {\n $(\"#password\").val(\"\");\n }\n }\n\n cancel($event: boolean) {\n $(\"#password\").val(\"\");\n this.cancelEvent.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable, throwError} from \"rxjs\";\nimport {catchError, map} from \"rxjs/operators\";\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {HttpError} from \"./file.service\";\nimport {CommonModals, ModalService} from \"./modal.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptorService implements HttpInterceptor {\n\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\n\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const logFormat = 'background: maroon; color: white';\n\n return next.handle(req)\n .pipe(map(data => {\n return data;\n }),\n catchError((exception: HttpEvent) => {\n if (exception instanceof HttpErrorResponse) {\n switch (exception.status) {\n\n case HttpError.BadRequest:\n console.error('%c Bad Request 400', logFormat);\n break;\n case HttpError.Unauthorized:\n console.error('%c Unauthorized 401', logFormat);\n break;\n case HttpError.NotFound:\n console.error('%c Not Found 404', logFormat);\n break;\n case HttpError.TimeOut:\n console.error('%c TimeOut 408', logFormat);\n break;\n case HttpError.InternalServerError:\n console.error('%c big bad 500', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._messageService.changeHttpEvent(exception);\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\n break;\n\n case HttpError.Forbidden:\n console.error('%c Forbidden 403', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._modalService.open(CommonModals.PasswordRequired);\n break;\n }\n }\n return throwError(exception);\n }));\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class SearchService {\n private _observer: Subject = new Subject();\n private readonly _textChange: Observable = this._observer.asObservable();\n\n private _observerCurrent: Subject = new Subject();\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\n\n private _observerTotal: Subject = new Subject();\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\n\n constructor() {\n }\n\n get textChange(): Observable {\n return this._textChange;\n }\n\n setText(text: string) {\n this._observer.next(text);\n }\n\n get currentChange(): Observable {\n return this._currentChange;\n }\n\n get totalChange(): Observable {\n return this._totalChange;\n }\n\n setCurrent(current: number) {\n this._observerCurrent.next(current);\n }\n\n setTotal(total: number) {\n this._observerTotal.next(total);\n }\n}\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {SearchService} from \"../search.service\";\n\n@Component({\n selector: 'gd-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.less']\n})\nexport class SearchComponent implements OnInit, AfterViewInit {\n\n @Output() hidePanel = new EventEmitter(false);\n\n current = 0;\n total = 0;\n\n @ViewChild('text',{\n static : true\n }) textElement: ElementRef;\n\n constructor(private _searchService: SearchService) {\n _searchService.totalChange.subscribe((total: number) => {\n this.total = total;\n if (total !== 0) {\n this.current = 1;\n } else {\n this.current = 0;\n }\n this._searchService.setCurrent(this.current);\n });\n }\n\n ngOnInit() {\n }\n\n setText(text: string) {\n this._searchService.setText(text);\n }\n\n hide() {\n this.setText('');\n this.hidePanel.emit(true);\n }\n\n prev() {\n if (this.current > 1) {\n this.current--;\n this._searchService.setCurrent(this.current);\n }\n }\n\n next() {\n if (this.current < this.total) {\n this.current++;\n this._searchService.setCurrent(this.current);\n }\n }\n\n ngAfterViewInit(): void {\n this.textElement.nativeElement.focus();\n }\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {SearchService} from \"./search.service\";\nimport {HighlightSearchPipe} from \"./pipes\";\nimport {ZoomService} from \"./zoom.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdSearchable]'\n})\nexport class SearchableDirective {\n\n text: string;\n current = 0;\n total = 0;\n private zoom = 100;\n\n constructor(private _elementRef: ElementRef,\n private _searchService: SearchService,\n private _highlight: HighlightSearchPipe,\n private _zoomService: ZoomService) {\n _searchService.currentChange.subscribe((current: number) => {\n this.current = current;\n if (this.current !== 0) {\n this.moveToCurrent();\n }\n });\n\n _searchService.textChange.subscribe((text: string) => {\n this.text = text;\n this.highlightSearch();\n });\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n });\n }\n\n private highlightSearch() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n this.cleanHighlight(el);\n if (this.text) {\n this.highlightEl(el);\n const count = el.querySelectorAll('.gd-highlight').length;\n this.total = count;\n } else {\n this.total = 0;\n }\n this._searchService.setTotal(this.total);\n }\n }\n\n private moveToCurrent() {\n if (this.current === 0) {\n return;\n }\n const currentZoom = this.getZoom();\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\n $(value).removeClass('gd-highlight-select');\n });\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\n $(currentEl).addClass('gd-highlight-select');\n if (currentEl) {\n const options = {\n left: 0,\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\n };\n // using polyfill\n el.parentElement.parentElement.scroll(options);\n }\n }\n }\n\n private highlightEl(el: Element) {\n const textNodes = $(el).find('*').contents().filter(function () {\n const nodeName = this.parentElement.nodeName.toLowerCase();\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\n return this.nodeType === 3 &&\n this.textContent.trim().length !== 0 &&\n nodeName !== 'style' &&\n nodeName !== 'title' &&\n nodeName !== 'body' &&\n nodeName !== 'script' &&\n checkClass;\n });\n const text = this.text;\n const highlight = this._highlight;\n textNodes.each(function () {\n const $this = $(this);\n let content = $this.text();\n content = highlight.transform(content, text);\n $this.replaceWith(content);\n });\n el.normalize();\n }\n\n private cleanHighlight(el: HTMLElement) {\n const nodeListOf = el.querySelectorAll('.gd-highlight');\n for (let i = 0; i < nodeListOf.length; i++) {\n const element = nodeListOf.item(i);\n element.replaceWith((element).innerText);\n }\n el.normalize();\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tabbed-toolbars',\n templateUrl: './tabbed-toolbars.component.html',\n styleUrls: ['./tabbed-toolbars.component.less']\n})\nexport class TabbedToolbarsComponent implements OnInit {\n @Input() logo: string;\n @Input() icon: string;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class TabActivatorService {\n private _observer: Subject = new Subject();\n private readonly _activeTabChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get activeTabChange(): Observable {\n return this._activeTabChange;\n }\n\n changeActiveTab(tabId: string) {\n this._observer.next(tabId);\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {TabActivatorService} from \"../tab-activator.service\";\n\n@Component({\n selector: 'gd-tab',\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.less']\n})\nexport class TabComponent implements OnInit {\n @Input() id: string;\n @Input() tabTitle: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() active = false;\n @Input() content = true;\n\n constructor(private _tabActivatorService: TabActivatorService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = true;\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n selectTab() {\n if (this.disabled) {\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'gd-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.less']\n})\nexport class TabsComponent {\n constructor() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class Formatting {\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\n this.fontSize = fontSize;\n this.color = color;\n this.bgColor = bgColor;\n this.bold = bold;\n this.italic = italic;\n this.underline = underline;\n this.font = font;\n this.strikeout = strikeout;\n this.align = align;\n this.list = list;\n }\n\n bold: boolean;\n italic: boolean;\n underline: boolean;\n fontSize: number;\n color: string;\n bgColor: string;\n font: string;\n strikeout: boolean;\n align: string;\n list: string;\n\n public static default(): Formatting {\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\n }\n}\n\nexport class FormattingService {\n private _observerBold: Subject = new Subject();\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\n private _observerUnderline: Subject = new Subject();\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\n private _observerUndo: Subject = new Subject();\n private readonly _undo: Observable = this._observerUndo.asObservable();\n private _observerRedo: Subject = new Subject();\n private readonly _redo: Observable = this._observerRedo.asObservable();\n private _observerItalic: Subject = new Subject();\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\n private _observerColor: Subject = new Subject();\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\n private _observerBgColor: Subject = new Subject();\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\n private _observerFontSize: Subject = new Subject();\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\n private _observerFont: Subject = new Subject();\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\n private _observerStrikeout: Subject = new Subject();\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\n private _observerAlign: Subject = new Subject();\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\n private _observerList: Subject = new Subject();\n private readonly _formatListChange: Observable = this._observerList.asObservable();\n\n constructor() {\n }\n\n get formatBoldChange() {\n return this._formatBoldChange;\n }\n\n get formatUnderlineChange() {\n return this._formatUnderlineChange;\n }\n\n get formatColorChange() {\n return this._formatColorChange;\n }\n\n get formatBgColorChange() {\n return this._formatBgColorChange;\n }\n\n get formatFontSizeChange() {\n return this._formatFontSizeChange;\n }\n\n get formatFontChange() {\n return this._formatFontChange;\n }\n\n get undo() {\n return this._undo;\n }\n\n get redo() {\n return this._redo;\n }\n\n get formatItalicChange() {\n return this._formatItalicChange;\n }\n\n get formatStrikeoutChange() {\n return this._formatStrikeoutChange;\n }\n\n get formatAlignChange() {\n return this._formatAlignChange;\n }\n\n get formatListChange() {\n return this._formatListChange;\n }\n\n static createFontSizeOption(val: number) {\n return {value: val, name: val + 'px', separator: false}\n }\n\n static getFontSizeOptions() {\n return [\n FormattingService.createFontSizeOption(8),\n FormattingService.createFontSizeOption(10),\n FormattingService.createFontSizeOption(12),\n FormattingService.createFontSizeOption(14),\n FormattingService.createFontSizeOption(16),\n FormattingService.createFontSizeOption(18),\n FormattingService.createFontSizeOption(20),\n FormattingService.createFontSizeOption(22),\n FormattingService.createFontSizeOption(24),\n ];\n }\n\n static createFontOption(val: string) {\n return {value: val, name: val, separator: false}\n }\n\n static getFontOptions() {\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\n const fontOptions = [];\n fonts.forEach(font => {\n fontOptions.push(this.createFontOption(font));\n })\n\n return fontOptions;\n }\n\n changeFormatFontSize($event: number) {\n this._observerFontSize.next($event);\n }\n\n changeFormatBold(bold: boolean) {\n this._observerBold.next(bold);\n }\n\n changeFormatUnderline(underline: boolean) {\n this._observerUnderline.next(underline);\n }\n\n Undo() {\n this._observerUndo.next();\n }\n\n Redo() {\n this._observerRedo.next();\n }\n\n changeFormatItalic(italic: boolean) {\n this._observerItalic.next(italic);\n }\n\n changeFormatColor(color: string) {\n this._observerColor.next(color);\n }\n\n changeFormatBgColor(bgcolor: string) {\n this._observerBgColor.next(bgcolor);\n }\n\n changeFormatFont(font: string) {\n this._observerFont.next(font);\n }\n\n changeFormatStrikeout(strikeout: boolean) {\n this._observerStrikeout.next(strikeout);\n }\n\n changeFormatAlign(align: string) {\n this._observerAlign.next(align);\n }\n\n changeFormatList(list: string) {\n this._observerList.next(list);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\nconst DEFAULT_COLORS = [\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\n];\n\n@Component({\n selector: 'gd-color-picker',\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.less']\n})\nexport class ColorPickerComponent implements OnInit {\n @Input() isOpen = false;\n @Output() selectedColor = new EventEmitter();\n @Output() closeOutside = new EventEmitter();\n colors: any = DEFAULT_COLORS;\n white = '#FFFFFF';\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n select($event, color: string) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selectedColor.emit(color);\n }\n\n close() {\n this.isOpen = false;\n this.closeOutside.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BackFormattingService extends FormattingService {\n\n constructor() {\n super();\n }\n}\n","import {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SelectionService {\n selection: Range;\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n restoreSelection() {\n if(this.selection && !this.selection.collapsed || this.isIE){\n this.putSelection(this.selection );\n }\n }\n\n captureSelection() {\n const selection = window.getSelection();\n if (selection.rangeCount > 0) {\n this.selection = selection.getRangeAt(0);\n }\n }\n\n private putSelection(selection) {\n const sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(selection.cloneRange());\n }\n\n refreshSelection() {\n this.captureSelection();\n this.restoreSelection();\n }\n}\n","import {Directive, HostListener, OnInit} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport * as jquery from 'jquery';\nconst $ = jquery;\nimport {SelectionService} from './selection.service';\n\n@Directive({\n selector: '[gdFormatting]'\n})\nexport class FormattingDirective implements OnInit {\n\n private bold = false;\n private italic = false;\n private underline = false;\n private color: string;\n private bgColor: string;\n private font: string;\n private strikeout = false;\n private align: string;\n private list: string;\n private isIE = false;\n\n constructor(private _formattingService: FormattingService,\n private _backFormattingService: BackFormattingService,\n private _selectionService: SelectionService) {\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n }\n\n @HostListener('mouseup') mouseup() {\n\n this.bold = document.queryCommandState(\"bold\");\n this.strikeout = document.queryCommandState(\"strikeThrough\");\n this.italic = document.queryCommandState(\"italic\");\n this.bgColor = document.queryCommandValue(\"backColor\");\n this.underline = document.queryCommandState(\"underline\");\n this.align = this.checkJustify();\n this.list = this.checkList();\n\n //fix required by FireFox to get correct background color\n if (this.bgColor === \"transparent\") {\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\n }\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\n if(this.font.split(\",\").length > 1){\n this.font = this.font.split(\",\")[0];\n }\n this.color = document.queryCommandValue(\"foreColor\");\n this._backFormattingService.changeFormatBold(this.bold);\n this._backFormattingService.changeFormatUnderline(this.underline);\n this._backFormattingService.changeFormatItalic(this.italic);\n this._backFormattingService.changeFormatColor(this.color);\n this._backFormattingService.changeFormatBgColor(this.bgColor);\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\n this._backFormattingService.changeFormatFont(this.font);\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\n this._backFormattingService.changeFormatAlign(this.align);\n this._backFormattingService.changeFormatList(this.list);\n }\n\n private checkJustify() {\n let align = \"\";\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\n return align;\n }\n\n private checkList() {\n let list = \"\";\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\n return list;\n }\n\n reportFontSize(): number {\n let containerEl, sel;\n if (window.getSelection) {\n sel = window.getSelection();\n if (sel.rangeCount) {\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\n // Make sure we have an element rather than a text node\n if (containerEl.nodeType === 3) {\n containerEl = containerEl.parentNode;\n }\n }\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\n containerEl = sel.createRange().parentElement();\n }\n\n if (containerEl) {\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\n }\n }\n\n getComputedStyleProperty(el, propName) {\n if (window.getComputedStyle) {\n return window.getComputedStyle(el, null)[propName];\n } else if (el.currentStyle) {\n return el.currentStyle[propName];\n }\n }\n\n ngOnInit(): void {\n this._formattingService.undo.subscribe(() => {\n this.toggleUndo();\n });\n this._formattingService.redo.subscribe(() => {\n this.toggleRedo();\n });\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\n this.bold = bold;\n this.toggleBold();\n });\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\n this.underline = underline;\n this.toggleUnderline();\n });\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\n this.italic = italic;\n this.toggleItalic();\n });\n this._formattingService.formatColorChange.subscribe(((color: string) => {\n this.color = color;\n this.setColor(color);\n }));\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\n this.bgColor = bgcolor;\n this.setBgColor(bgcolor);\n }));\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\n this.setFontSize(fontSize);\n }));\n\n this._formattingService.formatFontChange.subscribe(((font: string) => {\n this.font = font;\n this.setFont(font);\n }));\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\n this.strikeout = strikeout;\n this.toggleStrikeout();\n });\n this._formattingService.formatAlignChange.subscribe((align: string) => {\n this.align = align;\n this.toggleAlign(this.align);\n });\n this._formattingService.formatListChange.subscribe((list: string) => {\n const remove = this.list === list;\n this.list = list;\n this.toggleList(this.list, remove);\n });\n }\n\n private toggleBold() {\n document.execCommand(\"bold\");\n this._selectionService.refreshSelection();\n }\n\n private toggleUnderline() {\n document.execCommand(\"underline\");\n this._selectionService.refreshSelection();\n }\n\n private toggleItalic() {\n document.execCommand(\"italic\");\n this._selectionService.refreshSelection();\n }\n\n private setBgColor(bgColor: string) {\n document.execCommand(\"backColor\", false, bgColor);\n this._selectionService.refreshSelection();\n }\n\n private setColor(color: string) {\n document.execCommand(\"foreColor\", false, color);\n this._selectionService.refreshSelection();\n }\n\n private setFontSize(fontSize: number) {\n if (document.getSelection().toString()) {\n let spanString = \"\" +\n document.getSelection() + \"\";\n if (this.bold) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.italic) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.underline) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.strikeout) {\n spanString = \"\" + spanString + \"\";\n }\n document.execCommand('insertHTML', false, spanString);\n } else {\n document.execCommand(\"fontsize\", false, \"7\");\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleUndo() {\n document.execCommand(\"undo\");\n }\n\n private toggleRedo() {\n document.execCommand(\"redo\");\n }\n\n private setFont(font: string) {\n document.execCommand(\"fontName\", false, font);\n this._selectionService.refreshSelection();\n }\n\n private toggleStrikeout() {\n document.execCommand(\"strikeThrough\");\n this._selectionService.refreshSelection();\n }\n\n private toggleAlign(align: string) {\n if(this.isIE) {\n this.toggleAlignIE(align);\n return;\n }\n document.execCommand(\"styleWithCSS\", false, 'true');\n switch (align) {\n case 'center':\n document.execCommand('justifyCenter');\n break;\n case 'full':\n document.execCommand('justifyFull');\n break;\n case 'left':\n document.execCommand('justifyLeft');\n break;\n case 'right':\n document.execCommand('justifyRight');\n break;\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleAlignIE(align: string) {\n this._selectionService.restoreSelection()\n this._selectionService.captureSelection()\n const selection = window.getSelection().focusNode.parentNode.parentNode;\n if(align === \"full\"){\n align = \"justify\";\n }\n $(selection).css(\"text-align\", align);\n this._selectionService.refreshSelection()\n }\n\n private toggleList(list: string, remove: boolean) {\n switch (list) {\n case 'unordered':\n document.execCommand('insertUnorderedList', remove);\n break;\n case 'ordered':\n document.execCommand('insertOrderedList', remove);\n break;\n }\n this._selectionService.refreshSelection();\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'gd-success-modal',\n templateUrl: './success-modal.component.html',\n styleUrls: ['./success-modal.component.less']\n})\nexport class SuccessModalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EditHtmlService {\n private _observer: Subject = new Subject();\n private readonly _htmlContent: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get observer(): Subject {\n return this._observer;\n }\n\n get htmlContent(): Observable {\n return this._htmlContent;\n }\n\n}\n","import {Directive, HostListener, Input} from '@angular/core';\nimport {SelectionService} from './selection.service';\nimport {EditHtmlService} from \"./edit-html.service\";\n\n@Directive({\n selector: '[gdEditor]'\n})\nexport class EditorDirective {\n @Input() text: any;\n\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\n }\n\n @HostListener('keyup', ['$event'])\n public onInput(event) {\n this.text = event.target;\n if(this.isIE){\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n }\n }\n }\n\n @HostListener('mouseleave', ['$event'])\n public onMouseleave(event) {\n this._selectionService.captureSelection();\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\n if(this.isIE){\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n\n @HostListener('blur', ['$event'])\n public onBlur(event) {\n event.preventDefault();\n this._selectionService.restoreSelection();\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n } else {\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core'\nimport {HttpRequest} from '@angular/common/http';\nimport {Api} from \"./config.service\";\n\n@Injectable()\nexport class LoadingMaskService {\n onLoadingChanged: EventEmitter = new EventEmitter();\n\n private stopList = [];\n private requests: HttpRequest[] = [];\n\n constructor() {\n this.stopList.push(Api.SAVE_TEXT);\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\n this.stopList.push(Api.LOAD_THUMBNAILS);\n this.stopList.push(Api.GET_FILE_STATUS);\n this.stopList.push(Api.LOAD_PRINT);\n }\n\n onRequestStart(req: HttpRequest): void {\n const stop = this.stopList.find(x => req.url.includes(x));\n if (!stop) {\n this.requests.push(req);\n this.notify();\n }\n }\n\n onRequestFinish(req: HttpRequest): void {\n const index = this.requests.indexOf(req);\n if (index !== -1) {\n this.requests.splice(index, 1);\n }\n this.notify();\n }\n\n addStopUrl(url: string) {\n this.stopList.push(url);\n }\n\n private notify(): void {\n this.onLoadingChanged.emit(this.requests.length !== 0);\n }\n}\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\nimport {LoadingMaskService} from \"../loading-mask.service\";\n\n@Component({\n selector: 'gd-loading-mask',\n templateUrl: './loading-mask.component.html',\n styleUrls: ['./loading-mask.component.less']\n})\n\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\n @Input() loadingMask = false;\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit() {\n this._loadingMaskService\n .onLoadingChanged\n .subscribe((loading: boolean) => this.loadingMask = loading);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport {finalize} from 'rxjs/operators'\nimport {LoadingMaskService} from \"./loading-mask.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n this._loadingMaskService.onRequestStart(req);\n const callback = () => this._loadingMaskService.onRequestFinish(req);\n return next.handle(req).pipe( finalize( callback));\n }\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\n\nconst horizontalAlignment = {\n center : {\n right: 'auto'\n },\n left : {\n right: '100%'\n },\n right : {\n right: '-100%'\n }\n};\n\nconst verticalAlignment = {\n center : {\n top : '0px',\n },\n top : {\n top : '-100%',\n right: '100%'\n },\n bottom : {\n top: 'autos'\n }\n};\n\n/**\n * DropDownToggleComponent\n */\n@Component({\n selector: 'gd-drop-down-toggle',\n template: '',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownToggleComponent{\n @HostListener('click',['$event'])\n click = (event: any) => this.dropdown.toggle(event);\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n}\n\n/**\n * DropDownItemsComponent\n */\n@Component({\n selector: 'gd-drop-down-items',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownItemsComponent{\n\n get horizontalAlign(){\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\n }\n\n get verticalAlign(){\n return verticalAlignment[this.dropdown.getPlacement().v].top;\n }\n\n get isOpen(){\n return this.dropdown.open;\n }\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n onClickOutside(event : Event ){\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownItemComponent\n */\n@Component({\n selector: 'gd-drop-down-item',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n})\nexport class DropDownItemComponent{\n @HostBinding('class')\n class = 'drop-down-item';\n\n @Output()\n selected = new EventEmitter();\n\n @HostListener('click')\n click = () => this.selectEntry();\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n selectEntry(){\n this.selected.next();\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownComponent\n */\n@Component({\n selector: 'gd-drop-down',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownComponent{\n @Input()\n placement = {\n h: \"center\",\n v: \"bottom\"\n };\n\n\n @Input()\n @HostBinding('class.show')\n open = false;\n\n @HostBinding('class')\n class = 'drop-down';\n\n close(){\n this.open = false;\n }\n\n toggle(event : MouseEvent){\n event.stopPropagation();\n this.open = !this.open;\n document.body.click();\n }\n\n getPlacement(){\n return this.placement;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-left-side-bar',\n templateUrl: './left-side-bar.component.html',\n styleUrls: ['./left-side-bar.component.less']\n})\nexport class LeftSideBarComponent implements OnInit {\n @Input() showSpinner = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\n\n@Directive({\n selector: '[gdTooltip]'\n})\nexport class TooltipDirective {\n\n @Output() showToolTip = new EventEmitter();\n\n constructor() {\n }\n\n @HostListener('mouseenter')\n public onHovering() {\n this.showToolTip.emit(true);\n }\n\n @HostListener('mouseleave')\n public onUnhovering() {\n this.showToolTip.emit(false);\n }\n\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Injectable,\n ViewContainerRef\n} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddDynamicComponentService {\n\n constructor(private _factoryResolver: ComponentFactoryResolver,\n private _appRef: ApplicationRef) {\n }\n\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\n const factory = this._factoryResolver.resolveComponentFactory(component);\n const componentRef = viewContainerRef.createComponent(factory);\n\n componentRef.onDestroy(() => {\n this._appRef.detachView(componentRef.hostView);\n });\n\n return componentRef;\n }\n\n}\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\n\nexport class HostingDynamicComponentService {\n private hosts: HostDynamicDirective[];\n\n constructor() {\n this.hosts = [];\n }\n\n add(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n this.hosts.push(host);\n }\n\n remove(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n }\n\n find(ident: number) {\n return this.hosts.find(function (h) {\n return h.ident === ident;\n });\n }\n}\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\n\n@Directive({\n selector: '[gdHostDynamic]'\n})\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\n @Input() ident: number;\n\n constructor(public viewContainerRef: ViewContainerRef,\n private _hostingService: HostingDynamicComponentService) {\n }\n\n ngAfterViewInit(): void {\n this._hostingService.add(this);\n }\n\n ngOnDestroy(): void {\n this._hostingService.remove(this);\n this.viewContainerRef.clear();\n }\n\n}\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nimport {Utils} from \"../file.service\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-resizing',\n templateUrl: './resizing.component.html',\n styleUrls: ['./resizing.component.less']\n})\nexport class ResizingComponent implements OnInit, AfterViewInit {\n\n @Input() init: boolean;\n @Input() id: number;\n @Input() se = false;\n @Input() ne = false;\n @Input() sw = false;\n @Input() nw = false;\n @Input() pageWidth: number;\n @Input() pageHeight: number;\n SE = 'se';\n NE = 'ne';\n SW = 'sw';\n NW = 'nw';\n\n @Output() offsetX = new EventEmitter();\n @Output() offsetY = new EventEmitter();\n @Output() offsetTop = new EventEmitter();\n @Output() offsetLeft = new EventEmitter();\n @Output() release = new EventEmitter();\n\n private grab = false;\n private oldPosition: { x: number, y: number };\n\n constructor() {\n }\n\n ngAfterViewInit(): void {\n const elSE = $(this.getElementId(this.SE));\n const elNW = $(this.getElementId(this.NW));\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\n let width = elSE.offset().left - elNW.offset().left;\n let height = elSE.offset().top - elNW.offset().top;\n while (width >= this.pageWidth || height >= this.pageHeight) {\n width = width / 2;\n height = height / 2;\n }\n setTimeout(() => {\n this.offsetX.emit(width);\n this.offsetY.emit(height);\n }, 100);\n }\n }\n\n ngOnInit() {\n }\n\n catchUp($event: DragEvent) {\n // ff\n $event.preventDefault();\n if ($event.dataTransfer) { // ff\n $event.dataTransfer.setData('text', 'foo');\n }\n this.grab = true;\n this.oldPosition = Utils.getMousePosition($event);\n }\n\n resize($event: DragEvent, el: string) {\n if (!this.grab) {\n return;\n }\n const position = Utils.getMousePosition($event);\n if (position.x === 0 && position.y === 0) {\n return;\n }\n const notSW = this.NE === el || this.NW === el;\n const notNE = this.SW === el || this.NW === el;\n this.setOffsets(position, notNE, notSW);\n if (notSW) {\n this.offsetTop.emit(position.y - this.oldPosition.y);\n }\n if (notNE) {\n this.offsetLeft.emit(position.x - this.oldPosition.x);\n }\n this.oldPosition = position;\n }\n\n private setOffsets(position, x: boolean, y: boolean) {\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\n this.offsetX.emit(offsetX);\n this.offsetY.emit(offsetY);\n }\n\n end($event: DragEvent, el: string) {\n // ff\n this.resize($event, el);\n this.release.emit(true);\n this.grab = false;\n }\n\n start($event: DragEvent) {\n this.drop($event);\n }\n\n drop($event: DragEvent) {\n $event.stopPropagation();\n $event.preventDefault();\n }\n\n private getElementId(el: string) {\n return \"#\" + el + \"-\" + this.id;\n }\n}\n","import {TabActivatorService} from \"./tab-activator.service\";\n\nexport class TopTabActivatorService extends TabActivatorService {\n\n constructor() {\n super();\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\nimport {ModalService, CommonModals} from \"../modal.service\";\n\n@Component({\n selector: 'gd-top-tab',\n templateUrl: './top-tab.component.html',\n styleUrls: ['./top-tab.component.less']\n})\nexport class TopTabComponent implements OnInit {\n @Input() id: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() tooltip: string;\n @Output() activeTab = new EventEmitter();\n @Input() elementPosition = 0;\n public active = false;\n public showToolTip = false;\n\n constructor(private _tabActivatorService: TopTabActivatorService,\n private _modalService: ModalService,\n private _excMessageService: ExceptionMessageService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n if (tabId === null) {\n this.activeTab.emit(\"\");\n }\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = !this.active;\n if (this.active) {\n this.activeTab.emit(this.id);\n } else {\n this.activeTab.emit(\"\");\n }\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n toggleTab() {\n if (this.disabled) {\n this._modalService.open(CommonModals.ErrorMessage);\n this._excMessageService.changeMessage(\"Please open document first\");\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\nimport * as jquery from 'jquery';\nimport {FormattingService} from \"../formatting.service\";\nimport {OnCloseService} from \"../on-close.service\";\nimport {Option} from \"../select/select.component\";\nimport { ZoomService } from '../zoom.service';\nimport { WindowService } from '../window.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-text-menu',\n templateUrl: './text-menu.component.html',\n styleUrls: ['./text-menu.component.less']\n})\nexport class TextMenuComponent implements OnInit {\n @Input() blur: boolean;\n @Input() fontSize: number;\n @Input() font: string;\n @Input() bold: boolean;\n @Input() italic: boolean;\n @Input() underline: boolean;\n @Input() color: string;\n @Input() decoration = true;\n @Input() showTooltips = true;\n\n @Output() outFontSize = new EventEmitter();\n @Output() outFont = new EventEmitter();\n @Output() outBold = new EventEmitter();\n @Output() outItalic = new EventEmitter();\n @Output() outUnderline = new EventEmitter();\n @Output() outColor = new EventEmitter();\n\n fontSizeOptions = FormattingService.getFontSizeOptions();\n fontOptions = FormattingService.getFontOptions();\n colorPickerShow = false;\n\n isMobile: boolean;\n\n constructor(private _onCloseService: OnCloseService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n \n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changePosition(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changePosition(val: number) {\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\n }\n\n selectFontSize($event: Option) {\n $(\".gd-wrapper\").off(\"keyup\");\n this.outFontSize.emit($event.value);\n $(\".gd-wrapper\").on(\"keyup\", () => {\n const fontElements = document.getElementsByTagName(\"font\");\n for (let i = 0, len = fontElements.length; i < len; ++i) {\n if (fontElements[i].getAttribute('size') === \"7\") {\n fontElements[i].removeAttribute(\"size\");\n fontElements[i].style.fontSize = $event + \"px\";\n }\n }\n });\n }\n\n selectFont($event: Option) {\n event.preventDefault();\n event.stopPropagation();\n this.outFont.emit($event.value);\n }\n\n toggleColorPicker($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.colorPickerShow = !this.colorPickerShow;\n }\n\n selectColor($event: string) {\n this.colorPickerShow = false;\n this.outColor.emit($event);\n }\n\n toggleBold(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outBold.emit(!this.bold);\n }\n\n toggleItalic(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outItalic.emit(!this.italic);\n }\n\n toggleUnderline(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outUnderline.emit(!this.underline);\n }\n\n closePicker($event) {\n this.colorPickerShow = !$event;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.service\";\nimport { ZoomService } from '../zoom.service';\n\nexport class MenuType {\n public static FOR_SIGNATURE = \"signature\";\n public static FOR_ANNOTATION = \"annotation\";\n}\n\n@Component({\n selector: 'gd-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.less']\n})\nexport class ContextMenuComponent implements OnInit {\n @Input() formatting: Formatting = Formatting.default();\n @Input() textMenu: boolean;\n @Input() topPosition: number;\n @Input() lock = false;\n @Input() translation = 0;\n @Input() menuType: string;\n @Output() changeFormatting = new EventEmitter();\n @Output() removeItem = new EventEmitter();\n @Output() copySign = new EventEmitter();\n @Output() lockOut = new EventEmitter();\n @Output() comment = new EventEmitter();\n\n isMobile: boolean;\n\n constructor(private _windowService: WindowService,\n private _zoomService: ZoomService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changeScale(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changeScale(val: number){\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\n }\n\n saveChanges() {\n this.changeFormatting.emit(this.formatting);\n }\n\n selectFontSize($event: number) {\n this.formatting.fontSize = $event;\n this.saveChanges();\n }\n\n selectFont($event: string) {\n this.formatting.font = $event;\n this.saveChanges();\n }\n\n selectColor($event: string) {\n this.formatting.color = $event;\n this.saveChanges();\n }\n\n toggleBold($event) {\n this.formatting.bold = $event;\n this.saveChanges();\n }\n\n toggleItalic($event) {\n this.formatting.italic = $event;\n this.saveChanges();\n }\n\n toggleUnderline($event) {\n this.formatting.underline = $event;\n this.saveChanges();\n }\n\n deleteItem() {\n this.removeItem.emit(true);\n }\n\n toggleLock() {\n this.lock = !this.lock;\n this.lockOut.emit(this.lock);\n }\n\n onCopySign() {\n this.copySign.emit(true);\n }\n\n isSignature() {\n return this.menuType === MenuType.FOR_SIGNATURE;\n }\n\n isAnnotation() {\n return this.menuType === MenuType.FOR_ANNOTATION;\n }\n\n addComment() {\n this.comment.emit(true);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\nimport {SidePanelComponent} from './side-panel/side-panel.component';\nimport {ButtonComponent} from './button/button.component';\nimport {LogoComponent} from './logo/logo.component';\nimport {TooltipComponent} from './tooltip/tooltip.component';\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons';\nimport {far} from '@fortawesome/free-regular-svg-icons';\nimport {Api, ConfigService,} from \"./config.service\";\nimport {ModalService} from \"./modal.service\";\nimport {ModalComponent} from './modal/modal.component';\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\nimport {DocumentComponent} from './document/document.component';\nimport {PageComponent} from './page/page.component';\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\nimport {UploadFilesService} from \"./upload-files.service\";\nimport {DndDirective} from './dnd.directive';\nimport {ScrollableDirective} from './scrollable.directive';\nimport {MouseWheelDirective} from './mousewheel.directive';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomDirective} from './zoom.directive';\nimport {ZoomService} from \"./zoom.service\";\nimport {SelectComponent} from './select/select.component';\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\nimport {RotationDirective} from './rotation.directive';\nimport {InitStateComponent} from './init-state/init-state.component';\nimport {RenderPrintService} from \"./render-print.service\";\nimport {RenderPrintDirective} from './render-print.directive';\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {PasswordService} from \"./password.service\";\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\nimport {SearchComponent} from './search/search.component';\nimport {SearchableDirective} from './searchable.directive';\nimport {SearchService} from \"./search.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\nimport {TabComponent} from \"./tab/tab.component\";\nimport {TabsComponent} from \"./tabs/tabs.component\";\nimport {FormattingService} from \"./formatting.service\";\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\nimport {FormattingDirective} from './formatting.directive';\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport {OnCloseService} from \"./on-close.service\";\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\nimport {EditorDirective} from './editor.directive';\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\nimport {LoadingMaskService} from './loading-mask.service';\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\nimport {TabActivatorService} from \"./tab-activator.service\";\nimport {\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent\n} from './drop-down/drop-down.component';\nimport {ClickOutsideModule} from 'ng-click-outside';\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\nimport {TooltipDirective} from './tooltip.directive';\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\nimport {HostDynamicDirective} from './host-dynamic.directive';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\nimport {ResizingComponent} from './resizing/resizing.component';\nimport {TopTabComponent} from './top-tab/top-tab.component';\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\nimport {TextMenuComponent} from './text-menu/text-menu.component';\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\n\nconst providers = [ConfigService,\n Api,\n ModalService,\n FileService,\n FileModel,\n FileUtil,\n Utils,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFilesService,\n RenderPrintService,\n NavigateService,\n PagePreloadService,\n ZoomService,\n ExceptionMessageService,\n PasswordService,\n ErrorInterceptorService,\n SearchService,\n WindowService,\n ViewportService,\n FormattingService,\n BackFormattingService,\n OnCloseService,\n LoadingMaskInterceptorService,\n LoadingMaskService,\n TabActivatorService,\n AddDynamicComponentService,\n HostingDynamicComponentService,\n TopTabActivatorService];\n\n@NgModule({\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\n declarations: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFileZoneComponent,\n DndDirective,\n ScrollableDirective,\n MouseWheelDirective,\n ZoomDirective,\n SelectComponent,\n DisabledCursorDirective,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n EditorDirective,\n LoadingMaskComponent,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n exports: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n SanitizeHtmlPipe,\n UploadFileZoneComponent,\n ScrollableDirective,\n MouseWheelDirective,\n SelectComponent,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n LoadingMaskComponent,\n DndDirective,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n ZoomDirective,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n providers: providers\n})\nexport class CommonComponentsModule {\n constructor() {\n library.add(fas, far);\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__values","o","m","Symbol","iterator","i","call","next","length","value","done","TopToolbarComponent","Component","args","selector","template","SidePanelComponent","closable","saveable","hideSidePanel","EventEmitter","saveInSidePanel","onlyTitle","closeSidePanel","emit","saveBySidePanel","toggleTitleMode","Input","Output","WindowService","_this","resizeSubject","Subject","width","window","innerWidth","height","innerHeight","_resize$","fromEvent","pipe","debounceTime","distinctUntilChanged","startWith","target","tap","event","subscribe","defineProperty","asObservable","isMobile","isTablet","isDesktop","getWidth","getHeight","isEdge","navigator","userAgent","toLowerCase","indexOf","isFirefox","ButtonComponent","windowService","iconOnly","intent","disabled","toggle","iconRegular","elementPosition","showToolTip","onResize","w","iconButtonClass","onHovering","className","onUnhovering","cleanAll","str","val","replace","LogoComponent","ngOnInit","TooltipComponent","position","visibility","getClass","Api","VIEWER_APP","SIGNATURE_APP","ANNOTATION_APP","SEARCH_APP","EDITOR_APP","COMPARISON_APP","CONVERSION_APP","METADATA_APP","DEFAULT_API_ENDPOINT","location","href","LOAD_FILE_TREE","LOAD_CONFIG","LOAD_DOCUMENT_DESCRIPTION","LOAD_DOCUMENT_PAGE","LOAD_DOCUMENT_PROPERTIES","LOAD_DOCUMENT_PROPERTIES_NAMES","SAVE_PROPERTY","REMOVE_PROPERTY","ROTATE_DOCUMENT_PAGE","UPLOAD_DOCUMENTS","DOWNLOAD_DOCUMENTS","DOWNLOAD_ANNOTATED","LOAD_PRINT","LOAD_PRINT_PDF","LOAD_THUMBNAILS","LOAD_FORMATS","SAVE_FILE","CREATE_FILE","COMPARE_FILES","CONVERT_FILE","DELETE_SIGNATURE_FILE","REMOVE_FROM_INDEX","GET_FILE_STATUS","SAVE_OPTICAL_CODE","SAVE_TEXT","SAVE_IMAGE","SAVE_STAMP","SIGN","DOWNLOAD_SIGNED","LOAD_SIGNATURE_IMAGE","ANNOTATE","SEARCH","ADD_FILES_TO_INDEX","CLEAN_METADATA","EXPORT_METADATA","httpOptionsJson","headers","HttpHeaders","Content-Type","httpOptionsJsonResponseTypeBlob","responseType","ConfigService","apiEndpoint","_apiEndpoint","url","trim","endsWith","substring","getConfigEndpoint","app","getViewerApiEndpoint","getEditorApiEndpoint","getComparisonApiEndpoint","getConversionApiEndpoint","getMetadataApiEndpoint","getSignatureApiEndpoint","getAnnotationApiEndpoint","getSearchApiEndpoint","Injectable","CommonModals","PasswordRequired","ErrorMessage","BrowseFiles","CreateDocument","OperationSuccess","DrawHandSignature","DrawStampSignature","InformationMessage","ModalService","modals","add","modal","push","remove","id","filter","x","open","close","ModalComponent","modalService","el","visible","cancel","element","nativeElement","document","body","appendChild","console","error","ngOnDestroy","preventDefault","stopPropagation","onClose","$event","cancelClose","ElementRef","RotatedPage","FileCredentials","guid","password","SaveFile","_super","content","pageNumber","tslib_1.__extends","FileDescription","printAllowed","FileModel","HttpError","BadRequest","Unauthorized","Forbidden","NotFound","TimeOut","Conflict","InternalServerError","Utils","getMousePosition","mouse","y","wEvent","ev","pageX","screenX","touches","pageY","screenX_1","screenY","screenY_1","clientX","scrollLeft","clientY","scrollTop","toRgb","color","result","exec","r","parseInt","g","toHex","match","charAt","c","RegExp","$1","$2","$3","pad","len","toString","FileUtil","find","filename","isDirectory","strings","split","name_1","pop","map","folder","format","icon","pdf","unit","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown","FileService","UploadFilesService","_uploadsChange","Observable","observer","_observer","changeFilesList","filesList","$","jquery","uploads_choices","name","BrowseFilesModalComponent","_uploadService","uploads","selectedFileGuid","selectedDirectory","urlForUpload","closing","showUploadUrl","showUploadFile","getSize","size","mb","Math","round","kb","getFormatName","file","directory","getFormatIcon","choose","selectedFile","goUp","selectUpload","trigger","refresh","files","showSpinner","uploadUrl","cleanUpload","handleFileInput","ZoomService","_zoomChange","_zoom","changeZoom","zoom","createZoomOption","sep","separator","zoomOptions","PagePreloadService","_checkPreload","changeLastPageInView","page","NavigateService","_pagePreloadService","_currentPage","_countPages","_navigate","nextPage","navigateTo","prevPage","toLastPage","toFirstPage","currentPage","providedIn","DocumentComponent","_elementRef","_zoomService","_windowService","_navigateService","wait","docWidth","docHeight","viewportWidth","viewportHeight","scale","lastScale","container","lastX","lastY","pinchCenter","pinchCenterOffset","curWidth","curHeight","zoomChange","navigate","selectedPage","ifPresentation","ngOnChanges","ngAfterViewInit","children","item","clientWidth","clientHeight","offsetWidth","offsetHeight","Hammer","ifExcel","getDimensionWithUnit","showActiveSlide","isVisible","mode","ifEdge","ngAfterViewChecked","ExcelPageService","getUpdatedPage","data","DOMParser","parseFromString","table","querySelector","numCellsInFirstRow","querySelectorAll","forEach","elm","attributes","newTable","createHeader","replaceWith","XMLSerializer","serializeToString","getPageWithoutHeader","deleteRow","row","deleteCell","numCols","header","createElement","append","th","innerText","colName","setAttribute","colgroup","col","prepend","cnt","div","td","n","ordA","charCodeAt","s","String","fromCharCode","floor","ExcelPageComponent","_excelPageService","test","number","editable","changes","isHtml","imgData","ExcelDocumentComponent","zoomService","navigateService","renderer","panzoom","selectedSheet","currentPageNo","refreshExcelDocHeight","pages","selectSheet","scrollbarWidth","getScrollBarWidth","setStyle","documentBox","style","scrollHeight","getSheetName","sheetName","Renderer2","ViewChildren","PageComponent","SanitizeHtmlPipe","sanitizer","transform","bypassSecurityTrustHtml","Pipe","DomSanitizer","SanitizeResourceHtmlPipe","bypassSecurityTrustResourceUrl","SanitizeStylePipe","bypassSecurityTrustStyle","HighlightSearchPipe","re","UploadFileZoneComponent","closeUpload","onCloseUpload","DndDirective","_uploadFilesService","opening","dropped","active","dragCounter","onDragEnter","evt","onDragOver","onDragLeave","closeArea","onDrop","dataTransfer","onClick","Directive","HostBinding","HostListener","ViewportService","checkInViewport","leftOffset","deltaX","win","viewport","isNaN","zoomN","outerHeight","outerWidth","bounds","offset","right","left","bottom","top","deltas","parseFloat","min","toFixed","ScrollableDirective","_viewportService","loadedPagesSet","Set","scrollToPage","scrolling","resizing","getPage","prev","isSameTop","options","calculateOffset","scroll","getChildren","count","countPagesOnWidth","margin","pagesHeight","getZoom","pageEl","getBoundingClientRect","currentPageSet","pageElem","currentPageRect","has","MouseWheelDirective","mouseWheelUp","mouseWheelDown","onMouseWheelChrome","mouseWheelFunc","onMouseWheelFirefox","onMouseWheelIE","delta","max","wheelDelta","detail","ZoomDirective","zoomActive","setStyles","resizePages","zoomInt","transformOrigin","maxWidth","minWidth","getScrollWidth","getScrollHeight","viewPortWidth","parentElement","viewPortHeight","scrollWidth","OnCloseService","_onClose","SelectComponent","_onCloseService","selected","opened","isOpen","onClickOutside","select","DisabledCursorDirective","updateCursor","cursor","dis","RotationDirective","withMargin","angle","animation","transition","isHtmlMode","isLandscape","InitStateComponent","fileDropped","RenderPrintService","_render","_renderBlob","_observerBlob","changePages","changeBlob","RenderPrintDirective","_renderService","renderPrint","renderPrintBlob","pagesHtml","pages_1","tslib_1.__values","pages_1_1","openWindow","imageA4Adjusted","cssPrint","windowObject","focus","writeln","setTimeout","print","fileURL","URL","createObjectURL","ExceptionMessageService","BehaviorSubject","_messageChange","_observerHttpEvent","_httpEventChange","changeMessage","message","changeHttpEvent","httpEvent","ErrorModalComponent","messageService","messageChange","PasswordService","_passChange","setPassword","pass","PasswordRequiredComponent","_passwordService","cancelEvent","onCloseOpen","ErrorInterceptorService","_modalService","_messageService","intercept","req","logFormat","handle","catchError","exception","HttpErrorResponse","status","ErrorMessageWindowName","throwError","SearchService","_textChange","_observerCurrent","_currentChange","_observerTotal","_totalChange","setText","text","setCurrent","current","setTotal","total","SearchComponent","_searchService","hidePanel","totalChange","hide","textElement","ViewChild","static","SearchableDirective","_highlight","currentChange","moveToCurrent","textChange","highlightSearch","cleanHighlight","highlightEl","removeClass","currentEl","addClass","textNodes","contents","nodeName","checkClass","classList","contains","nodeType","textContent","highlight","each","$this","normalize","nodeListOf","TabbedToolbarsComponent","TabActivatorService","_activeTabChange","changeActiveTab","tabId","TabComponent","_tabActivatorService","activeTabChange","activation","selectTab","TabsComponent","Formatting","fontSize","bgColor","bold","italic","underline","font","strikeout","align","list","default","FormattingService","_observerBold","_formatBoldChange","_observerUnderline","_formatUnderlineChange","_observerUndo","_undo","_observerRedo","_redo","_observerItalic","_formatItalicChange","_observerColor","_formatColorChange","_observerBgColor","_formatBgColorChange","_observerFontSize","_formatFontSizeChange","_observerFont","_formatFontChange","_observerStrikeout","_formatStrikeoutChange","_observerAlign","_formatAlignChange","_observerList","_formatListChange","createFontSizeOption","getFontSizeOptions","createFontOption","getFontOptions","fontOptions","changeFormatFontSize","changeFormatBold","changeFormatUnderline","Undo","Redo","changeFormatItalic","changeFormatColor","changeFormatBgColor","bgcolor","changeFormatFont","changeFormatStrikeout","changeFormatAlign","changeFormatList","DEFAULT_COLORS","ColorPickerComponent","selectedColor","closeOutside","colors","white","BackFormattingService","SelectionService","isIE","restoreSelection","selection","collapsed","putSelection","captureSelection","getSelection","rangeCount","getRangeAt","sel","removeAllRanges","addRange","cloneRange","refreshSelection","FormattingDirective","_formattingService","_backFormattingService","_selectionService","mouseup","queryCommandState","queryCommandValue","checkJustify","checkList","focusNode","parentNode","css","reportFontSize","containerEl","commonAncestorContainer","type","createRange","getComputedStyleProperty","propName","getComputedStyle","currentStyle","undo","toggleUndo","redo","toggleRedo","formatBoldChange","toggleBold","formatUnderlineChange","toggleUnderline","formatItalicChange","toggleItalic","formatColorChange","setColor","formatBgColorChange","setBgColor","formatFontSizeChange","setFontSize","formatFontChange","setFont","formatStrikeoutChange","toggleStrikeout","formatAlignChange","toggleAlign","formatListChange","toggleList","execCommand","spanString","toggleAlignIE","SuccessModalComponent","EditHtmlService","_htmlContent","EditorDirective","_htmlService","onInput","innerHTML","onMouseleave","onBlur","LoadingMaskService","onLoadingChanged","stopList","requests","onRequestStart","includes","notify","onRequestFinish","index","splice","addStopUrl","LoadingMaskComponent","_loadingMaskService","loadingMask","loading","LoadingMaskInterceptorService","finalize","horizontalAlignment","center","verticalAlignment","DropDownToggleComponent","dropdown","click","encapsulation","ViewEncapsulation","None","Inject","forwardRef","DropDownComponent","DropDownItemsComponent","getPlacement","h","v","DropDownItemComponent","class","selectEntry","placement","LeftSideBarComponent","TooltipDirective","AddDynamicComponentService","_factoryResolver","_appRef","addDynamicComponent","viewContainerRef","component","factory","resolveComponentFactory","componentRef","createComponent","onDestroy","detachView","hostView","ComponentFactoryResolver","ApplicationRef","HostingDynamicComponentService","hosts","host","ident","HostDynamicDirective","_hostingService","clear","ViewContainerRef","ResizingComponent","se","ne","sw","nw","SE","NE","SW","NW","offsetX","offsetY","offsetTop","offsetLeft","release","grab","elSE","getElementId","elNW","init","width_1","height_1","pageWidth","pageHeight","catchUp","setData","oldPosition","resize","notSW","notNE","setOffsets","end","start","drop","TopTabActivatorService","TopTabComponent","_excMessageService","activeTab","toggleTab","TextMenuComponent","decoration","showTooltips","outFontSize","outFont","outBold","outItalic","outUnderline","outColor","fontSizeOptions","colorPickerShow","changePosition","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","changeScale","saveChanges","deleteItem","toggleLock","onCopySign","isSignature","menuType","isAnnotation","addComment","providers","CommonComponentsModule","library","fas","far","NgModule","imports","CommonModule","FontAwesomeModule","ClickOutsideModule","declarations","exports"],"mappings":"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EAAAA,wBACAA,EAAAA,2BACAA,EAAAA,oBACAA,EAAAA,2BACAA,EAAAA,wBACAA,EAAAA,gCACAC,EAAAA,2BACAA,EAAAA,yBACAA,EAAAA,wBACAA,EAAAA,wBACAA,EAAAA,UAsFHs9B,EAtGA,OCqEMkB,GAAY,CAACz3B,EACjBrD,EACAgF,EACA2K,EACAlI,EACA4C,EACAnC,EACA0S,EACAM,EACAE,EACAE,EACA1L,EACA4S,GACAtP,EACAJ,EACAT,EACA4R,GACAY,GACAQ,GACAa,GACA3pB,EACAqgB,GACAwN,GACAiD,GACAnM,GACA2R,GACAf,GACA/I,GACAsL,GACAe,GACAyC,GACAxhB,GAEF0kB,GAAA,WAyGE,SAAAA,IACEC,EAAAA,QAAQ91B,IAAI+1B,EAAAA,IAAKC,EAAAA,KAErB,2BA5GCC,EAAAA,SAAQ5/B,KAAA,CAAC,CACR6/B,QAAS,CAACC,EAAAA,aAAcC,EAAAA,kBAAmBC,EAAAA,oBAC3CC,aAAc,CACZngC,EACAK,EACA6C,EACAmB,EACAE,EACA+F,EACA4K,EACAuD,EACAyF,EACAoB,EACA5B,EACA6B,EACAM,EACAE,EACAE,EACAE,GACAG,GACAqC,GACAyB,GACAW,GACAgB,GACAO,GACAI,GACAO,GACAQ,GACA4B,GACAO,GACA6B,GACAQ,GACAwB,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAG,GACAiB,GACAiB,GACAK,GACAJ,GACAT,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA0B,IAEF6B,QAAS,CACPpgC,EACAK,EACA6C,EACAmB,EACAE,EACA+F,EACA4K,EACAuD,EACAyF,EACAoB,EACA5B,EACAmC,EACAE,EACAE,EACAV,EACAY,GACAwC,GACAyB,GACA2B,GACAW,GACAO,GACAQ,GACA4B,GACAO,GACA6B,GACAQ,GACAwB,GACAK,GACAK,GACAwD,GACAqB,GACAgD,GACAoB,GACA9W,GACA+X,GACAK,GACAJ,GACAT,GACA9S,GACA8S,GACAiB,GACAC,GACAoB,GACAI,GACAkC,GACAI,GACA0B,GACApI,GACAnD,IACFyM,UAAWA,6CAMbC,EA5GA","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n pageNumber: number;\r\n\r\n constructor(guid: string, password: string, content: string, pageNumber: number) {\r\n super(guid, password);\r\n this.content = content;\r\n this.pageNumber = pageNumber;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\r\n }\r\n\r\n ngOnInit() {\r\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n if(isIE && this.number === 0){\r\n this.editable = false;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.isHtml) {\r\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \r\n // which leads to undesired spaces on the top of the docs pages\r\n this.data = this.data \r\n ? this.data.replace(/>\\s+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : null;\r\n } else {\r\n this.imgData = 'data:image/png;base64,' + this.data;\r\n }\r\n\r\n this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2, Output, EventEmitter } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n @Output() selectedSheet = new EventEmitter();\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n this.selectedSheet.emit(number);\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.less']\r\n})\r\nexport class PageComponent implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() number: number;\r\n @Input() data: string;\r\n @Input() isHtml: boolean;\r\n @Input() editable: boolean;\r\n imgData: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n if(isIE && this.number === 0){\r\n this.editable = false;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.isHtml) {\r\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \r\n // which leads to undesired spaces on the top of the docs pages\r\n this.data = this.data \r\n ? this.data.replace(/>\\s+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : null;\r\n } else {\r\n this.imgData = 'data:image/png;base64,' + this.data;\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\r\n\r\n@Pipe({name: 'safeHtml'})\r\nexport class SanitizeHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeResourceHtml'})\r\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeStyle'})\r\nexport class SanitizeStylePipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustStyle(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'highlight'})\r\nexport class HighlightSearchPipe implements PipeTransform {\r\n\r\n transform(value: string, args: string): any {\r\n if (!args) {\r\n return value;\r\n }\r\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\r\n return value.replace(re, \"$&\");\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\n\r\n@Component({\r\n selector: 'gd-upload-file-zone',\r\n templateUrl: './upload-file-zone.component.html',\r\n styleUrls: ['./upload-file-zone.component.less']\r\n})\r\nexport class UploadFileZoneComponent implements OnInit {\r\n\r\n @Output() closeUpload = new EventEmitter();\r\n\r\n constructor(private _uploadService: UploadFilesService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n this.onCloseUpload();\r\n }\r\n\r\n onCloseUpload() {\r\n this.closeUpload.emit(true);\r\n }\r\n\r\n close($event) {\r\n if ($event.target.id === 'gd-dropZone') {\r\n this.onCloseUpload();\r\n }\r\n }\r\n}\r\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\n\r\n@Directive({\r\n selector: '[gdDnd]'\r\n})\r\nexport class DndDirective {\r\n\r\n @Output() closing = new EventEmitter();\r\n @Output() opening = new EventEmitter();\r\n @Output() dropped = new EventEmitter();\r\n\r\n @HostBinding('class.active') active = false;\r\n\r\n private dragCounter = 0;\r\n\r\n constructor(protected _uploadFilesService: UploadFilesService) {\r\n }\r\n\r\n @HostListener('dragenter', ['$event'])\r\n public onDragEnter(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter++;\r\n this.active = true;\r\n this.opening.emit(true);\r\n }\r\n\r\n @HostListener('dragover', ['$event'])\r\n public onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n return false;\r\n }\r\n\r\n @HostListener('dragleave', ['$event'])\r\n public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter--;\r\n if (this.dragCounter === 0) {\r\n this.active = false;\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n public onDrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n const files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.active = false;\r\n this.dropped.emit(true);\r\n this._uploadFilesService.changeFilesList(files);\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick(event) {\r\n this.closeArea();\r\n }\r\n\r\n private closeArea() {\r\n this.closing.emit(true);\r\n this.opening.emit(false);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ViewportService {\r\n\r\n constructor() {\r\n }\r\n\r\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\r\n if (!el) {\r\n return false;\r\n }\r\n const x = deltaX;\r\n const y = 0.5;\r\n\r\n const win = $(window);\r\n\r\n const viewport = {\r\n top: win.scrollTop(),\r\n left: win.scrollLeft() + leftOffset,\r\n right: win.scrollLeft() + win.width() - 10,\r\n bottom: win.scrollTop() + win.height()\r\n };\r\n\r\n\r\n if (isNaN(zoom)) {\r\n zoom = 100;\r\n }\r\n\r\n const zoomN = zoom / 100;\r\n const height = $(el).outerHeight() * (zoomN);\r\n const width = $(el).outerWidth() * (zoomN);\r\n\r\n if (!width || !height) {\r\n return false;\r\n }\r\n\r\n const bounds = $(el).offset();\r\n const right = (bounds.left * (zoomN)) + width;\r\n const bottom = (bounds.top * (zoomN)) + height;\r\n\r\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\r\n\r\n if (!visible) {\r\n return false;\r\n }\r\n\r\n const deltas = {\r\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\r\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\r\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\r\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\r\n };\r\n\r\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdScrollable]'\r\n})\r\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\r\n\r\n private currentPage: number;\r\n private zoom = 100;\r\n private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Output() opened: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n if (this.isOpen) this.opened.emit(true);\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import { HttpEvent } from \"@angular/common/http\";\r\nimport {BehaviorSubject, Observable} from \"rxjs\";\r\n\r\nexport class ExceptionMessageService {\r\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\r\n private _messageChange: Observable = this._observer.asObservable();\r\n\r\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\r\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n get httpEventChange(): Observable> {\r\n return this._httpEventChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\r\n }\r\n\r\n changeHttpEvent(httpEvent:HttpEvent) {\r\n this._observerHttpEvent.next(httpEvent);\r\n }\r\n}\r\n","import {Component, OnInit} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\n\r\n@Component({\r\n selector: 'gd-error-modal',\r\n templateUrl: './error-modal.component.html',\r\n styleUrls: ['./error-modal.component.less']\r\n})\r\nexport class ErrorModalComponent implements OnInit {\r\n\r\n message: string;\r\n\r\n constructor(messageService: ExceptionMessageService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class PasswordService {\r\n private _observer: Subject = new Subject();\r\n private readonly _passChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get passChange(): Observable {\r\n return this._passChange;\r\n }\r\n\r\n setPassword(pass: string) {\r\n this._observer.next(pass);\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {PasswordService} from \"../password.service\";\r\nimport * as jquery from \"jquery\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-password-required',\r\n templateUrl: './password-required.component.html',\r\n styleUrls: ['./password-required.component.less']\r\n})\r\nexport class PasswordRequiredComponent implements OnInit {\r\n message: string;\r\n @Output() cancelEvent = new EventEmitter();\r\n\r\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setPassword(value: string) {\r\n this._passwordService.setPassword(value);\r\n }\r\n\r\n onCloseOpen($event: boolean) {\r\n if ($event) {\r\n setTimeout(() => {\r\n const element = $(\"#password\");\r\n if (element) {\r\n element.focus();\r\n }\r\n }, 100);\r\n } else {\r\n $(\"#password\").val(\"\");\r\n }\r\n }\r\n\r\n cancel($event: boolean) {\r\n $(\"#password\").val(\"\");\r\n this.cancelEvent.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable, throwError} from \"rxjs\";\r\nimport {catchError, map} from \"rxjs/operators\";\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {HttpError} from \"./file.service\";\r\nimport {CommonModals, ModalService} from \"./modal.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorInterceptorService implements HttpInterceptor {\r\n\r\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\r\n\r\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const logFormat = 'background: maroon; color: white';\r\n\r\n return next.handle(req)\r\n .pipe(map(data => {\r\n return data;\r\n }),\r\n catchError((exception: HttpEvent) => {\r\n if (exception instanceof HttpErrorResponse) {\r\n switch (exception.status) {\r\n\r\n case HttpError.BadRequest:\r\n console.error('%c Bad Request 400', logFormat);\r\n break;\r\n case HttpError.Unauthorized:\r\n console.error('%c Unauthorized 401', logFormat);\r\n break;\r\n case HttpError.NotFound:\r\n console.error('%c Not Found 404', logFormat);\r\n break;\r\n case HttpError.TimeOut:\r\n console.error('%c TimeOut 408', logFormat);\r\n break;\r\n case HttpError.InternalServerError:\r\n console.error('%c big bad 500', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._messageService.changeHttpEvent(exception);\r\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\r\n break;\r\n\r\n case HttpError.Forbidden:\r\n console.error('%c Forbidden 403', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._modalService.open(CommonModals.PasswordRequired);\r\n break;\r\n }\r\n }\r\n return throwError(exception);\r\n }));\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class SearchService {\r\n private _observer: Subject = new Subject();\r\n private readonly _textChange: Observable = this._observer.asObservable();\r\n\r\n private _observerCurrent: Subject = new Subject();\r\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\r\n\r\n private _observerTotal: Subject = new Subject();\r\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get textChange(): Observable {\r\n return this._textChange;\r\n }\r\n\r\n setText(text: string) {\r\n this._observer.next(text);\r\n }\r\n\r\n get currentChange(): Observable {\r\n return this._currentChange;\r\n }\r\n\r\n get totalChange(): Observable {\r\n return this._totalChange;\r\n }\r\n\r\n setCurrent(current: number) {\r\n this._observerCurrent.next(current);\r\n }\r\n\r\n setTotal(total: number) {\r\n this._observerTotal.next(total);\r\n }\r\n}\r\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {SearchService} from \"../search.service\";\r\n\r\n@Component({\r\n selector: 'gd-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.less']\r\n})\r\nexport class SearchComponent implements OnInit, AfterViewInit {\r\n\r\n @Output() hidePanel = new EventEmitter(false);\r\n\r\n current = 0;\r\n total = 0;\r\n\r\n @ViewChild('text',{\r\n static : true\r\n }) textElement: ElementRef;\r\n\r\n constructor(private _searchService: SearchService) {\r\n _searchService.totalChange.subscribe((total: number) => {\r\n this.total = total;\r\n if (total !== 0) {\r\n this.current = 1;\r\n } else {\r\n this.current = 0;\r\n }\r\n this._searchService.setCurrent(this.current);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setText(text: string) {\r\n this._searchService.setText(text);\r\n }\r\n\r\n hide() {\r\n this.setText('');\r\n this.hidePanel.emit(true);\r\n }\r\n\r\n prev() {\r\n if (this.current > 1) {\r\n this.current--;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n next() {\r\n if (this.current < this.total) {\r\n this.current++;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.textElement.nativeElement.focus();\r\n }\r\n}\r\n","import {Directive, ElementRef} from '@angular/core';\r\nimport {SearchService} from \"./search.service\";\r\nimport {HighlightSearchPipe} from \"./pipes\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdSearchable]'\r\n})\r\nexport class SearchableDirective {\r\n\r\n text: string;\r\n current = 0;\r\n total = 0;\r\n private zoom = 100;\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _searchService: SearchService,\r\n private _highlight: HighlightSearchPipe,\r\n private _zoomService: ZoomService) {\r\n _searchService.currentChange.subscribe((current: number) => {\r\n this.current = current;\r\n if (this.current !== 0) {\r\n this.moveToCurrent();\r\n }\r\n });\r\n\r\n _searchService.textChange.subscribe((text: string) => {\r\n this.text = text;\r\n this.highlightSearch();\r\n });\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n });\r\n }\r\n\r\n private highlightSearch() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n this.cleanHighlight(el);\r\n if (this.text) {\r\n this.highlightEl(el);\r\n const count = el.querySelectorAll('.gd-highlight').length;\r\n this.total = count;\r\n } else {\r\n this.total = 0;\r\n }\r\n this._searchService.setTotal(this.total);\r\n }\r\n }\r\n\r\n private moveToCurrent() {\r\n if (this.current === 0) {\r\n return;\r\n }\r\n const currentZoom = this.getZoom();\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\r\n $(value).removeClass('gd-highlight-select');\r\n });\r\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\r\n $(currentEl).addClass('gd-highlight-select');\r\n if (currentEl) {\r\n const options = {\r\n left: 0,\r\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\r\n };\r\n // using polyfill\r\n el.parentElement.parentElement.scroll(options);\r\n }\r\n }\r\n }\r\n\r\n private highlightEl(el: Element) {\r\n const textNodes = $(el).find('*').contents().filter(function () {\r\n const nodeName = this.parentElement.nodeName.toLowerCase();\r\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\r\n return this.nodeType === 3 &&\r\n this.textContent.trim().length !== 0 &&\r\n nodeName !== 'style' &&\r\n nodeName !== 'title' &&\r\n nodeName !== 'body' &&\r\n nodeName !== 'script' &&\r\n checkClass;\r\n });\r\n const text = this.text;\r\n const highlight = this._highlight;\r\n textNodes.each(function () {\r\n const $this = $(this);\r\n let content = $this.text();\r\n content = highlight.transform(content, text);\r\n $this.replaceWith(content);\r\n });\r\n el.normalize();\r\n }\r\n\r\n private cleanHighlight(el: HTMLElement) {\r\n const nodeListOf = el.querySelectorAll('.gd-highlight');\r\n for (let i = 0; i < nodeListOf.length; i++) {\r\n const element = nodeListOf.item(i);\r\n element.replaceWith((element).innerText);\r\n }\r\n el.normalize();\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n addStopUrl(url: string) {\r\n this.stopList.push(url);\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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/index.js b/dist/libs/common-components/esm2015/index.js index 2860558ac..592ffcdea 100644 --- a/dist/libs/common-components/esm2015/index.js +++ b/dist/libs/common-components/esm2015/index.js @@ -22,11 +22,13 @@ export { ButtonComponent } from './lib/button/button.component'; export { DisabledCursorDirective } from './lib/disabled-cursor.directive'; export { DndDirective } from './lib/dnd.directive'; export { DocumentComponent } from './lib/document/document.component'; +export { ExcelDocumentComponent } from './lib/excel-document/excel-document.component'; export { ErrorModalComponent } from './lib/error-modal/error-modal.component'; export { InitStateComponent } from './lib/init-state/init-state.component'; export { LogoComponent } from './lib/logo/logo.component'; export { ModalComponent } from './lib/modal/modal.component'; export { PageComponent } from './lib/page/page.component'; +export { ExcelPageComponent } from './lib/excel-page/excel-page.component'; export { PasswordRequiredComponent } from './lib/password-required/password-required.component'; export { RenderPrintDirective } from './lib/render-print.directive'; export { RotationDirective } from './lib/rotation.directive'; @@ -64,4 +66,5 @@ export { HostingDynamicComponentService } from './lib/hosting-dynamic-component. export { TopTabActivatorService } from './lib/top-tab-activator.service'; export { MenuType, ContextMenuComponent } from './lib/context-menu/context-menu.component'; export { TextMenuComponent } from './lib/text-menu/text-menu.component'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsdUNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsbUNBQWMsc0JBQXNCLENBQUM7QUFDckMsMkNBQWMscUJBQXFCLENBQUM7QUFDcEMsdUlBQWMsb0JBQW9CLENBQUM7QUFDbkMsbUNBQWMsNEJBQTRCLENBQUM7QUFDM0MsbUdBQWMsYUFBYSxDQUFDO0FBQzVCLGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDRCQUFjLG9CQUFvQixDQUFDO0FBQ25DLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLHdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELHdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLDBDQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLHdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDZCQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGtDQUFjLG1DQUFtQyxDQUFDO0FBQ2xELG9DQUFjLHlDQUF5QyxDQUFDO0FBQ3hELG1DQUFjLHVDQUF1QyxDQUFDO0FBQ3RELDhCQUFjLDJCQUEyQixDQUFDO0FBQzFDLCtCQUFjLDZCQUE2QixDQUFDO0FBQzVDLDhCQUFjLDJCQUEyQixDQUFDO0FBQzFDLDBDQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLHFDQUFjLDhCQUE4QixDQUFDO0FBQzdDLGtDQUFjLDBCQUEwQixDQUFDO0FBQ3pDLG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLGlDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELG9DQUFjLHlDQUF5QyxDQUFDO0FBQ3hELG1DQUFjLHVDQUF1QyxDQUFDO0FBQ3RELHdDQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGlDQUFjLHlCQUF5QixDQUFDO0FBQ3hDLCtCQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDhDQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDhDQUFjLDBCQUEwQixDQUFDO0FBQ3pDLHNDQUFjLCtCQUErQixDQUFDO0FBQzlDLGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGdDQUFjLHlCQUF5QixDQUFDO0FBQ3hDLHFDQUFjLDJDQUEyQyxDQUFDO0FBQzFELHFDQUFjLDJDQUEyQyxDQUFDO0FBQzFELHNDQUFjLDZDQUE2QyxDQUFDO0FBQzVELDZCQUFjLHlCQUF5QixDQUFDO0FBQ3hDLHdDQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLG9DQUFjLDZCQUE2QixDQUFDO0FBQzVDLDBHQUFjLHFDQUFxQyxDQUFDO0FBQ3BELHFDQUFjLDZDQUE2QyxDQUFBO0FBQzNELDJDQUFjLHFDQUFxQyxDQUFBO0FBQ25ELHFDQUFjLDhCQUE4QixDQUFBO0FBQzVDLCtDQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELHVDQUFjLGlDQUFpQyxDQUFBO0FBQy9DLCtDQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGtDQUFjLHFDQUFxQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uLWNvbXBvbmVudHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC1maWxlcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZS1wcmVsb2FkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvem9vbS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbmRlci1wcmludC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Vycm9yLWludGVyY2VwdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXhjZXB0aW9uLW1lc3NhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYXNzd29yZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3dpbmRvdy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZpZXdwb3J0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJvd3NlLWZpbGVzLW1vZGFsL2Jyb3dzZS1maWxlcy1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlzYWJsZWQtY3Vyc29yLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kbmQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lcnJvci1tb2RhbC9lcnJvci1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5pdC1zdGF0ZS9pbml0LXN0YXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2dvL2xvZ28uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlL3BhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Bhc3N3b3JkLXJlcXVpcmVkL3Bhc3N3b3JkLXJlcXVpcmVkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZW5kZXItcHJpbnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JvdGF0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zY3JvbGxhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb3VzZXdoZWVsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2guc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2hhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RvcC10b29sYmFyL3RvcC10b29sYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaWRlLXBhbmVsL3NpZGUtcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC1maWxlLXpvbmUvdXBsb2FkLWZpbGUtem9uZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvem9vbS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb24tY2xvc2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkaW5nLW1hc2suc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkaW5nLW1hc2staW50ZXJjZXB0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtYXR0aW5nLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtYXR0aW5nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFjay1mb3JtYXR0aW5nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWRpdG9yLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZGl0LWh0bWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xvci1waWNrZXIvY29sb3ItcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkaW5nLW1hc2svbG9hZGluZy1tYXNrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdWNjZXNzLW1vZGFsL3N1Y2Nlc3MtbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi90YWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmJlZC10b29sYmFycy90YWJiZWQtdG9vbGJhcnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1hY3RpdmF0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wLWRvd24vZHJvcC1kb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sZWZ0LXNpZGUtYmFyL2xlZnQtc2lkZS1iYXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWRkLWR5bmFtaWMtY29tcG9uZW50LnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ob3N0LWR5bmFtaWMuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaG9zdGluZy1keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9wLXRhYi1hY3RpdmF0b3Iuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC1tZW51L3RleHQtbWVudS5jb21wb25lbnQnXG5cbiJdfQ== \ No newline at end of file +export { ExcelPageService } from './lib/excel-page.service'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsdUNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsbUNBQWMsc0JBQXNCLENBQUM7QUFDckMsMkNBQWMscUJBQXFCLENBQUM7QUFDcEMsdUlBQWMsb0JBQW9CLENBQUM7QUFDbkMsbUNBQWMsNEJBQTRCLENBQUM7QUFDM0MsbUdBQWMsYUFBYSxDQUFDO0FBQzVCLGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDRCQUFjLG9CQUFvQixDQUFDO0FBQ25DLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLHdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELHdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLDBDQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLHdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDZCQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGtDQUFjLG1DQUFtQyxDQUFDO0FBQ2xELHVDQUFjLCtDQUErQyxDQUFDO0FBQzlELG9DQUFjLHlDQUF5QyxDQUFDO0FBQ3hELG1DQUFjLHVDQUF1QyxDQUFDO0FBQ3RELDhCQUFjLDJCQUEyQixDQUFDO0FBQzFDLCtCQUFjLDZCQUE2QixDQUFDO0FBQzVDLDhCQUFjLDJCQUEyQixDQUFDO0FBQzFDLG1DQUFjLHVDQUF1QyxDQUFDO0FBQ3RELDBDQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLHFDQUFjLDhCQUE4QixDQUFDO0FBQzdDLGtDQUFjLDBCQUEwQixDQUFDO0FBQ3pDLG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLGlDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELG9DQUFjLHlDQUF5QyxDQUFDO0FBQ3hELG1DQUFjLHVDQUF1QyxDQUFDO0FBQ3RELHdDQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGlDQUFjLHlCQUF5QixDQUFDO0FBQ3hDLCtCQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDhDQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDhDQUFjLDBCQUEwQixDQUFDO0FBQ3pDLHNDQUFjLCtCQUErQixDQUFDO0FBQzlDLGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGdDQUFjLHlCQUF5QixDQUFDO0FBQ3hDLHFDQUFjLDJDQUEyQyxDQUFDO0FBQzFELHFDQUFjLDJDQUEyQyxDQUFDO0FBQzFELHNDQUFjLDZDQUE2QyxDQUFDO0FBQzVELDZCQUFjLHlCQUF5QixDQUFDO0FBQ3hDLHdDQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLG9DQUFjLDZCQUE2QixDQUFDO0FBQzVDLDBHQUFjLHFDQUFxQyxDQUFDO0FBQ3BELHFDQUFjLDZDQUE2QyxDQUFBO0FBQzNELDJDQUFjLHFDQUFxQyxDQUFBO0FBQ25ELHFDQUFjLDhCQUE4QixDQUFBO0FBQzVDLCtDQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELHVDQUFjLGlDQUFpQyxDQUFBO0FBQy9DLCtDQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGtDQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGlDQUFjLDBCQUEwQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uLWNvbXBvbmVudHMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uZmlnLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RhbC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXBsb2FkLWZpbGVzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlLXByZWxvYWQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pvb20uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbmRlci1wcmludC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4Y2VwdGlvbi1tZXNzYWdlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYXNzd29yZC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvd2luZG93LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92aWV3cG9ydC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJvd3NlLWZpbGVzLW1vZGFsL2Jyb3dzZS1maWxlcy1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rpc2FibGVkLWN1cnNvci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kbmQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZG9jdW1lbnQvZG9jdW1lbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZXhjZWwtZG9jdW1lbnQvZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZXJyb3ItbW9kYWwvZXJyb3ItbW9kYWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5pdC1zdGF0ZS9pbml0LXN0YXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvZ28vbG9nby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlL3BhZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Bhc3N3b3JkLXJlcXVpcmVkL3Bhc3N3b3JkLXJlcXVpcmVkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbmRlci1wcmludC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yb3RhdGlvbi5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zY3JvbGxhYmxlLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vdXNld2hlZWwuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VhcmNoLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaGFibGUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9wLXRvb2xiYXIvdG9wLXRvb2xiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lkZS1wYW5lbC9zaWRlLXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC1maWxlLXpvbmUvdXBsb2FkLWZpbGUtem9uZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96b29tLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvb24tY2xvc2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvYWRpbmctbWFzay5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9hZGluZy1tYXNrLWludGVyY2VwdG9yLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtYXR0aW5nLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1hdHRpbmcuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhY2stZm9ybWF0dGluZy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWRpdG9yLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VkaXQtaHRtbC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkaW5nLW1hc2svbG9hZGluZy1tYXNrLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N1Y2Nlc3MtbW9kYWwvc3VjY2Vzcy1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWIvdGFiLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmJlZC10b29sYmFycy90YWJiZWQtdG9vbGJhcnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWFjdGl2YXRvci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcC1kb3duL2Ryb3AtZG93bi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sZWZ0LXNpZGUtYmFyL2xlZnQtc2lkZS1iYXIuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGQtZHluYW1pYy1jb21wb25lbnQuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaG9zdC1keW5hbWljLmRpcmVjdGl2ZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaG9zdGluZy1keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90b3AtdGFiLWFjdGl2YXRvci5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC1tZW51L3RleHQtbWVudS5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4Y2VsLXBhZ2Uuc2VydmljZSdcclxuIl19 \ No newline at end of file diff --git a/dist/libs/common-components/esm2015/lib/common-components.module.js b/dist/libs/common-components/esm2015/lib/common-components.module.js index dfed4ead3..60c7d9435 100644 --- a/dist/libs/common-components/esm2015/lib/common-components.module.js +++ b/dist/libs/common-components/esm2015/lib/common-components.module.js @@ -19,7 +19,9 @@ import { ModalComponent } from './modal/modal.component'; import { BrowseFilesModalComponent } from './browse-files-modal/browse-files-modal.component'; import { FileModel, FileService, FileUtil, Utils } from "./file.service"; import { DocumentComponent } from './document/document.component'; +import { ExcelDocumentComponent } from './excel-document/excel-document.component'; import { PageComponent } from './page/page.component'; +import { ExcelPageComponent } from './excel-page/excel-page.component'; import { HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe } from "./pipes"; import { UploadFileZoneComponent } from './upload-file-zone/upload-file-zone.component'; import { UploadFilesService } from "./upload-files.service"; @@ -69,6 +71,7 @@ import { HostDynamicDirective } from './host-dynamic.directive'; import { HostingDynamicComponentService } from "./hosting-dynamic-component.service"; import { ResizingComponent } from './resizing/resizing.component'; import { TopTabComponent } from './top-tab/top-tab.component'; +import { ExcelPageService } from "./excel-page.service"; import { TopTabActivatorService } from "./top-tab-activator.service"; import { TextMenuComponent } from './text-menu/text-menu.component'; import { ContextMenuComponent } from './context-menu/context-menu.component'; @@ -103,7 +106,8 @@ const providers = [ConfigService, TabActivatorService, AddDynamicComponentService, HostingDynamicComponentService, - TopTabActivatorService]; + TopTabActivatorService, + ExcelPageService]; export class CommonComponentsModule { constructor() { library.add(fas, far); @@ -121,7 +125,9 @@ CommonComponentsModule.decorators = [ ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, @@ -169,7 +175,9 @@ CommonComponentsModule.decorators = [ ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeResourceHtmlPipe, SanitizeStylePipe, HighlightSearchPipe, @@ -205,11 +213,13 @@ CommonComponentsModule.decorators = [ ResizingComponent, TopTabComponent, TextMenuComponent, - ContextMenuComponent + ContextMenuComponent, + EditorDirective, + FormattingDirective ], providers: providers },] } ]; /** @nocollapse */ CommonComponentsModule.ctorParameters = () => []; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWNvbXBvbmVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2NvbW1vbi1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RCxPQUFPLEVBQUMsR0FBRyxFQUFFLGFBQWEsR0FBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtB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O29CQUNoQixvQkFBb0I7b0JBQ3BCLGlCQUFpQjtvQkFDakIsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLG9CQUFvQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtvQkFDbkIsa0JBQWtCO29CQUNsQixlQUFlO29CQUNmLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixjQUFjO29CQUNkLHlCQUF5QjtvQkFDekIsaUJBQWlCO29CQUNqQixhQUFhO29CQUNiLHdCQUF3QjtvQkFDeEIsaUJBQWlCO29CQUNqQixtQkFBbUI7b0JBQ25CLGdCQUFnQjtvQkFDaEIsdUJBQXVCO29CQUN2QixtQkFBbUI7b0JBQ25CLG1CQUFtQjtvQkFDbkIsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLGtCQUFrQjtvQkFDbEIsb0JBQW9CO29CQUNwQixtQkFBbUI7b0JBQ25CLHlCQUF5QjtvQkFDekIsZUFBZTtvQkFDZixtQkFBbUI7b0JBQ25CLHVCQUF1QjtvQkFDdkIsWUFBWTtvQkFDWixhQUFhO29CQUNiLG9CQUFvQjtvQkFDcEIsbUJBQW1CO29CQUNuQixxQkFBcUI7b0JBQ3JCLG9CQUFvQjtvQkFDcEIsWUFBWTtvQkFDWixpQkFBaUI7b0JBQ2pCLHFCQUFxQjtvQkFDckIsc0JBQXNCO29CQUN0Qix1QkFBdUI7b0JBQ3ZCLGFBQWE7b0JBQ2IsdUJBQXVCO29CQUN2QixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsb0JBQW9CO29CQUNwQixpQkFBaUI7b0JBQ2pCLGVBQWU7b0JBQ2YsaUJBQWlCO29CQUNqQixvQkFBb0I7aUJBQ3JCO2dCQUNELFNBQVMsRUFBRSxTQUFTO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VG9wVG9vbGJhckNvbXBvbmVudH0gZnJvbSAnLi90b3AtdG9vbGJhci90b3AtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtTaWRlUGFuZWxDb21wb25lbnR9IGZyb20gJy4vc2lkZS1wYW5lbC9zaWRlLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0J1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0xvZ29Db21wb25lbnR9IGZyb20gJy4vbG9nby9sb2dvLmNvbXBvbmVudCc7XG5pbXBvcnQge1Rvb2x0aXBDb21wb25lbnR9IGZyb20gJy4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZvbnRBd2Vzb21lTW9kdWxlfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQge2xpYnJhcnl9IGZyb20gJ0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1zdmctY29yZSc7XG5pbXBvcnQge2Zhc30gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7ZmFyfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1yZWd1bGFyLXN2Zy1pY29ucyc7XG5pbXBvcnQge0FwaSwgQ29uZmlnU2VydmljZSx9IGZyb20gXCIuL2NvbmZpZy5zZXJ2aWNlXCI7XG5pbXBvcnQge01vZGFsU2VydmljZX0gZnJvbSBcIi4vbW9kYWwuc2VydmljZVwiO1xuaW1wb3J0IHtNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtCcm93c2VGaWxlc01vZGFsQ29tcG9uZW50fSBmcm9tICcuL2Jyb3dzZS1maWxlcy1tb2RhbC9icm93c2UtZmlsZXMtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7RmlsZU1vZGVsLCBGaWxlU2VydmljZSwgRmlsZVV0aWwsIFV0aWxzfSBmcm9tIFwiLi9maWxlLnNlcnZpY2VcIjtcbmltcG9ydCB7RG9jdW1lbnRDb21wb25lbnR9IGZyb20gJy4vZG9jdW1lbnQvZG9jdW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7UGFnZUNvbXBvbmVudH0gZnJvbSAnLi9wYWdlL3BhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7SGlnaGxpZ2h0U2VhcmNoUGlwZSwgU2FuaXRpemVIdG1sUGlwZSwgU2FuaXRpemVSZXNvdXJjZUh0bWxQaXBlLCBTYW5pdGl6ZVN0eWxlUGlwZX0gZnJvbSBcIi4vcGlwZXNcIjtcbmltcG9ydCB7VXBsb2FkRmlsZVpvbmVDb21wb25lbnR9IGZyb20gJy4vdXBsb2FkLWZpbGUtem9uZS91cGxvYWQtZmlsZS16b25lLmNvbXBvbmVudCc7XG5pbXBvcnQge1VwbG9hZEZpbGVzU2VydmljZX0gZnJvbSBcIi4vdXBsb2FkLWZpbGVzLnNlcnZpY2VcIjtcbmltcG9ydCB7RG5kRGlyZWN0aXZlfSBmcm9tICcuL2RuZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtTY3JvbGxhYmxlRGlyZWN0aXZlfSBmcm9tICcuL3Njcm9sbGFibGUuZGlyZWN0aXZlJztcbmltcG9ydCB7TW91c2VXaGVlbERpcmVjdGl2ZX0gZnJvbSAnLi9tb3VzZXdoZWVsLmRpcmVjdGl2ZSc7XG5pbXBvcnQge05hdmlnYXRlU2VydmljZX0gZnJvbSBcIi4vbmF2aWdhdGUuc2VydmljZVwiO1xuaW1wb3J0IHtQYWdlUHJlbG9hZFNlcnZpY2V9IGZyb20gXCIuL3BhZ2UtcHJlbG9hZC5zZXJ2aWNlXCI7XG5pbXBvcnQge1pvb21EaXJlY3RpdmV9IGZyb20gJy4vem9vbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtab29tU2VydmljZX0gZnJvbSBcIi4vem9vbS5zZXJ2aWNlXCI7XG5pbXBvcnQge1NlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0Rpc2FibGVkQ3Vyc29yRGlyZWN0aXZlfSBmcm9tICcuL2Rpc2FibGVkLWN1cnNvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtSb3RhdGlvbkRpcmVjdGl2ZX0gZnJvbSAnLi9yb3RhdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtJbml0U3RhdGVDb21wb25lbnR9IGZyb20gJy4vaW5pdC1zdGF0ZS9pbml0LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge1JlbmRlclByaW50U2VydmljZX0gZnJvbSBcIi4vcmVuZGVyLXByaW50LnNlcnZpY2VcIjtcbmltcG9ydCB7UmVuZGVyUHJpbnREaXJlY3RpdmV9IGZyb20gJy4vcmVuZGVyLXByaW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0Vycm9yTW9kYWxDb21wb25lbnR9IGZyb20gJy4vZXJyb3ItbW9kYWwvZXJyb3ItbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7UGFzc3dvcmRSZXF1aXJlZENvbXBvbmVudH0gZnJvbSAnLi9wYXNzd29yZC1yZXF1aXJlZC9wYXNzd29yZC1yZXF1aXJlZC5jb21wb25lbnQnO1xuaW1wb3J0IHtFeGNlcHRpb25NZXNzYWdlU2VydmljZX0gZnJvbSBcIi4vZXhjZXB0aW9uLW1lc3NhZ2Uuc2VydmljZVwiO1xuaW1wb3J0IHtQYXNzd29yZFNlcnZpY2V9IGZyb20gXCIuL3Bhc3N3b3JkLnNlcnZpY2VcIjtcbmltcG9ydCB7RXJyb3JJbnRlcmNlcHRvclNlcnZpY2V9IGZyb20gXCIuL2Vycm9yLWludGVyY2VwdG9yLnNlcnZpY2VcIjtcbmltcG9ydCB7U2VhcmNoQ29tcG9uZW50fSBmcm9tICcuL3NlYXJjaC9zZWFyY2guY29tcG9uZW50JztcbmltcG9ydCB7U2VhcmNoYWJsZURpcmVjdGl2ZX0gZnJvbSAnLi9zZWFyY2hhYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1NlYXJjaFNlcnZpY2V9IGZyb20gXCIuL3NlYXJjaC5zZXJ2aWNlXCI7XG5pbXBvcnQge1dpbmRvd1NlcnZpY2V9IGZyb20gXCIuL3dpbmRvdy5zZXJ2aWNlXCI7XG5pbXBvcnQge1ZpZXdwb3J0U2VydmljZX0gZnJvbSBcIi4vdmlld3BvcnQuc2VydmljZVwiO1xuaW1wb3J0IHtUYWJiZWRUb29sYmFyc0NvbXBvbmVudH0gZnJvbSAnLi90YWJiZWQtdG9vbGJhcnMvdGFiYmVkLXRvb2xiYXJzLmNvbXBvbmVudCc7XG5pbXBvcnQge1RhYkNvbXBvbmVudH0gZnJvbSBcIi4vdGFiL3RhYi5jb21wb25lbnRcIjtcbmltcG9ydCB7VGFic0NvbXBvbmVudH0gZnJvbSBcIi4vdGFicy90YWJzLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGb3JtYXR0aW5nU2VydmljZX0gZnJvbSBcIi4vZm9ybWF0dGluZy5zZXJ2aWNlXCI7XG5pbXBvcnQge0NvbG9yUGlja2VyQ29tcG9uZW50fSBmcm9tICcuL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWF0dGluZ0RpcmVjdGl2ZX0gZnJvbSAnLi9mb3JtYXR0aW5nLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JhY2tGb3JtYXR0aW5nU2VydmljZX0gZnJvbSBcIi4vYmFjay1mb3JtYXR0aW5nLnNlcnZpY2VcIjtcbmltcG9ydCB7T25DbG9zZVNlcnZpY2V9IGZyb20gXCIuL29uLWNsb3NlLnNlcnZpY2VcIjtcbmltcG9ydCB7U3VjY2Vzc01vZGFsQ29tcG9uZW50fSBmcm9tICcuL3N1Y2Nlc3MtbW9kYWwvc3VjY2Vzcy1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtFZGl0b3JEaXJlY3RpdmV9IGZyb20gJy4vZWRpdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0xvYWRpbmdNYXNrQ29tcG9uZW50fSBmcm9tICcuL2xvYWRpbmctbWFzay9sb2FkaW5nLW1hc2suY29tcG9uZW50JztcbmltcG9ydCB7TG9hZGluZ01hc2tTZXJ2aWNlfSBmcm9tICcuL2xvYWRpbmctbWFzay5zZXJ2aWNlJztcbmltcG9ydCB7TG9hZGluZ01hc2tJbnRlcmNlcHRvclNlcnZpY2V9IGZyb20gXCIuL2xvYWRpbmctbWFzay1pbnRlcmNlcHRvci5zZXJ2aWNlXCI7XG5pbXBvcnQge1RhYkFjdGl2YXRvclNlcnZpY2V9IGZyb20gXCIuL3RhYi1hY3RpdmF0b3Iuc2VydmljZVwiO1xuaW1wb3J0IHtcbiAgRHJvcERvd25Db21wb25lbnQsXG4gIERyb3BEb3duSXRlbUNvbXBvbmVudCxcbiAgRHJvcERvd25JdGVtc0NvbXBvbmVudCxcbiAgRHJvcERvd25Ub2dnbGVDb21wb25lbnRcbn0gZnJvbSAnLi9kcm9wLWRvd24vZHJvcC1kb3duLmNvbXBvbmVudCc7XG5pbXBvcnQge0NsaWNrT3V0c2lkZU1vZHVsZX0gZnJvbSAnbmctY2xpY2stb3V0c2lkZSc7XG5pbXBvcnQge0xlZnRTaWRlQmFyQ29tcG9uZW50fSBmcm9tICcuL2xlZnQtc2lkZS1iYXIvbGVmdC1zaWRlLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtUb29sdGlwRGlyZWN0aXZlfSBmcm9tICcuL3Rvb2x0aXAuZGlyZWN0aXZlJztcbmltcG9ydCB7QWRkRHluYW1pY0NvbXBvbmVudFNlcnZpY2V9IGZyb20gXCIuL2FkZC1keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlXCI7XG5pbXBvcnQge0hvc3REeW5hbWljRGlyZWN0aXZlfSBmcm9tICcuL2hvc3QtZHluYW1pYy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtIb3N0aW5nRHluYW1pY0NvbXBvbmVudFNlcnZpY2V9IGZyb20gXCIuL2hvc3RpbmctZHluYW1pYy1jb21wb25lbnQuc2VydmljZVwiO1xuaW1wb3J0IHtSZXNpemluZ0NvbXBvbmVudH0gZnJvbSAnLi9yZXNpemluZy9yZXNpemluZy5jb21wb25lbnQnO1xuaW1wb3J0IHtUb3BUYWJDb21wb25lbnR9IGZyb20gJy4vdG9wLXRhYi90b3AtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQge1RvcFRhYkFjdGl2YXRvclNlcnZpY2V9IGZyb20gXCIuL3RvcC10YWItYWN0aXZhdG9yLnNlcnZpY2VcIjtcbmltcG9ydCB7VGV4dE1lbnVDb21wb25lbnR9IGZyb20gJy4vdGV4dC1tZW51L3RleHQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHtDb250ZXh0TWVudUNvbXBvbmVudH0gZnJvbSAnLi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5cbmNvbnN0IHByb3ZpZGVycyA9IFtDb25maWdTZXJ2aWNlLFxuICBBcGksXG4gIE1vZGFsU2VydmljZSxcbiAgRmlsZVNlcnZpY2UsXG4gIEZpbGVNb2RlbCxcbiAgRmlsZVV0aWwsXG4gIFV0aWxzLFxuICBTYW5pdGl6ZUh0bWxQaXBlLFxuICBTYW5pdGl6ZVJlc291cmNlSHRtbFBpcGUsXG4gIFNhbml0aXplU3R5bGVQaXBlLFxuICBIaWdobGlnaHRTZWFyY2hQaXBlLFxuICBVcGxvYWRGaWxlc1NlcnZpY2UsXG4gIFJlbmRlclByaW50U2VydmljZSxcbiAgTmF2aWdhdGVTZXJ2aWNlLFxuICBQYWdlUHJlbG9hZFNlcnZpY2UsXG4gIFpvb21TZXJ2aWNlLFxuICBFeGNlcHRpb25NZXNzYWdlU2VydmljZSxcbiAgUGFzc3dvcmRTZXJ2aWNlLFxuICBFcnJvckludGVyY2VwdG9yU2VydmljZSxcbiAgU2VhcmNoU2VydmljZSxcbiAgV2luZG93U2VydmljZSxcbiAgVmlld3BvcnRTZXJ2aWNlLFxuICBGb3JtYXR0aW5nU2VydmljZSxcbiAgQmFja0Zvcm1hdHRpbmdTZXJ2aWNlLFxuICBPbkNsb3NlU2VydmljZSxcbiAgTG9hZGluZ01hc2tJbnRlcmNlcHRvclNlcnZpY2UsXG4gIExvYWRpbmdNYXNrU2VydmljZSxcbiAgVGFiQWN0aXZhdG9yU2VydmljZSxcbiAgQWRkRHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG4gIEhvc3RpbmdEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgVG9wVGFiQWN0aXZhdG9yU2VydmljZV07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvbnRBd2Vzb21lTW9kdWxlLCBDbGlja091dHNpZGVNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUb3BUb29sYmFyQ29tcG9uZW50LFxuICAgIFNpZGVQYW5lbENvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgTG9nb0NvbXBvbmVudCxcbiAgICBUb29sdGlwQ29tcG9uZW50LFxuICAgIE1vZGFsQ29tcG9uZW50LFxuICAgIEJyb3dzZUZpbGVzTW9kYWxDb21wb25lbnQsXG4gICAgRG9jdW1lbnRDb21wb25lbnQsXG4gICAgUGFnZUNvbXBvbmVudCxcbiAgICBTYW5pdGl6ZUh0bWxQaXBlLFxuICAgIFNhbml0aXplUmVzb3VyY2VIdG1sUGlwZSxcbiAgICBTYW5pdGl6ZVN0eWxlUGlwZSxcbiAgICBIaWdobGlnaHRTZWFyY2hQaXBlLFxuICAgIFVwbG9hZEZpbGVab25lQ29tcG9uZW50LFxuICAgIERuZERpcmVjdGl2ZSxcbiAgICBTY3JvbGxhYmxlRGlyZWN0aXZlLFxuICAgIE1vdXNlV2hlZWxEaXJlY3RpdmUsXG4gICAgWm9vbURpcmVjdGl2ZSxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgRGlzYWJsZWRDdXJzb3JEaXJlY3RpdmUsXG4gICAgUm90YXRpb25EaXJlY3RpdmUsXG4gICAgSW5pdFN0YXRlQ29tcG9uZW50LFxuICAgIFJlbmRlclByaW50RGlyZWN0aXZlLFxuICAgIEVycm9yTW9kYWxDb21wb25lbnQsXG4gICAgUGFzc3dvcmRSZXF1aXJlZENvbXBvbmVudCxcbiAgICBTZWFyY2hDb21wb25lbnQsXG4gICAgU2VhcmNoYWJsZURpcmVjdGl2ZSxcbiAgICBUYWJiZWRUb29sYmFyc0NvbXBvbmVudCxcbiAgICBUYWJDb21wb25lbnQsXG4gICAgVGFic0NvbXBvbmVudCxcbiAgICBDb2xvclBpY2tlckNvbXBvbmVudCxcbiAgICBGb3JtYXR0aW5nRGlyZWN0aXZlLFxuICAgIFN1Y2Nlc3NNb2RhbENvbXBvbmVudCxcbiAgICBFZGl0b3JEaXJlY3RpdmUsXG4gICAgTG9hZGluZ01hc2tDb21wb25lbnQsXG4gICAgRHJvcERvd25Db21wb25lbnQsXG4gICAgRHJvcERvd25JdGVtQ29tcG9uZW50LFxuICAgIERyb3BEb3duSXRlbXNDb21wb25lbnQsXG4gICAgRHJvcERvd25Ub2dnbGVDb21wb25lbnQsXG4gICAgTGVmdFNpZGVCYXJDb21wb25lbnQsXG4gICAgVG9vbHRpcERpcmVjdGl2ZSxcbiAgICBIb3N0RHluYW1pY0RpcmVjdGl2ZSxcbiAgICBSZXNpemluZ0NvbXBvbmVudCxcbiAgICBUb3BUYWJDb21wb25lbnQsXG4gICAgVGV4dE1lbnVDb21wb25lbnQsXG4gICAgQ29udGV4dE1lbnVDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRvcFRvb2xiYXJDb21wb25lbnQsXG4gICAgU2lkZVBhbmVsQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBMb2dvQ29tcG9uZW50LFxuICAgIFRvb2x0aXBDb21wb25lbnQsXG4gICAgTW9kYWxDb21wb25lbnQsXG4gICAgQnJvd3NlRmlsZXNNb2RhbENvbXBvbmVudCxcbiAgICBEb2N1bWVudENvbXBvbmVudCxcbiAgICBQYWdlQ29tcG9uZW50LFxuICAgIFNhbml0aXplUmVzb3VyY2VIdG1sUGlwZSxcbiAgICBTYW5pdGl6ZVN0eWxlUGlwZSxcbiAgICBIaWdobGlnaHRTZWFyY2hQaXBlLFxuICAgIFNhbml0aXplSHRtbFBpcGUsXG4gICAgVXBsb2FkRmlsZVpvbmVDb21wb25lbnQsXG4gICAgU2Nyb2xsYWJsZURpcmVjdGl2ZSxcbiAgICBNb3VzZVdoZWVsRGlyZWN0aXZlLFxuICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICBSb3RhdGlvbkRpcmVjdGl2ZSxcbiAgICBJbml0U3RhdGVDb21wb25lbnQsXG4gICAgUmVuZGVyUHJpbnREaXJlY3RpdmUsXG4gICAgRXJyb3JNb2RhbENvbXBvbmVudCxcbiAgICBQYXNzd29yZFJlcXVpcmVkQ29tcG9uZW50LFxuICAgIFNlYXJjaENvbXBvbmVudCxcbiAgICBTZWFyY2hhYmxlRGlyZWN0aXZlLFxuICAgIFRhYmJlZFRvb2xiYXJzQ29tcG9uZW50LFxuICAgIFRhYkNvbXBvbmVudCxcbiAgICBUYWJzQ29tcG9uZW50LFxuICAgIENvbG9yUGlja2VyQ29tcG9uZW50LFxuICAgIEZvcm1hdHRpbmdEaXJlY3RpdmUsXG4gICAgU3VjY2Vzc01vZGFsQ29tcG9uZW50LFxuICAgIExvYWRpbmdNYXNrQ29tcG9uZW50LFxuICAgIERuZERpcmVjdGl2ZSxcbiAgICBEcm9wRG93bkNvbXBvbmVudCxcbiAgICBEcm9wRG93bkl0ZW1Db21wb25lbnQsXG4gICAgRHJvcERvd25JdGVtc0NvbXBvbmVudCxcbiAgICBEcm9wRG93blRvZ2dsZUNvbXBvbmVudCxcbiAgICBab29tRGlyZWN0aXZlLFxuICAgIERyb3BEb3duVG9nZ2xlQ29tcG9uZW50LFxuICAgIExlZnRTaWRlQmFyQ29tcG9uZW50LFxuICAgIFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgSG9zdER5bmFtaWNEaXJlY3RpdmUsXG4gICAgUmVzaXppbmdDb21wb25lbnQsXG4gICAgVG9wVGFiQ29tcG9uZW50LFxuICAgIFRleHRNZW51Q29tcG9uZW50LFxuICAgIENvbnRleHRNZW51Q29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogcHJvdmlkZXJzXG59KVxuZXhwb3J0IGNsYXNzIENvbW1vbkNvbXBvbmVudHNNb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBsaWJyYXJ5LmFkZChmYXMsIGZhcik7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWNvbXBvbmVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2NvbW1vbi1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RCxPQUFPLEVBQUMsR0FBRyxFQUFFLGFBQWEsR0FBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtB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QWU7b0JBQ2YsbUJBQW1CO2lCQUFHO2dCQUN4QixTQUFTLEVBQUUsU0FBUzthQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtUb3BUb29sYmFyQ29tcG9uZW50fSBmcm9tICcuL3RvcC10b29sYmFyL3RvcC10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U2lkZVBhbmVsQ29tcG9uZW50fSBmcm9tICcuL3NpZGUtcGFuZWwvc2lkZS1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0J1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TG9nb0NvbXBvbmVudH0gZnJvbSAnLi9sb2dvL2xvZ28uY29tcG9uZW50JztcclxuaW1wb3J0IHtUb29sdGlwQ29tcG9uZW50fSBmcm9tICcuL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0ZvbnRBd2Vzb21lTW9kdWxlfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XHJcbmltcG9ydCB7bGlicmFyeX0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXN2Zy1jb3JlJztcclxuaW1wb3J0IHtmYXN9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcbmltcG9ydCB7ZmFyfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1yZWd1bGFyLXN2Zy1pY29ucyc7XHJcbmltcG9ydCB7QXBpLCBDb25maWdTZXJ2aWNlLH0gZnJvbSBcIi4vY29uZmlnLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtNb2RhbFNlcnZpY2V9IGZyb20gXCIuL21vZGFsLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Jyb3dzZUZpbGVzTW9kYWxDb21wb25lbnR9IGZyb20gJy4vYnJvd3NlLWZpbGVzLW1vZGFsL2Jyb3dzZS1maWxlcy1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0ZpbGVNb2RlbCwgRmlsZVNlcnZpY2UsIEZpbGVVdGlsLCBVdGlsc30gZnJvbSBcIi4vZmlsZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RG9jdW1lbnRDb21wb25lbnR9IGZyb20gJy4vZG9jdW1lbnQvZG9jdW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHtFeGNlbERvY3VtZW50Q29tcG9uZW50fSBmcm9tICcuL2V4Y2VsLWRvY3VtZW50L2V4Y2VsLWRvY3VtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UGFnZUNvbXBvbmVudH0gZnJvbSAnLi9wYWdlL3BhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtFeGNlbFBhZ2VDb21wb25lbnR9IGZyb20gJy4vZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SGlnaGxpZ2h0U2VhcmNoUGlwZSwgU2FuaXRpemVIdG1sUGlwZSwgU2FuaXRpemVSZXNvdXJjZUh0bWxQaXBlLCBTYW5pdGl6ZVN0eWxlUGlwZX0gZnJvbSBcIi4vcGlwZXNcIjtcclxuaW1wb3J0IHtVcGxvYWRGaWxlWm9uZUNvbXBvbmVudH0gZnJvbSAnLi91cGxvYWQtZmlsZS16b25lL3VwbG9hZC1maWxlLXpvbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtVcGxvYWRGaWxlc1NlcnZpY2V9IGZyb20gXCIuL3VwbG9hZC1maWxlcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RG5kRGlyZWN0aXZlfSBmcm9tICcuL2RuZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge1Njcm9sbGFibGVEaXJlY3RpdmV9IGZyb20gJy4vc2Nyb2xsYWJsZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge01vdXNlV2hlZWxEaXJlY3RpdmV9IGZyb20gJy4vbW91c2V3aGVlbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge05hdmlnYXRlU2VydmljZX0gZnJvbSBcIi4vbmF2aWdhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1BhZ2VQcmVsb2FkU2VydmljZX0gZnJvbSBcIi4vcGFnZS1wcmVsb2FkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtab29tRGlyZWN0aXZlfSBmcm9tICcuL3pvb20uZGlyZWN0aXZlJztcclxuaW1wb3J0IHtab29tU2VydmljZX0gZnJvbSBcIi4vem9vbS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHtEaXNhYmxlZEN1cnNvckRpcmVjdGl2ZX0gZnJvbSAnLi9kaXNhYmxlZC1jdXJzb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtSb3RhdGlvbkRpcmVjdGl2ZX0gZnJvbSAnLi9yb3RhdGlvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge0luaXRTdGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9pbml0LXN0YXRlL2luaXQtc3RhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHtSZW5kZXJQcmludFNlcnZpY2V9IGZyb20gXCIuL3JlbmRlci1wcmludC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UmVuZGVyUHJpbnREaXJlY3RpdmV9IGZyb20gJy4vcmVuZGVyLXByaW50LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7RXJyb3JNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9lcnJvci1tb2RhbC9lcnJvci1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1Bhc3N3b3JkUmVxdWlyZWRDb21wb25lbnR9IGZyb20gJy4vcGFzc3dvcmQtcmVxdWlyZWQvcGFzc3dvcmQtcmVxdWlyZWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtFeGNlcHRpb25NZXNzYWdlU2VydmljZX0gZnJvbSBcIi4vZXhjZXB0aW9uLW1lc3NhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge1Bhc3N3b3JkU2VydmljZX0gZnJvbSBcIi4vcGFzc3dvcmQuc2VydmljZVwiO1xyXG5pbXBvcnQge0Vycm9ySW50ZXJjZXB0b3JTZXJ2aWNlfSBmcm9tIFwiLi9lcnJvci1pbnRlcmNlcHRvci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2VhcmNoQ29tcG9uZW50fSBmcm9tICcuL3NlYXJjaC9zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHtTZWFyY2hhYmxlRGlyZWN0aXZlfSBmcm9tICcuL3NlYXJjaGFibGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtTZWFyY2hTZXJ2aWNlfSBmcm9tIFwiLi9zZWFyY2guc2VydmljZVwiO1xyXG5pbXBvcnQge1dpbmRvd1NlcnZpY2V9IGZyb20gXCIuL3dpbmRvdy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Vmlld3BvcnRTZXJ2aWNlfSBmcm9tIFwiLi92aWV3cG9ydC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VGFiYmVkVG9vbGJhcnNDb21wb25lbnR9IGZyb20gJy4vdGFiYmVkLXRvb2xiYXJzL3RhYmJlZC10b29sYmFycy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RhYkNvbXBvbmVudH0gZnJvbSBcIi4vdGFiL3RhYi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtUYWJzQ29tcG9uZW50fSBmcm9tIFwiLi90YWJzL3RhYnMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Rm9ybWF0dGluZ1NlcnZpY2V9IGZyb20gXCIuL2Zvcm1hdHRpbmcuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvbG9yUGlja2VyQ29tcG9uZW50fSBmcm9tICcuL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3JtYXR0aW5nRGlyZWN0aXZlfSBmcm9tICcuL2Zvcm1hdHRpbmcuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtCYWNrRm9ybWF0dGluZ1NlcnZpY2V9IGZyb20gXCIuL2JhY2stZm9ybWF0dGluZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7T25DbG9zZVNlcnZpY2V9IGZyb20gXCIuL29uLWNsb3NlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdWNjZXNzTW9kYWxDb21wb25lbnR9IGZyb20gJy4vc3VjY2Vzcy1tb2RhbC9zdWNjZXNzLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RWRpdG9yRGlyZWN0aXZlfSBmcm9tICcuL2VkaXRvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge0xvYWRpbmdNYXNrQ29tcG9uZW50fSBmcm9tICcuL2xvYWRpbmctbWFzay9sb2FkaW5nLW1hc2suY29tcG9uZW50JztcclxuaW1wb3J0IHtMb2FkaW5nTWFza1NlcnZpY2V9IGZyb20gJy4vbG9hZGluZy1tYXNrLnNlcnZpY2UnO1xyXG5pbXBvcnQge0xvYWRpbmdNYXNrSW50ZXJjZXB0b3JTZXJ2aWNlfSBmcm9tIFwiLi9sb2FkaW5nLW1hc2staW50ZXJjZXB0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge1RhYkFjdGl2YXRvclNlcnZpY2V9IGZyb20gXCIuL3RhYi1hY3RpdmF0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge1xyXG4gIERyb3BEb3duQ29tcG9uZW50LFxyXG4gIERyb3BEb3duSXRlbUNvbXBvbmVudCxcclxuICBEcm9wRG93bkl0ZW1zQ29tcG9uZW50LFxyXG4gIERyb3BEb3duVG9nZ2xlQ29tcG9uZW50XHJcbn0gZnJvbSAnLi9kcm9wLWRvd24vZHJvcC1kb3duLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q2xpY2tPdXRzaWRlTW9kdWxlfSBmcm9tICduZy1jbGljay1vdXRzaWRlJztcclxuaW1wb3J0IHtMZWZ0U2lkZUJhckNvbXBvbmVudH0gZnJvbSAnLi9sZWZ0LXNpZGUtYmFyL2xlZnQtc2lkZS1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtUb29sdGlwRGlyZWN0aXZlfSBmcm9tICcuL3Rvb2x0aXAuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtBZGREeW5hbWljQ29tcG9uZW50U2VydmljZX0gZnJvbSBcIi4vYWRkLWR5bmFtaWMtY29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtIb3N0RHluYW1pY0RpcmVjdGl2ZX0gZnJvbSAnLi9ob3N0LWR5bmFtaWMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtIb3N0aW5nRHluYW1pY0NvbXBvbmVudFNlcnZpY2V9IGZyb20gXCIuL2hvc3RpbmctZHluYW1pYy1jb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge1Jlc2l6aW5nQ29tcG9uZW50fSBmcm9tICcuL3Jlc2l6aW5nL3Jlc2l6aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VG9wVGFiQ29tcG9uZW50fSBmcm9tICcuL3RvcC10YWIvdG9wLXRhYi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0V4Y2VsUGFnZVNlcnZpY2V9IGZyb20gXCIuL2V4Y2VsLXBhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge1RvcFRhYkFjdGl2YXRvclNlcnZpY2V9IGZyb20gXCIuL3RvcC10YWItYWN0aXZhdG9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUZXh0TWVudUNvbXBvbmVudH0gZnJvbSAnLi90ZXh0LW1lbnUvdGV4dC1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q29udGV4dE1lbnVDb21wb25lbnR9IGZyb20gJy4vY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgcHJvdmlkZXJzID0gW0NvbmZpZ1NlcnZpY2UsXHJcbiAgQXBpLFxyXG4gIE1vZGFsU2VydmljZSxcclxuICBGaWxlU2VydmljZSxcclxuICBGaWxlTW9kZWwsXHJcbiAgRmlsZVV0aWwsXHJcbiAgVXRpbHMsXHJcbiAgU2FuaXRpemVIdG1sUGlwZSxcclxuICBTYW5pdGl6ZVJlc291cmNlSHRtbFBpcGUsXHJcbiAgU2FuaXRpemVTdHlsZVBpcGUsXHJcbiAgSGlnaGxpZ2h0U2VhcmNoUGlwZSxcclxuICBVcGxvYWRGaWxlc1NlcnZpY2UsXHJcbiAgUmVuZGVyUHJpbnRTZXJ2aWNlLFxyXG4gIE5hdmlnYXRlU2VydmljZSxcclxuICBQYWdlUHJlbG9hZFNlcnZpY2UsXHJcbiAgWm9vbVNlcnZpY2UsXHJcbiAgRXhjZXB0aW9uTWVzc2FnZVNlcnZpY2UsXHJcbiAgUGFzc3dvcmRTZXJ2aWNlLFxyXG4gIEVycm9ySW50ZXJjZXB0b3JTZXJ2aWNlLFxyXG4gIFNlYXJjaFNlcnZpY2UsXHJcbiAgV2luZG93U2VydmljZSxcclxuICBWaWV3cG9ydFNlcnZpY2UsXHJcbiAgRm9ybWF0dGluZ1NlcnZpY2UsXHJcbiAgQmFja0Zvcm1hdHRpbmdTZXJ2aWNlLFxyXG4gIE9uQ2xvc2VTZXJ2aWNlLFxyXG4gIExvYWRpbmdNYXNrSW50ZXJjZXB0b3JTZXJ2aWNlLFxyXG4gIExvYWRpbmdNYXNrU2VydmljZSxcclxuICBUYWJBY3RpdmF0b3JTZXJ2aWNlLFxyXG4gIEFkZER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxyXG4gIEhvc3RpbmdEeW5hbWljQ29tcG9uZW50U2VydmljZSxcclxuICBUb3BUYWJBY3RpdmF0b3JTZXJ2aWNlLFxyXG4gIEV4Y2VsUGFnZVNlcnZpY2VdO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb250QXdlc29tZU1vZHVsZSwgQ2xpY2tPdXRzaWRlTW9kdWxlXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFRvcFRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBTaWRlUGFuZWxDb21wb25lbnQsXHJcbiAgICBCdXR0b25Db21wb25lbnQsXHJcbiAgICBMb2dvQ29tcG9uZW50LFxyXG4gICAgVG9vbHRpcENvbXBvbmVudCxcclxuICAgIE1vZGFsQ29tcG9uZW50LFxyXG4gICAgQnJvd3NlRmlsZXNNb2RhbENvbXBvbmVudCxcclxuICAgIERvY3VtZW50Q29tcG9uZW50LFxyXG4gICAgRXhjZWxEb2N1bWVudENvbXBvbmVudCxcclxuICAgIFBhZ2VDb21wb25lbnQsXHJcbiAgICBFeGNlbFBhZ2VDb21wb25lbnQsXHJcbiAgICBTYW5pdGl6ZUh0bWxQaXBlLFxyXG4gICAgU2FuaXRpemVSZXNvdXJjZUh0bWxQaXBlLFxyXG4gICAgU2FuaXRpemVTdHlsZVBpcGUsXHJcbiAgICBIaWdobGlnaHRTZWFyY2hQaXBlLFxyXG4gICAgVXBsb2FkRmlsZVpvbmVDb21wb25lbnQsXHJcbiAgICBEbmREaXJlY3RpdmUsXHJcbiAgICBTY3JvbGxhYmxlRGlyZWN0aXZlLFxyXG4gICAgTW91c2VXaGVlbERpcmVjdGl2ZSxcclxuICAgIFpvb21EaXJlY3RpdmUsXHJcbiAgICBTZWxlY3RDb21wb25lbnQsXHJcbiAgICBEaXNhYmxlZEN1cnNvckRpcmVjdGl2ZSxcclxuICAgIFJvdGF0aW9uRGlyZWN0aXZlLFxyXG4gICAgSW5pdFN0YXRlQ29tcG9uZW50LFxyXG4gICAgUmVuZGVyUHJpbnREaXJlY3RpdmUsXHJcbiAgICBFcnJvck1vZGFsQ29tcG9uZW50LFxyXG4gICAgUGFzc3dvcmRSZXF1aXJlZENvbXBvbmVudCxcclxuICAgIFNlYXJjaENvbXBvbmVudCxcclxuICAgIFNlYXJjaGFibGVEaXJlY3RpdmUsXHJcbiAgICBUYWJiZWRUb29sYmFyc0NvbXBvbmVudCxcclxuICAgIFRhYkNvbXBvbmVudCxcclxuICAgIFRhYnNDb21wb25lbnQsXHJcbiAgICBDb2xvclBpY2tlckNvbXBvbmVudCxcclxuICAgIEZvcm1hdHRpbmdEaXJlY3RpdmUsXHJcbiAgICBTdWNjZXNzTW9kYWxDb21wb25lbnQsXHJcbiAgICBFZGl0b3JEaXJlY3RpdmUsXHJcbiAgICBMb2FkaW5nTWFza0NvbXBvbmVudCxcclxuICAgIERyb3BEb3duQ29tcG9uZW50LFxyXG4gICAgRHJvcERvd25JdGVtQ29tcG9uZW50LFxyXG4gICAgRHJvcERvd25JdGVtc0NvbXBvbmVudCxcclxuICAgIERyb3BEb3duVG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgTGVmdFNpZGVCYXJDb21wb25lbnQsXHJcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxyXG4gICAgSG9zdER5bmFtaWNEaXJlY3RpdmUsXHJcbiAgICBSZXNpemluZ0NvbXBvbmVudCxcclxuICAgIFRvcFRhYkNvbXBvbmVudCxcclxuICAgIFRleHRNZW51Q29tcG9uZW50LFxyXG4gICAgQ29udGV4dE1lbnVDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRvcFRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBTaWRlUGFuZWxDb21wb25lbnQsXHJcbiAgICBCdXR0b25Db21wb25lbnQsXHJcbiAgICBMb2dvQ29tcG9uZW50LFxyXG4gICAgVG9vbHRpcENvbXBvbmVudCxcclxuICAgIE1vZGFsQ29tcG9uZW50LFxyXG4gICAgQnJvd3NlRmlsZXNNb2RhbENvbXBvbmVudCxcclxuICAgIERvY3VtZW50Q29tcG9uZW50LFxyXG4gICAgRXhjZWxEb2N1bWVudENvbXBvbmVudCxcclxuICAgIFBhZ2VDb21wb25lbnQsXHJcbiAgICBFeGNlbFBhZ2VDb21wb25lbnQsXHJcbiAgICBTYW5pdGl6ZVJlc291cmNlSHRtbFBpcGUsXHJcbiAgICBTYW5pdGl6ZVN0eWxlUGlwZSxcclxuICAgIEhpZ2hsaWdodFNlYXJjaFBpcGUsXHJcbiAgICBTYW5pdGl6ZUh0bWxQaXBlLFxyXG4gICAgVXBsb2FkRmlsZVpvbmVDb21wb25lbnQsXHJcbiAgICBTY3JvbGxhYmxlRGlyZWN0aXZlLFxyXG4gICAgTW91c2VXaGVlbERpcmVjdGl2ZSxcclxuICAgIFNlbGVjdENvbXBvbmVudCxcclxuICAgIFJvdGF0aW9uRGlyZWN0aXZlLFxyXG4gICAgSW5pdFN0YXRlQ29tcG9uZW50LFxyXG4gICAgUmVuZGVyUHJpbnREaXJlY3RpdmUsXHJcbiAgICBFcnJvck1vZGFsQ29tcG9uZW50LFxyXG4gICAgUGFzc3dvcmRSZXF1aXJlZENvbXBvbmVudCxcclxuICAgIFNlYXJjaENvbXBvbmVudCxcclxuICAgIFNlYXJjaGFibGVEaXJlY3RpdmUsXHJcbiAgICBUYWJiZWRUb29sYmFyc0NvbXBvbmVudCxcclxuICAgIFRhYkNvbXBvbmVudCxcclxuICAgIFRhYnNDb21wb25lbnQsXHJcbiAgICBDb2xvclBpY2tlckNvbXBvbmVudCxcclxuICAgIEZvcm1hdHRpbmdEaXJlY3RpdmUsXHJcbiAgICBTdWNjZXNzTW9kYWxDb21wb25lbnQsXHJcbiAgICBMb2FkaW5nTWFza0NvbXBvbmVudCxcclxuICAgIERuZERpcmVjdGl2ZSxcclxuICAgIERyb3BEb3duQ29tcG9uZW50LFxyXG4gICAgRHJvcERvd25JdGVtQ29tcG9uZW50LFxyXG4gICAgRHJvcERvd25JdGVtc0NvbXBvbmVudCxcclxuICAgIERyb3BEb3duVG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgWm9vbURpcmVjdGl2ZSxcclxuICAgIERyb3BEb3duVG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgTGVmdFNpZGVCYXJDb21wb25lbnQsXHJcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxyXG4gICAgSG9zdER5bmFtaWNEaXJlY3RpdmUsXHJcbiAgICBSZXNpemluZ0NvbXBvbmVudCxcclxuICAgIFRvcFRhYkNvbXBvbmVudCxcclxuICAgIFRleHRNZW51Q29tcG9uZW50LFxyXG4gICAgQ29udGV4dE1lbnVDb21wb25lbnQsXHJcbiAgICBFZGl0b3JEaXJlY3RpdmUsXHJcbiAgICBGb3JtYXR0aW5nRGlyZWN0aXZlICBdLFxyXG4gIHByb3ZpZGVyczogcHJvdmlkZXJzXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21tb25Db21wb25lbnRzTW9kdWxlIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGxpYnJhcnkuYWRkKGZhcywgZmFyKTtcclxuICB9XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/dist/libs/common-components/esm5/groupdocs.examples.angular-common-components.js b/dist/libs/common-components/esm5/groupdocs.examples.angular-common-components.js index b3dfd4e46..ec4de1ede 100644 --- a/dist/libs/common-components/esm5/groupdocs.examples.angular-common-components.js +++ b/dist/libs/common-components/esm5/groupdocs.examples.angular-common-components.js @@ -5,9 +5,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, MouseWheelDirective, 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 { 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, ExcelDocumentComponent, ErrorModalComponent, InitStateComponent, LogoComponent, ModalComponent, PageComponent, ExcelPageComponent, PasswordRequiredComponent, RenderPrintDirective, RotationDirective, ScrollableDirective, MouseWheelDirective, 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, ExcelPageService } 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXItY29tbW9uLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJncm91cGRvY3MuZXhhbXBsZXMuYW5ndWxhci1jb21tb24tY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsbWdEQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7UmVzaXppbmdDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9yZXNpemluZy9yZXNpemluZy5jb21wb25lbnQnO1xuZXhwb3J0IHtUYWJzQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvdGFicy90YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge1Rvb2x0aXBEaXJlY3RpdmUgYXMgybVifSBmcm9tICcuL2xpYi90b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQge1RvcFRhYkNvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL3RvcC10YWIvdG9wLXRhYi5jb21wb25lbnQnOyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXItY29tbW9uLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJncm91cGRvY3MuZXhhbXBsZXMuYW5ndWxhci1jb21tb24tY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaWtEQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7UmVzaXppbmdDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9yZXNpemluZy9yZXNpemluZy5jb21wb25lbnQnO1xuZXhwb3J0IHtUYWJzQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvdGFicy90YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge1Rvb2x0aXBEaXJlY3RpdmUgYXMgybVifSBmcm9tICcuL2xpYi90b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQge1RvcFRhYkNvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL3RvcC10YWIvdG9wLXRhYi5jb21wb25lbnQnOyJdfQ== \ No newline at end of file diff --git a/dist/libs/common-components/esm5/index.js b/dist/libs/common-components/esm5/index.js index 2860558ac..592ffcdea 100644 --- a/dist/libs/common-components/esm5/index.js +++ b/dist/libs/common-components/esm5/index.js @@ -22,11 +22,13 @@ export { ButtonComponent } from './lib/button/button.component'; export { DisabledCursorDirective } from './lib/disabled-cursor.directive'; export { DndDirective } from './lib/dnd.directive'; export { DocumentComponent } from './lib/document/document.component'; +export { ExcelDocumentComponent } from './lib/excel-document/excel-document.component'; export { ErrorModalComponent } from './lib/error-modal/error-modal.component'; export { InitStateComponent } from './lib/init-state/init-state.component'; export { LogoComponent } from './lib/logo/logo.component'; export { ModalComponent } from './lib/modal/modal.component'; export { PageComponent } from './lib/page/page.component'; +export { ExcelPageComponent } from './lib/excel-page/excel-page.component'; export { PasswordRequiredComponent } from './lib/password-required/password-required.component'; export { RenderPrintDirective } from './lib/render-print.directive'; export { RotationDirective } from './lib/rotation.directive'; @@ -64,4 +66,5 @@ export { HostingDynamicComponentService } from './lib/hosting-dynamic-component. export { TopTabActivatorService } from './lib/top-tab-activator.service'; export { MenuType, ContextMenuComponent } from './lib/context-menu/context-menu.component'; export { TextMenuComponent } from './lib/text-menu/text-menu.component'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsdUNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsbUNBQWMsc0JBQXNCLENBQUM7QUFDckMsMkNBQWMscUJBQXFCLENBQUM7QUFDcEMsdUlBQWMsb0JBQW9CLENBQUM7QUFDbkMsbUNBQWMsNEJBQTRCLENBQUM7QUFDM0MsbUdBQWMsYUFBYSxDQUFDO0FBQzVCLGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDRCQUFjLG9CQUFvQixDQUFDO0FBQ25DLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLHdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELHdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLDBDQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLHdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDZCQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGtDQUFjLG1DQUFtQyxDQUFDO0FBQ2xELG9DQUFjLHlDQUF5QyxDQUFDO0FBQ3hELG1DQUFjLHVDQUF1QyxDQUFDO0FBQ3RELDhCQUFjLDJCQUEyQixDQUFDO0FBQzFDLCtCQUFjLDZCQUE2QixDQUFDO0FBQzVDLDhCQUFjLDJCQUEyQixDQUFDO0FBQzFDLDBDQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLHFDQUFjLDhCQUE4QixDQUFDO0FBQzdDLGtDQUFjLDBCQUEwQixDQUFDO0FBQ3pDLG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLGlDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELG9DQUFjLHlDQUF5QyxDQUFDO0FBQ3hELG1DQUFjLHVDQUF1QyxDQUFDO0FBQ3RELHdDQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGlDQUFjLHlCQUF5QixDQUFDO0FBQ3hDLCtCQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDhDQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDhDQUFjLDBCQUEwQixDQUFDO0FBQ3pDLHNDQUFjLCtCQUErQixDQUFDO0FBQzlDLGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGdDQUFjLHlCQUF5QixDQUFDO0FBQ3hDLHFDQUFjLDJDQUEyQyxDQUFDO0FBQzFELHFDQUFjLDJDQUEyQyxDQUFDO0FBQzFELHNDQUFjLDZDQUE2QyxDQUFDO0FBQzVELDZCQUFjLHlCQUF5QixDQUFDO0FBQ3hDLHdDQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLG9DQUFjLDZCQUE2QixDQUFDO0FBQzVDLDBHQUFjLHFDQUFxQyxDQUFDO0FBQ3BELHFDQUFjLDZDQUE2QyxDQUFBO0FBQzNELDJDQUFjLHFDQUFxQyxDQUFBO0FBQ25ELHFDQUFjLDhCQUE4QixDQUFBO0FBQzVDLCtDQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELHVDQUFjLGlDQUFpQyxDQUFBO0FBQy9DLCtDQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGtDQUFjLHFDQUFxQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uLWNvbXBvbmVudHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC1maWxlcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZS1wcmVsb2FkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvem9vbS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbmRlci1wcmludC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Vycm9yLWludGVyY2VwdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXhjZXB0aW9uLW1lc3NhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYXNzd29yZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3dpbmRvdy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZpZXdwb3J0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJvd3NlLWZpbGVzLW1vZGFsL2Jyb3dzZS1maWxlcy1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlzYWJsZWQtY3Vyc29yLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kbmQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RvY3VtZW50L2RvY3VtZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lcnJvci1tb2RhbC9lcnJvci1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5pdC1zdGF0ZS9pbml0LXN0YXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2dvL2xvZ28uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlL3BhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Bhc3N3b3JkLXJlcXVpcmVkL3Bhc3N3b3JkLXJlcXVpcmVkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZW5kZXItcHJpbnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JvdGF0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zY3JvbGxhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb3VzZXdoZWVsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2guc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2hhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RvcC10b29sYmFyL3RvcC10b29sYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaWRlLXBhbmVsL3NpZGUtcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC1maWxlLXpvbmUvdXBsb2FkLWZpbGUtem9uZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvem9vbS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb24tY2xvc2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkaW5nLW1hc2suc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkaW5nLW1hc2staW50ZXJjZXB0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtYXR0aW5nLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtYXR0aW5nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFjay1mb3JtYXR0aW5nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWRpdG9yLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZGl0LWh0bWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xvci1waWNrZXIvY29sb3ItcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkaW5nLW1hc2svbG9hZGluZy1tYXNrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdWNjZXNzLW1vZGFsL3N1Y2Nlc3MtbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi90YWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmJlZC10b29sYmFycy90YWJiZWQtdG9vbGJhcnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1hY3RpdmF0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wLWRvd24vZHJvcC1kb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sZWZ0LXNpZGUtYmFyL2xlZnQtc2lkZS1iYXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWRkLWR5bmFtaWMtY29tcG9uZW50LnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ob3N0LWR5bmFtaWMuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaG9zdGluZy1keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9wLXRhYi1hY3RpdmF0b3Iuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC1tZW51L3RleHQtbWVudS5jb21wb25lbnQnXG5cbiJdfQ== \ No newline at end of file +export { ExcelPageService } from './lib/excel-page.service'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3JvdXBkb2NzLmV4YW1wbGVzLmFuZ3VsYXIvY29tbW9uLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsdUNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsbUNBQWMsc0JBQXNCLENBQUM7QUFDckMsMkNBQWMscUJBQXFCLENBQUM7QUFDcEMsdUlBQWMsb0JBQW9CLENBQUM7QUFDbkMsbUNBQWMsNEJBQTRCLENBQUM7QUFDM0MsbUdBQWMsYUFBYSxDQUFDO0FBQzVCLGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDRCQUFjLG9CQUFvQixDQUFDO0FBQ25DLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLHdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELHdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLDBDQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLHdDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDZCQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGtDQUFjLG1DQUFtQyxDQUFDO0FBQ2xELHVDQUFjLCtDQUErQyxDQUFDO0FBQzlELG9DQUFjLHlDQUF5QyxDQUFDO0FBQ3hELG1DQUFjLHVDQUF1QyxDQUFDO0FBQ3RELDhCQUFjLDJCQUEyQixDQUFDO0FBQzFDLCtCQUFjLDZCQUE2QixDQUFDO0FBQzVDLDhCQUFjLDJCQUEyQixDQUFDO0FBQzFDLG1DQUFjLHVDQUF1QyxDQUFDO0FBQ3RELDBDQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLHFDQUFjLDhCQUE4QixDQUFDO0FBQzdDLGtDQUFjLDBCQUEwQixDQUFDO0FBQ3pDLG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLGlDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELG9DQUFjLHlDQUF5QyxDQUFDO0FBQ3hELG1DQUFjLHVDQUF1QyxDQUFDO0FBQ3RELHdDQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLDhCQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGlDQUFjLHlCQUF5QixDQUFDO0FBQ3hDLCtCQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLG1DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDhDQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELG9DQUFjLDRCQUE0QixDQUFDO0FBQzNDLDhDQUFjLDBCQUEwQixDQUFDO0FBQ3pDLHNDQUFjLCtCQUErQixDQUFDO0FBQzlDLGdDQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGdDQUFjLHlCQUF5QixDQUFDO0FBQ3hDLHFDQUFjLDJDQUEyQyxDQUFDO0FBQzFELHFDQUFjLDJDQUEyQyxDQUFDO0FBQzFELHNDQUFjLDZDQUE2QyxDQUFDO0FBQzVELDZCQUFjLHlCQUF5QixDQUFDO0FBQ3hDLHdDQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLG9DQUFjLDZCQUE2QixDQUFDO0FBQzVDLDBHQUFjLHFDQUFxQyxDQUFDO0FBQ3BELHFDQUFjLDZDQUE2QyxDQUFBO0FBQzNELDJDQUFjLHFDQUFxQyxDQUFBO0FBQ25ELHFDQUFjLDhCQUE4QixDQUFBO0FBQzVDLCtDQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELHVDQUFjLGlDQUFpQyxDQUFBO0FBQy9DLCtDQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGtDQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGlDQUFjLDBCQUEwQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uLWNvbXBvbmVudHMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uZmlnLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RhbC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXBsb2FkLWZpbGVzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlLXByZWxvYWQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pvb20uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbmRlci1wcmludC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4Y2VwdGlvbi1tZXNzYWdlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYXNzd29yZC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvd2luZG93LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92aWV3cG9ydC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJvd3NlLWZpbGVzLW1vZGFsL2Jyb3dzZS1maWxlcy1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rpc2FibGVkLWN1cnNvci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kbmQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZG9jdW1lbnQvZG9jdW1lbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZXhjZWwtZG9jdW1lbnQvZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZXJyb3ItbW9kYWwvZXJyb3ItbW9kYWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5pdC1zdGF0ZS9pbml0LXN0YXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvZ28vbG9nby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlL3BhZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZXhjZWwtcGFnZS9leGNlbC1wYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Bhc3N3b3JkLXJlcXVpcmVkL3Bhc3N3b3JkLXJlcXVpcmVkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbmRlci1wcmludC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yb3RhdGlvbi5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zY3JvbGxhYmxlLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vdXNld2hlZWwuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VhcmNoLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaGFibGUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9wLXRvb2xiYXIvdG9wLXRvb2xiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lkZS1wYW5lbC9zaWRlLXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC1maWxlLXpvbmUvdXBsb2FkLWZpbGUtem9uZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96b29tLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvb24tY2xvc2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvYWRpbmctbWFzay5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9hZGluZy1tYXNrLWludGVyY2VwdG9yLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtYXR0aW5nLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1hdHRpbmcuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhY2stZm9ybWF0dGluZy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWRpdG9yLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VkaXQtaHRtbC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkaW5nLW1hc2svbG9hZGluZy1tYXNrLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N1Y2Nlc3MtbW9kYWwvc3VjY2Vzcy1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWIvdGFiLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmJlZC10b29sYmFycy90YWJiZWQtdG9vbGJhcnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFiLWFjdGl2YXRvci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcC1kb3duL2Ryb3AtZG93bi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sZWZ0LXNpZGUtYmFyL2xlZnQtc2lkZS1iYXIuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGQtZHluYW1pYy1jb21wb25lbnQuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaG9zdC1keW5hbWljLmRpcmVjdGl2ZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaG9zdGluZy1keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90b3AtdGFiLWFjdGl2YXRvci5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC1tZW51L3RleHQtbWVudS5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4Y2VsLXBhZ2Uuc2VydmljZSdcclxuIl19 \ No newline at end of file diff --git a/dist/libs/common-components/esm5/lib/common-components.module.js b/dist/libs/common-components/esm5/lib/common-components.module.js index a73be5ff2..de9678911 100644 --- a/dist/libs/common-components/esm5/lib/common-components.module.js +++ b/dist/libs/common-components/esm5/lib/common-components.module.js @@ -19,7 +19,9 @@ import { ModalComponent } from './modal/modal.component'; import { BrowseFilesModalComponent } from './browse-files-modal/browse-files-modal.component'; import { FileModel, FileService, FileUtil, Utils } from "./file.service"; import { DocumentComponent } from './document/document.component'; +import { ExcelDocumentComponent } from './excel-document/excel-document.component'; import { PageComponent } from './page/page.component'; +import { ExcelPageComponent } from './excel-page/excel-page.component'; import { HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe } from "./pipes"; import { UploadFileZoneComponent } from './upload-file-zone/upload-file-zone.component'; import { UploadFilesService } from "./upload-files.service"; @@ -69,6 +71,7 @@ import { HostDynamicDirective } from './host-dynamic.directive'; import { HostingDynamicComponentService } from "./hosting-dynamic-component.service"; import { ResizingComponent } from './resizing/resizing.component'; import { TopTabComponent } from './top-tab/top-tab.component'; +import { ExcelPageService } from "./excel-page.service"; import { TopTabActivatorService } from "./top-tab-activator.service"; import { TextMenuComponent } from './text-menu/text-menu.component'; import { ContextMenuComponent } from './context-menu/context-menu.component'; @@ -103,7 +106,8 @@ var providers = [ConfigService, TabActivatorService, AddDynamicComponentService, HostingDynamicComponentService, - TopTabActivatorService]; + TopTabActivatorService, + ExcelPageService]; var CommonComponentsModule = /** @class */ (function () { function CommonComponentsModule() { library.add(fas, far); @@ -120,7 +124,9 @@ var CommonComponentsModule = /** @class */ (function () { ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, @@ -168,7 +174,9 @@ var CommonComponentsModule = /** @class */ (function () { ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeResourceHtmlPipe, SanitizeStylePipe, HighlightSearchPipe, @@ -204,7 +212,9 @@ var CommonComponentsModule = /** @class */ (function () { ResizingComponent, TopTabComponent, TextMenuComponent, - ContextMenuComponent + ContextMenuComponent, + EditorDirective, + FormattingDirective ], providers: providers },] } @@ -214,4 +224,4 @@ var CommonComponentsModule = /** @class */ (function () { return CommonComponentsModule; }()); export { CommonComponentsModule }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWNvbXBvbmVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2NvbW1vbi1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RCxPQUFPLEVBQUMsR0FBRyxFQUFFLGFBQWEsR0FBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtB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Q3BCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLHlCQUF5Qjt3QkFDekIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixvQkFBb0I7cUJBQ3JCO29CQUNELFNBQVMsRUFBRSxTQUFTO2lCQUNyQjs7OztJQUtELDZCQUFDO0NBQUEsQUF2R0QsSUF1R0M7U0FKWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtUb3BUb29sYmFyQ29tcG9uZW50fSBmcm9tICcuL3RvcC10b29sYmFyL3RvcC10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQge1NpZGVQYW5lbENvbXBvbmVudH0gZnJvbSAnLi9zaWRlLXBhbmVsL3NpZGUtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7QnV0dG9uQ29tcG9uZW50fSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7TG9nb0NvbXBvbmVudH0gZnJvbSAnLi9sb2dvL2xvZ28uY29tcG9uZW50JztcbmltcG9ydCB7VG9vbHRpcENvbXBvbmVudH0gZnJvbSAnLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7Rm9udEF3ZXNvbWVNb2R1bGV9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcbmltcG9ydCB7bGlicmFyeX0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXN2Zy1jb3JlJztcbmltcG9ydCB7ZmFzfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHtmYXJ9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXJlZ3VsYXItc3ZnLWljb25zJztcbmltcG9ydCB7QXBpLCBDb25maWdTZXJ2aWNlLH0gZnJvbSBcIi4vY29uZmlnLnNlcnZpY2VcIjtcbmltcG9ydCB7TW9kYWxTZXJ2aWNlfSBmcm9tIFwiLi9tb2RhbC5zZXJ2aWNlXCI7XG5pbXBvcnQge01vZGFsQ29tcG9uZW50fSBmcm9tICcuL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQge0Jyb3dzZUZpbGVzTW9kYWxDb21wb25lbnR9IGZyb20gJy4vYnJvd3NlLWZpbGVzLW1vZGFsL2Jyb3dzZS1maWxlcy1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtGaWxlTW9kZWwsIEZpbGVTZXJ2aWNlLCBGaWxlVXRpbCwgVXRpbHN9IGZyb20gXCIuL2ZpbGUuc2VydmljZVwiO1xuaW1wb3J0IHtEb2N1bWVudENvbXBvbmVudH0gZnJvbSAnLi9kb2N1bWVudC9kb2N1bWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtQYWdlQ29tcG9uZW50fSBmcm9tICcuL3BhZ2UvcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHtIaWdobGlnaHRTZWFyY2hQaXBlLCBTYW5pdGl6ZUh0bWxQaXBlLCBTYW5pdGl6ZVJlc291cmNlSHRtbFBpcGUsIFNhbml0aXplU3R5bGVQaXBlfSBmcm9tIFwiLi9waXBlc1wiO1xuaW1wb3J0IHtVcGxvYWRGaWxlWm9uZUNvbXBvbmVudH0gZnJvbSAnLi91cGxvYWQtZmlsZS16b25lL3VwbG9hZC1maWxlLXpvbmUuY29tcG9uZW50JztcbmltcG9ydCB7VXBsb2FkRmlsZXNTZXJ2aWNlfSBmcm9tIFwiLi91cGxvYWQtZmlsZXMuc2VydmljZVwiO1xuaW1wb3J0IHtEbmREaXJlY3RpdmV9IGZyb20gJy4vZG5kLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1Njcm9sbGFibGVEaXJlY3RpdmV9IGZyb20gJy4vc2Nyb2xsYWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtNb3VzZVdoZWVsRGlyZWN0aXZlfSBmcm9tICcuL21vdXNld2hlZWwuZGlyZWN0aXZlJztcbmltcG9ydCB7TmF2aWdhdGVTZXJ2aWNlfSBmcm9tIFwiLi9uYXZpZ2F0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQge1BhZ2VQcmVsb2FkU2VydmljZX0gZnJvbSBcIi4vcGFnZS1wcmVsb2FkLnNlcnZpY2VcIjtcbmltcG9ydCB7Wm9vbURpcmVjdGl2ZX0gZnJvbSAnLi96b29tLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1pvb21TZXJ2aWNlfSBmcm9tIFwiLi96b29tLnNlcnZpY2VcIjtcbmltcG9ydCB7U2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7RGlzYWJsZWRDdXJzb3JEaXJlY3RpdmV9IGZyb20gJy4vZGlzYWJsZWQtY3Vyc29yLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1JvdGF0aW9uRGlyZWN0aXZlfSBmcm9tICcuL3JvdGF0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0luaXRTdGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9pbml0LXN0YXRlL2luaXQtc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7UmVuZGVyUHJpbnRTZXJ2aWNlfSBmcm9tIFwiLi9yZW5kZXItcHJpbnQuc2VydmljZVwiO1xuaW1wb3J0IHtSZW5kZXJQcmludERpcmVjdGl2ZX0gZnJvbSAnLi9yZW5kZXItcHJpbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7RXJyb3JNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9lcnJvci1tb2RhbC9lcnJvci1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtQYXNzd29yZFJlcXVpcmVkQ29tcG9uZW50fSBmcm9tICcuL3Bhc3N3b3JkLXJlcXVpcmVkL3Bhc3N3b3JkLXJlcXVpcmVkLmNvbXBvbmVudCc7XG5pbXBvcnQge0V4Y2VwdGlvbk1lc3NhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9leGNlcHRpb24tbWVzc2FnZS5zZXJ2aWNlXCI7XG5pbXBvcnQge1Bhc3N3b3JkU2VydmljZX0gZnJvbSBcIi4vcGFzc3dvcmQuc2VydmljZVwiO1xuaW1wb3J0IHtFcnJvckludGVyY2VwdG9yU2VydmljZX0gZnJvbSBcIi4vZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZVwiO1xuaW1wb3J0IHtTZWFyY2hDb21wb25lbnR9IGZyb20gJy4vc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWFyY2hhYmxlRGlyZWN0aXZlfSBmcm9tICcuL3NlYXJjaGFibGUuZGlyZWN0aXZlJztcbmltcG9ydCB7U2VhcmNoU2VydmljZX0gZnJvbSBcIi4vc2VhcmNoLnNlcnZpY2VcIjtcbmltcG9ydCB7V2luZG93U2VydmljZX0gZnJvbSBcIi4vd2luZG93LnNlcnZpY2VcIjtcbmltcG9ydCB7Vmlld3BvcnRTZXJ2aWNlfSBmcm9tIFwiLi92aWV3cG9ydC5zZXJ2aWNlXCI7XG5pbXBvcnQge1RhYmJlZFRvb2xiYXJzQ29tcG9uZW50fSBmcm9tICcuL3RhYmJlZC10b29sYmFycy90YWJiZWQtdG9vbGJhcnMuY29tcG9uZW50JztcbmltcG9ydCB7VGFiQ29tcG9uZW50fSBmcm9tIFwiLi90YWIvdGFiLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtUYWJzQ29tcG9uZW50fSBmcm9tIFwiLi90YWJzL3RhYnMuY29tcG9uZW50XCI7XG5pbXBvcnQge0Zvcm1hdHRpbmdTZXJ2aWNlfSBmcm9tIFwiLi9mb3JtYXR0aW5nLnNlcnZpY2VcIjtcbmltcG9ydCB7Q29sb3JQaWNrZXJDb21wb25lbnR9IGZyb20gJy4vY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtYXR0aW5nRGlyZWN0aXZlfSBmcm9tICcuL2Zvcm1hdHRpbmcuZGlyZWN0aXZlJztcbmltcG9ydCB7QmFja0Zvcm1hdHRpbmdTZXJ2aWNlfSBmcm9tIFwiLi9iYWNrLWZvcm1hdHRpbmcuc2VydmljZVwiO1xuaW1wb3J0IHtPbkNsb3NlU2VydmljZX0gZnJvbSBcIi4vb24tY2xvc2Uuc2VydmljZVwiO1xuaW1wb3J0IHtTdWNjZXNzTW9kYWxDb21wb25lbnR9IGZyb20gJy4vc3VjY2Vzcy1tb2RhbC9zdWNjZXNzLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQge0VkaXRvckRpcmVjdGl2ZX0gZnJvbSAnLi9lZGl0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7TG9hZGluZ01hc2tDb21wb25lbnR9IGZyb20gJy4vbG9hZGluZy1tYXNrL2xvYWRpbmctbWFzay5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2FkaW5nTWFza1NlcnZpY2V9IGZyb20gJy4vbG9hZGluZy1tYXNrLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2FkaW5nTWFza0ludGVyY2VwdG9yU2VydmljZX0gZnJvbSBcIi4vbG9hZGluZy1tYXNrLWludGVyY2VwdG9yLnNlcnZpY2VcIjtcbmltcG9ydCB7VGFiQWN0aXZhdG9yU2VydmljZX0gZnJvbSBcIi4vdGFiLWFjdGl2YXRvci5zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICBEcm9wRG93bkNvbXBvbmVudCxcbiAgRHJvcERvd25JdGVtQ29tcG9uZW50LFxuICBEcm9wRG93bkl0ZW1zQ29tcG9uZW50LFxuICBEcm9wRG93blRvZ2dsZUNvbXBvbmVudFxufSBmcm9tICcuL2Ryb3AtZG93bi9kcm9wLWRvd24uY29tcG9uZW50JztcbmltcG9ydCB7Q2xpY2tPdXRzaWRlTW9kdWxlfSBmcm9tICduZy1jbGljay1vdXRzaWRlJztcbmltcG9ydCB7TGVmdFNpZGVCYXJDb21wb25lbnR9IGZyb20gJy4vbGVmdC1zaWRlLWJhci9sZWZ0LXNpZGUtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQge1Rvb2x0aXBEaXJlY3RpdmV9IGZyb20gJy4vdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtBZGREeW5hbWljQ29tcG9uZW50U2VydmljZX0gZnJvbSBcIi4vYWRkLWR5bmFtaWMtY29tcG9uZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7SG9zdER5bmFtaWNEaXJlY3RpdmV9IGZyb20gJy4vaG9zdC1keW5hbWljLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0hvc3RpbmdEeW5hbWljQ29tcG9uZW50U2VydmljZX0gZnJvbSBcIi4vaG9zdGluZy1keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlXCI7XG5pbXBvcnQge1Jlc2l6aW5nQ29tcG9uZW50fSBmcm9tICcuL3Jlc2l6aW5nL3Jlc2l6aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQge1RvcFRhYkNvbXBvbmVudH0gZnJvbSAnLi90b3AtdGFiL3RvcC10YWIuY29tcG9uZW50JztcbmltcG9ydCB7VG9wVGFiQWN0aXZhdG9yU2VydmljZX0gZnJvbSBcIi4vdG9wLXRhYi1hY3RpdmF0b3Iuc2VydmljZVwiO1xuaW1wb3J0IHtUZXh0TWVudUNvbXBvbmVudH0gZnJvbSAnLi90ZXh0LW1lbnUvdGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbnRleHRNZW51Q29tcG9uZW50fSBmcm9tICcuL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50JztcblxuY29uc3QgcHJvdmlkZXJzID0gW0NvbmZpZ1NlcnZpY2UsXG4gIEFwaSxcbiAgTW9kYWxTZXJ2aWNlLFxuICBGaWxlU2VydmljZSxcbiAgRmlsZU1vZGVsLFxuICBGaWxlVXRpbCxcbiAgVXRpbHMsXG4gIFNhbml0aXplSHRtbFBpcGUsXG4gIFNhbml0aXplUmVzb3VyY2VIdG1sUGlwZSxcbiAgU2FuaXRpemVTdHlsZVBpcGUsXG4gIEhpZ2hsaWdodFNlYXJjaFBpcGUsXG4gIFVwbG9hZEZpbGVzU2VydmljZSxcbiAgUmVuZGVyUHJpbnRTZXJ2aWNlLFxuICBOYXZpZ2F0ZVNlcnZpY2UsXG4gIFBhZ2VQcmVsb2FkU2VydmljZSxcbiAgWm9vbVNlcnZpY2UsXG4gIEV4Y2VwdGlvbk1lc3NhZ2VTZXJ2aWNlLFxuICBQYXNzd29yZFNlcnZpY2UsXG4gIEVycm9ySW50ZXJjZXB0b3JTZXJ2aWNlLFxuICBTZWFyY2hTZXJ2aWNlLFxuICBXaW5kb3dTZXJ2aWNlLFxuICBWaWV3cG9ydFNlcnZpY2UsXG4gIEZvcm1hdHRpbmdTZXJ2aWNlLFxuICBCYWNrRm9ybWF0dGluZ1NlcnZpY2UsXG4gIE9uQ2xvc2VTZXJ2aWNlLFxuICBMb2FkaW5nTWFza0ludGVyY2VwdG9yU2VydmljZSxcbiAgTG9hZGluZ01hc2tTZXJ2aWNlLFxuICBUYWJBY3RpdmF0b3JTZXJ2aWNlLFxuICBBZGREeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgSG9zdGluZ0R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICBUb3BUYWJBY3RpdmF0b3JTZXJ2aWNlXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9udEF3ZXNvbWVNb2R1bGUsIENsaWNrT3V0c2lkZU1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRvcFRvb2xiYXJDb21wb25lbnQsXG4gICAgU2lkZVBhbmVsQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBMb2dvQ29tcG9uZW50LFxuICAgIFRvb2x0aXBDb21wb25lbnQsXG4gICAgTW9kYWxDb21wb25lbnQsXG4gICAgQnJvd3NlRmlsZXNNb2RhbENvbXBvbmVudCxcbiAgICBEb2N1bWVudENvbXBvbmVudCxcbiAgICBQYWdlQ29tcG9uZW50LFxuICAgIFNhbml0aXplSHRtbFBpcGUsXG4gICAgU2FuaXRpemVSZXNvdXJjZUh0bWxQaXBlLFxuICAgIFNhbml0aXplU3R5bGVQaXBlLFxuICAgIEhpZ2hsaWdodFNlYXJjaFBpcGUsXG4gICAgVXBsb2FkRmlsZVpvbmVDb21wb25lbnQsXG4gICAgRG5kRGlyZWN0aXZlLFxuICAgIFNjcm9sbGFibGVEaXJlY3RpdmUsXG4gICAgTW91c2VXaGVlbERpcmVjdGl2ZSxcbiAgICBab29tRGlyZWN0aXZlLFxuICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICBEaXNhYmxlZEN1cnNvckRpcmVjdGl2ZSxcbiAgICBSb3RhdGlvbkRpcmVjdGl2ZSxcbiAgICBJbml0U3RhdGVDb21wb25lbnQsXG4gICAgUmVuZGVyUHJpbnREaXJlY3RpdmUsXG4gICAgRXJyb3JNb2RhbENvbXBvbmVudCxcbiAgICBQYXNzd29yZFJlcXVpcmVkQ29tcG9uZW50LFxuICAgIFNlYXJjaENvbXBvbmVudCxcbiAgICBTZWFyY2hhYmxlRGlyZWN0aXZlLFxuICAgIFRhYmJlZFRvb2xiYXJzQ29tcG9uZW50LFxuICAgIFRhYkNvbXBvbmVudCxcbiAgICBUYWJzQ29tcG9uZW50LFxuICAgIENvbG9yUGlja2VyQ29tcG9uZW50LFxuICAgIEZvcm1hdHRpbmdEaXJlY3RpdmUsXG4gICAgU3VjY2Vzc01vZGFsQ29tcG9uZW50LFxuICAgIEVkaXRvckRpcmVjdGl2ZSxcbiAgICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgICBEcm9wRG93bkNvbXBvbmVudCxcbiAgICBEcm9wRG93bkl0ZW1Db21wb25lbnQsXG4gICAgRHJvcERvd25JdGVtc0NvbXBvbmVudCxcbiAgICBEcm9wRG93blRvZ2dsZUNvbXBvbmVudCxcbiAgICBMZWZ0U2lkZUJhckNvbXBvbmVudCxcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgIEhvc3REeW5hbWljRGlyZWN0aXZlLFxuICAgIFJlc2l6aW5nQ29tcG9uZW50LFxuICAgIFRvcFRhYkNvbXBvbmVudCxcbiAgICBUZXh0TWVudUNvbXBvbmVudCxcbiAgICBDb250ZXh0TWVudUNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVG9wVG9vbGJhckNvbXBvbmVudCxcbiAgICBTaWRlUGFuZWxDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIExvZ29Db21wb25lbnQsXG4gICAgVG9vbHRpcENvbXBvbmVudCxcbiAgICBNb2RhbENvbXBvbmVudCxcbiAgICBCcm93c2VGaWxlc01vZGFsQ29tcG9uZW50LFxuICAgIERvY3VtZW50Q29tcG9uZW50LFxuICAgIFBhZ2VDb21wb25lbnQsXG4gICAgU2FuaXRpemVSZXNvdXJjZUh0bWxQaXBlLFxuICAgIFNhbml0aXplU3R5bGVQaXBlLFxuICAgIEhpZ2hsaWdodFNlYXJjaFBpcGUsXG4gICAgU2FuaXRpemVIdG1sUGlwZSxcbiAgICBVcGxvYWRGaWxlWm9uZUNvbXBvbmVudCxcbiAgICBTY3JvbGxhYmxlRGlyZWN0aXZlLFxuICAgIE1vdXNlV2hlZWxEaXJlY3RpdmUsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIFJvdGF0aW9uRGlyZWN0aXZlLFxuICAgIEluaXRTdGF0ZUNvbXBvbmVudCxcbiAgICBSZW5kZXJQcmludERpcmVjdGl2ZSxcbiAgICBFcnJvck1vZGFsQ29tcG9uZW50LFxuICAgIFBhc3N3b3JkUmVxdWlyZWRDb21wb25lbnQsXG4gICAgU2VhcmNoQ29tcG9uZW50LFxuICAgIFNlYXJjaGFibGVEaXJlY3RpdmUsXG4gICAgVGFiYmVkVG9vbGJhcnNDb21wb25lbnQsXG4gICAgVGFiQ29tcG9uZW50LFxuICAgIFRhYnNDb21wb25lbnQsXG4gICAgQ29sb3JQaWNrZXJDb21wb25lbnQsXG4gICAgRm9ybWF0dGluZ0RpcmVjdGl2ZSxcbiAgICBTdWNjZXNzTW9kYWxDb21wb25lbnQsXG4gICAgTG9hZGluZ01hc2tDb21wb25lbnQsXG4gICAgRG5kRGlyZWN0aXZlLFxuICAgIERyb3BEb3duQ29tcG9uZW50LFxuICAgIERyb3BEb3duSXRlbUNvbXBvbmVudCxcbiAgICBEcm9wRG93bkl0ZW1zQ29tcG9uZW50LFxuICAgIERyb3BEb3duVG9nZ2xlQ29tcG9uZW50LFxuICAgIFpvb21EaXJlY3RpdmUsXG4gICAgRHJvcERvd25Ub2dnbGVDb21wb25lbnQsXG4gICAgTGVmdFNpZGVCYXJDb21wb25lbnQsXG4gICAgVG9vbHRpcERpcmVjdGl2ZSxcbiAgICBIb3N0RHluYW1pY0RpcmVjdGl2ZSxcbiAgICBSZXNpemluZ0NvbXBvbmVudCxcbiAgICBUb3BUYWJDb21wb25lbnQsXG4gICAgVGV4dE1lbnVDb21wb25lbnQsXG4gICAgQ29udGV4dE1lbnVDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBwcm92aWRlcnNcbn0pXG5leHBvcnQgY2xhc3MgQ29tbW9uQ29tcG9uZW50c01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGxpYnJhcnkuYWRkKGZhcywgZmFyKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWNvbXBvbmVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyb3VwZG9jcy5leGFtcGxlcy5hbmd1bGFyL2NvbW1vbi1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2NvbW1vbi1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RCxPQUFPLEVBQUMsR0FBRyxFQUFFLGFBQWEsR0FBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtB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QUFHO29CQUN4QixTQUFTLEVBQUUsU0FBUztpQkFDckI7Ozs7SUFLRCw2QkFBQztDQUFBLEFBNUdELElBNEdDO1NBSlksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1RvcFRvb2xiYXJDb21wb25lbnR9IGZyb20gJy4vdG9wLXRvb2xiYXIvdG9wLXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtTaWRlUGFuZWxDb21wb25lbnR9IGZyb20gJy4vc2lkZS1wYW5lbC9zaWRlLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QnV0dG9uQ29tcG9uZW50fSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtMb2dvQ29tcG9uZW50fSBmcm9tICcuL2xvZ28vbG9nby5jb21wb25lbnQnO1xyXG5pbXBvcnQge1Rvb2x0aXBDb21wb25lbnR9IGZyb20gJy4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9udEF3ZXNvbWVNb2R1bGV9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuaW1wb3J0IHtsaWJyYXJ5fSBmcm9tICdAZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtc3ZnLWNvcmUnO1xyXG5pbXBvcnQge2Zhc30gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcclxuaW1wb3J0IHtmYXJ9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXJlZ3VsYXItc3ZnLWljb25zJztcclxuaW1wb3J0IHtBcGksIENvbmZpZ1NlcnZpY2UsfSBmcm9tIFwiLi9jb25maWcuc2VydmljZVwiO1xyXG5pbXBvcnQge01vZGFsU2VydmljZX0gZnJvbSBcIi4vbW9kYWwuc2VydmljZVwiO1xyXG5pbXBvcnQge01vZGFsQ29tcG9uZW50fSBmcm9tICcuL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QnJvd3NlRmlsZXNNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9icm93c2UtZmlsZXMtbW9kYWwvYnJvd3NlLWZpbGVzLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RmlsZU1vZGVsLCBGaWxlU2VydmljZSwgRmlsZVV0aWwsIFV0aWxzfSBmcm9tIFwiLi9maWxlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEb2N1bWVudENvbXBvbmVudH0gZnJvbSAnLi9kb2N1bWVudC9kb2N1bWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0V4Y2VsRG9jdW1lbnRDb21wb25lbnR9IGZyb20gJy4vZXhjZWwtZG9jdW1lbnQvZXhjZWwtZG9jdW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHtQYWdlQ29tcG9uZW50fSBmcm9tICcuL3BhZ2UvcGFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0V4Y2VsUGFnZUNvbXBvbmVudH0gZnJvbSAnLi9leGNlbC1wYWdlL2V4Y2VsLXBhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtIaWdobGlnaHRTZWFyY2hQaXBlLCBTYW5pdGl6ZUh0bWxQaXBlLCBTYW5pdGl6ZVJlc291cmNlSHRtbFBpcGUsIFNhbml0aXplU3R5bGVQaXBlfSBmcm9tIFwiLi9waXBlc1wiO1xyXG5pbXBvcnQge1VwbG9hZEZpbGVab25lQ29tcG9uZW50fSBmcm9tICcuL3VwbG9hZC1maWxlLXpvbmUvdXBsb2FkLWZpbGUtem9uZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1VwbG9hZEZpbGVzU2VydmljZX0gZnJvbSBcIi4vdXBsb2FkLWZpbGVzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEbmREaXJlY3RpdmV9IGZyb20gJy4vZG5kLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7U2Nyb2xsYWJsZURpcmVjdGl2ZX0gZnJvbSAnLi9zY3JvbGxhYmxlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7TW91c2VXaGVlbERpcmVjdGl2ZX0gZnJvbSAnLi9tb3VzZXdoZWVsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7TmF2aWdhdGVTZXJ2aWNlfSBmcm9tIFwiLi9uYXZpZ2F0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UGFnZVByZWxvYWRTZXJ2aWNlfSBmcm9tIFwiLi9wYWdlLXByZWxvYWQuc2VydmljZVwiO1xyXG5pbXBvcnQge1pvb21EaXJlY3RpdmV9IGZyb20gJy4vem9vbS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge1pvb21TZXJ2aWNlfSBmcm9tIFwiLi96b29tLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTZWxlY3RDb21wb25lbnR9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Rpc2FibGVkQ3Vyc29yRGlyZWN0aXZlfSBmcm9tICcuL2Rpc2FibGVkLWN1cnNvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge1JvdGF0aW9uRGlyZWN0aXZlfSBmcm9tICcuL3JvdGF0aW9uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7SW5pdFN0YXRlQ29tcG9uZW50fSBmcm9tICcuL2luaXQtc3RhdGUvaW5pdC1zdGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JlbmRlclByaW50U2VydmljZX0gZnJvbSBcIi4vcmVuZGVyLXByaW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSZW5kZXJQcmludERpcmVjdGl2ZX0gZnJvbSAnLi9yZW5kZXItcHJpbnQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtFcnJvck1vZGFsQ29tcG9uZW50fSBmcm9tICcuL2Vycm9yLW1vZGFsL2Vycm9yLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UGFzc3dvcmRSZXF1aXJlZENvbXBvbmVudH0gZnJvbSAnLi9wYXNzd29yZC1yZXF1aXJlZC9wYXNzd29yZC1yZXF1aXJlZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0V4Y2VwdGlvbk1lc3NhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9leGNlcHRpb24tbWVzc2FnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UGFzc3dvcmRTZXJ2aWNlfSBmcm9tIFwiLi9wYXNzd29yZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RXJyb3JJbnRlcmNlcHRvclNlcnZpY2V9IGZyb20gXCIuL2Vycm9yLWludGVyY2VwdG9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTZWFyY2hDb21wb25lbnR9IGZyb20gJy4vc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NlYXJjaGFibGVEaXJlY3RpdmV9IGZyb20gJy4vc2VhcmNoYWJsZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge1NlYXJjaFNlcnZpY2V9IGZyb20gXCIuL3NlYXJjaC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7V2luZG93U2VydmljZX0gZnJvbSBcIi4vd2luZG93LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtWaWV3cG9ydFNlcnZpY2V9IGZyb20gXCIuL3ZpZXdwb3J0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUYWJiZWRUb29sYmFyc0NvbXBvbmVudH0gZnJvbSAnLi90YWJiZWQtdG9vbGJhcnMvdGFiYmVkLXRvb2xiYXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VGFiQ29tcG9uZW50fSBmcm9tIFwiLi90YWIvdGFiLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1RhYnNDb21wb25lbnR9IGZyb20gXCIuL3RhYnMvdGFicy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGb3JtYXR0aW5nU2VydmljZX0gZnJvbSBcIi4vZm9ybWF0dGluZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q29sb3JQaWNrZXJDb21wb25lbnR9IGZyb20gJy4vY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1hdHRpbmdEaXJlY3RpdmV9IGZyb20gJy4vZm9ybWF0dGluZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge0JhY2tGb3JtYXR0aW5nU2VydmljZX0gZnJvbSBcIi4vYmFjay1mb3JtYXR0aW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtPbkNsb3NlU2VydmljZX0gZnJvbSBcIi4vb24tY2xvc2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge1N1Y2Nlc3NNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9zdWNjZXNzLW1vZGFsL3N1Y2Nlc3MtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtFZGl0b3JEaXJlY3RpdmV9IGZyb20gJy4vZWRpdG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7TG9hZGluZ01hc2tDb21wb25lbnR9IGZyb20gJy4vbG9hZGluZy1tYXNrL2xvYWRpbmctbWFzay5jb21wb25lbnQnO1xyXG5pbXBvcnQge0xvYWRpbmdNYXNrU2VydmljZX0gZnJvbSAnLi9sb2FkaW5nLW1hc2suc2VydmljZSc7XHJcbmltcG9ydCB7TG9hZGluZ01hc2tJbnRlcmNlcHRvclNlcnZpY2V9IGZyb20gXCIuL2xvYWRpbmctbWFzay1pbnRlcmNlcHRvci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VGFiQWN0aXZhdG9yU2VydmljZX0gZnJvbSBcIi4vdGFiLWFjdGl2YXRvci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7XHJcbiAgRHJvcERvd25Db21wb25lbnQsXHJcbiAgRHJvcERvd25JdGVtQ29tcG9uZW50LFxyXG4gIERyb3BEb3duSXRlbXNDb21wb25lbnQsXHJcbiAgRHJvcERvd25Ub2dnbGVDb21wb25lbnRcclxufSBmcm9tICcuL2Ryb3AtZG93bi9kcm9wLWRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHtDbGlja091dHNpZGVNb2R1bGV9IGZyb20gJ25nLWNsaWNrLW91dHNpZGUnO1xyXG5pbXBvcnQge0xlZnRTaWRlQmFyQ29tcG9uZW50fSBmcm9tICcuL2xlZnQtc2lkZS1iYXIvbGVmdC1zaWRlLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1Rvb2x0aXBEaXJlY3RpdmV9IGZyb20gJy4vdG9vbHRpcC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge0FkZER5bmFtaWNDb21wb25lbnRTZXJ2aWNlfSBmcm9tIFwiLi9hZGQtZHluYW1pYy1jb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge0hvc3REeW5hbWljRGlyZWN0aXZlfSBmcm9tICcuL2hvc3QtZHluYW1pYy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge0hvc3RpbmdEeW5hbWljQ29tcG9uZW50U2VydmljZX0gZnJvbSBcIi4vaG9zdGluZy1keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UmVzaXppbmdDb21wb25lbnR9IGZyb20gJy4vcmVzaXppbmcvcmVzaXppbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHtUb3BUYWJDb21wb25lbnR9IGZyb20gJy4vdG9wLXRhYi90b3AtdGFiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RXhjZWxQYWdlU2VydmljZX0gZnJvbSBcIi4vZXhjZWwtcGFnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VG9wVGFiQWN0aXZhdG9yU2VydmljZX0gZnJvbSBcIi4vdG9wLXRhYi1hY3RpdmF0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge1RleHRNZW51Q29tcG9uZW50fSBmcm9tICcuL3RleHQtbWVudS90ZXh0LW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHtDb250ZXh0TWVudUNvbXBvbmVudH0gZnJvbSAnLi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCBwcm92aWRlcnMgPSBbQ29uZmlnU2VydmljZSxcclxuICBBcGksXHJcbiAgTW9kYWxTZXJ2aWNlLFxyXG4gIEZpbGVTZXJ2aWNlLFxyXG4gIEZpbGVNb2RlbCxcclxuICBGaWxlVXRpbCxcclxuICBVdGlscyxcclxuICBTYW5pdGl6ZUh0bWxQaXBlLFxyXG4gIFNhbml0aXplUmVzb3VyY2VIdG1sUGlwZSxcclxuICBTYW5pdGl6ZVN0eWxlUGlwZSxcclxuICBIaWdobGlnaHRTZWFyY2hQaXBlLFxyXG4gIFVwbG9hZEZpbGVzU2VydmljZSxcclxuICBSZW5kZXJQcmludFNlcnZpY2UsXHJcbiAgTmF2aWdhdGVTZXJ2aWNlLFxyXG4gIFBhZ2VQcmVsb2FkU2VydmljZSxcclxuICBab29tU2VydmljZSxcclxuICBFeGNlcHRpb25NZXNzYWdlU2VydmljZSxcclxuICBQYXNzd29yZFNlcnZpY2UsXHJcbiAgRXJyb3JJbnRlcmNlcHRvclNlcnZpY2UsXHJcbiAgU2VhcmNoU2VydmljZSxcclxuICBXaW5kb3dTZXJ2aWNlLFxyXG4gIFZpZXdwb3J0U2VydmljZSxcclxuICBGb3JtYXR0aW5nU2VydmljZSxcclxuICBCYWNrRm9ybWF0dGluZ1NlcnZpY2UsXHJcbiAgT25DbG9zZVNlcnZpY2UsXHJcbiAgTG9hZGluZ01hc2tJbnRlcmNlcHRvclNlcnZpY2UsXHJcbiAgTG9hZGluZ01hc2tTZXJ2aWNlLFxyXG4gIFRhYkFjdGl2YXRvclNlcnZpY2UsXHJcbiAgQWRkRHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXHJcbiAgSG9zdGluZ0R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxyXG4gIFRvcFRhYkFjdGl2YXRvclNlcnZpY2UsXHJcbiAgRXhjZWxQYWdlU2VydmljZV07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvbnRBd2Vzb21lTW9kdWxlLCBDbGlja091dHNpZGVNb2R1bGVdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVG9wVG9vbGJhckNvbXBvbmVudCxcclxuICAgIFNpZGVQYW5lbENvbXBvbmVudCxcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIExvZ29Db21wb25lbnQsXHJcbiAgICBUb29sdGlwQ29tcG9uZW50LFxyXG4gICAgTW9kYWxDb21wb25lbnQsXHJcbiAgICBCcm93c2VGaWxlc01vZGFsQ29tcG9uZW50LFxyXG4gICAgRG9jdW1lbnRDb21wb25lbnQsXHJcbiAgICBFeGNlbERvY3VtZW50Q29tcG9uZW50LFxyXG4gICAgUGFnZUNvbXBvbmVudCxcclxuICAgIEV4Y2VsUGFnZUNvbXBvbmVudCxcclxuICAgIFNhbml0aXplSHRtbFBpcGUsXHJcbiAgICBTYW5pdGl6ZVJlc291cmNlSHRtbFBpcGUsXHJcbiAgICBTYW5pdGl6ZVN0eWxlUGlwZSxcclxuICAgIEhpZ2hsaWdodFNlYXJjaFBpcGUsXHJcbiAgICBVcGxvYWRGaWxlWm9uZUNvbXBvbmVudCxcclxuICAgIERuZERpcmVjdGl2ZSxcclxuICAgIFNjcm9sbGFibGVEaXJlY3RpdmUsXHJcbiAgICBNb3VzZVdoZWVsRGlyZWN0aXZlLFxyXG4gICAgWm9vbURpcmVjdGl2ZSxcclxuICAgIFNlbGVjdENvbXBvbmVudCxcclxuICAgIERpc2FibGVkQ3Vyc29yRGlyZWN0aXZlLFxyXG4gICAgUm90YXRpb25EaXJlY3RpdmUsXHJcbiAgICBJbml0U3RhdGVDb21wb25lbnQsXHJcbiAgICBSZW5kZXJQcmludERpcmVjdGl2ZSxcclxuICAgIEVycm9yTW9kYWxDb21wb25lbnQsXHJcbiAgICBQYXNzd29yZFJlcXVpcmVkQ29tcG9uZW50LFxyXG4gICAgU2VhcmNoQ29tcG9uZW50LFxyXG4gICAgU2VhcmNoYWJsZURpcmVjdGl2ZSxcclxuICAgIFRhYmJlZFRvb2xiYXJzQ29tcG9uZW50LFxyXG4gICAgVGFiQ29tcG9uZW50LFxyXG4gICAgVGFic0NvbXBvbmVudCxcclxuICAgIENvbG9yUGlja2VyQ29tcG9uZW50LFxyXG4gICAgRm9ybWF0dGluZ0RpcmVjdGl2ZSxcclxuICAgIFN1Y2Nlc3NNb2RhbENvbXBvbmVudCxcclxuICAgIEVkaXRvckRpcmVjdGl2ZSxcclxuICAgIExvYWRpbmdNYXNrQ29tcG9uZW50LFxyXG4gICAgRHJvcERvd25Db21wb25lbnQsXHJcbiAgICBEcm9wRG93bkl0ZW1Db21wb25lbnQsXHJcbiAgICBEcm9wRG93bkl0ZW1zQ29tcG9uZW50LFxyXG4gICAgRHJvcERvd25Ub2dnbGVDb21wb25lbnQsXHJcbiAgICBMZWZ0U2lkZUJhckNvbXBvbmVudCxcclxuICAgIFRvb2x0aXBEaXJlY3RpdmUsXHJcbiAgICBIb3N0RHluYW1pY0RpcmVjdGl2ZSxcclxuICAgIFJlc2l6aW5nQ29tcG9uZW50LFxyXG4gICAgVG9wVGFiQ29tcG9uZW50LFxyXG4gICAgVGV4dE1lbnVDb21wb25lbnQsXHJcbiAgICBDb250ZXh0TWVudUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVG9wVG9vbGJhckNvbXBvbmVudCxcclxuICAgIFNpZGVQYW5lbENvbXBvbmVudCxcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIExvZ29Db21wb25lbnQsXHJcbiAgICBUb29sdGlwQ29tcG9uZW50LFxyXG4gICAgTW9kYWxDb21wb25lbnQsXHJcbiAgICBCcm93c2VGaWxlc01vZGFsQ29tcG9uZW50LFxyXG4gICAgRG9jdW1lbnRDb21wb25lbnQsXHJcbiAgICBFeGNlbERvY3VtZW50Q29tcG9uZW50LFxyXG4gICAgUGFnZUNvbXBvbmVudCxcclxuICAgIEV4Y2VsUGFnZUNvbXBvbmVudCxcclxuICAgIFNhbml0aXplUmVzb3VyY2VIdG1sUGlwZSxcclxuICAgIFNhbml0aXplU3R5bGVQaXBlLFxyXG4gICAgSGlnaGxpZ2h0U2VhcmNoUGlwZSxcclxuICAgIFNhbml0aXplSHRtbFBpcGUsXHJcbiAgICBVcGxvYWRGaWxlWm9uZUNvbXBvbmVudCxcclxuICAgIFNjcm9sbGFibGVEaXJlY3RpdmUsXHJcbiAgICBNb3VzZVdoZWVsRGlyZWN0aXZlLFxyXG4gICAgU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgUm90YXRpb25EaXJlY3RpdmUsXHJcbiAgICBJbml0U3RhdGVDb21wb25lbnQsXHJcbiAgICBSZW5kZXJQcmludERpcmVjdGl2ZSxcclxuICAgIEVycm9yTW9kYWxDb21wb25lbnQsXHJcbiAgICBQYXNzd29yZFJlcXVpcmVkQ29tcG9uZW50LFxyXG4gICAgU2VhcmNoQ29tcG9uZW50LFxyXG4gICAgU2VhcmNoYWJsZURpcmVjdGl2ZSxcclxuICAgIFRhYmJlZFRvb2xiYXJzQ29tcG9uZW50LFxyXG4gICAgVGFiQ29tcG9uZW50LFxyXG4gICAgVGFic0NvbXBvbmVudCxcclxuICAgIENvbG9yUGlja2VyQ29tcG9uZW50LFxyXG4gICAgRm9ybWF0dGluZ0RpcmVjdGl2ZSxcclxuICAgIFN1Y2Nlc3NNb2RhbENvbXBvbmVudCxcclxuICAgIExvYWRpbmdNYXNrQ29tcG9uZW50LFxyXG4gICAgRG5kRGlyZWN0aXZlLFxyXG4gICAgRHJvcERvd25Db21wb25lbnQsXHJcbiAgICBEcm9wRG93bkl0ZW1Db21wb25lbnQsXHJcbiAgICBEcm9wRG93bkl0ZW1zQ29tcG9uZW50LFxyXG4gICAgRHJvcERvd25Ub2dnbGVDb21wb25lbnQsXHJcbiAgICBab29tRGlyZWN0aXZlLFxyXG4gICAgRHJvcERvd25Ub2dnbGVDb21wb25lbnQsXHJcbiAgICBMZWZ0U2lkZUJhckNvbXBvbmVudCxcclxuICAgIFRvb2x0aXBEaXJlY3RpdmUsXHJcbiAgICBIb3N0RHluYW1pY0RpcmVjdGl2ZSxcclxuICAgIFJlc2l6aW5nQ29tcG9uZW50LFxyXG4gICAgVG9wVGFiQ29tcG9uZW50LFxyXG4gICAgVGV4dE1lbnVDb21wb25lbnQsXHJcbiAgICBDb250ZXh0TWVudUNvbXBvbmVudCxcclxuICAgIEVkaXRvckRpcmVjdGl2ZSxcclxuICAgIEZvcm1hdHRpbmdEaXJlY3RpdmUgIF0sXHJcbiAgcHJvdmlkZXJzOiBwcm92aWRlcnNcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1vbkNvbXBvbmVudHNNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgbGlicmFyeS5hZGQoZmFzLCBmYXIpO1xyXG4gIH1cclxufVxyXG4iXX0= \ 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 40768816d..fc7b0cf28 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 @@ -1,4 +1,4 @@ -import { Component, EventEmitter, Input, Output, Injectable, ElementRef, ɵɵdefineInjectable, ɵɵinject, Pipe, Directive, HostBinding, HostListener, ViewChild, ViewEncapsulation, Inject, forwardRef, ComponentFactoryResolver, ApplicationRef, ViewContainerRef, Renderer2, NgModule } from '@angular/core'; +import { Component, EventEmitter, Input, Output, Injectable, ElementRef, ɵɵdefineInjectable, ɵɵinject, Renderer2, ViewChildren, Pipe, Directive, HostBinding, HostListener, 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,7 +23,7 @@ class TopToolbarComponent { TopToolbarComponent.decorators = [ { type: Component, args: [{ selector: 'gd-top-toolbar', - template: "
\n
\n \n
\n
\n", + template: "
\r\n
\r\n \r\n
\r\n
\r\n", styles: [".top-toolbar{width:100%;height:60px;z-index:999;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.tools{width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}@media (max-width:1037px){.top-toolbar{height:60px}.tools{height:100%;overflow-x:auto;overflow-scrolling:touch;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.tools::-webkit-scrollbar{width:0;height:0;background-color:#3e4e5a}}"] }] } ]; @@ -66,7 +66,7 @@ class SidePanelComponent { SidePanelComponent.decorators = [ { type: Component, args: [{ selector: 'gd-side-panel', - template: "
\n
\n \n
{{title}}
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n", + template: "
\r\n
\r\n \r\n
{{title}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n", styles: [".gd-side-panel-wrapper{margin-right:0;width:334px;z-index:999;background-color:#fff;-webkit-transition:margin-right .2s;transition:margin-right .2s;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;height:100vh}.gd-side-panel-wrapper .gd-side-panel-header{height:60px;background-color:#222e35;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:nowrap}.gd-side-panel-wrapper .gd-side-panel-header .icon{font-size:24px;color:#959da5;margin:18px;line-height:24px}.gd-side-panel-wrapper .gd-side-panel-header .title{font-size:13px;font-weight:700;color:#edf0f2;opacity:.57;margin-top:20px;width:100%}.gd-side-panel-wrapper .gd-side-panel-header .close,.gd-side-panel-wrapper .gd-side-panel-header .save{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.gd-side-panel-wrapper .gd-side-panel-header ::ng-deep gd-button .text{padding:0}.gd-side-panel-wrapper .gd-side-panel-body{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:visible;overflow-y:auto;overflow-x:hidden;height:100%}@media (max-width:1037px){.gd-side-panel-wrapper{width:100%;position:absolute;left:0;right:0;top:0;bottom:0}.gd-side-panel-wrapper.only-title{height:60px!important}}"] }] } ]; @@ -257,7 +257,7 @@ class ButtonComponent { ButtonComponent.decorators = [ { type: Component, args: [{ selector: 'gd-button', - template: "
\n \n \n
\n \n
\n
\n", + template: "
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n", styles: [".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"] }] } ]; @@ -325,7 +325,7 @@ class LogoComponent { LogoComponent.decorators = [ { type: Component, args: [{ selector: 'gd-logo', - template: "
\n \n \n
\n\n", + template: "
\r\n \r\n \r\n
\r\n\r\n", styles: [".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"] }] } ]; @@ -376,7 +376,7 @@ class TooltipComponent { TooltipComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tooltip', - template: "\n", + template: "\r\n", styles: [".tooltip{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:#000;color:#fff;text-align:center;border-radius:0;padding:5px;z-index:1;font-size:10px;height:11px;line-height:11px;-ms-grid-row-align:center;align-self:center;margin:8px!important}.first-element{margin-left:10px!important}.last-element{margin-left:-10px!important}.tooltip.hidden{visibility:hidden}.tooltip.shown{visibility:visible}.shown:after{content:\" \";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#000}"] }] } ]; @@ -801,7 +801,7 @@ class ModalComponent { ModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-modal', - template: "
\n
\n
\n
\n\n
\n
×
\n

{{title}}

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

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n", styles: ["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"] }] } ]; @@ -888,15 +888,19 @@ class SaveFile extends FileCredentials { * @param {?} guid * @param {?} password * @param {?} content + * @param {?} pageNumber */ - constructor(guid, password, content) { + constructor(guid, password, content, pageNumber) { super(guid, password); this.content = content; + this.pageNumber = pageNumber; } } if (false) { /** @type {?} */ SaveFile.prototype.content; + /** @type {?} */ + SaveFile.prototype.pageNumber; } class FileDescription { constructor() { @@ -1351,7 +1355,7 @@ class BrowseFilesModalComponent { BrowseFilesModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-browse-files-modal', - template: "\n
\n
\n \n Drop file here to upload\n
\n
\n
\n \n
\n
\n \n \n \n Upload file\n \n \n \n \n \n
{{item.name}}
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
FILE
\n
SIZE
\n
\n
\n
\n
\n
\n
\n \n
\n
..
\n
\n
\n
\n \n
\n
{{file?.name}}
\n
{{getFormatName(file)}}
\n
\n
\n
\n {{getSize(file?.size)}}\n
\n
\n
\n
\n
\n \n  Loading... Please wait.\n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n", styles: [".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"] }] } ]; @@ -1778,7 +1782,7 @@ class DocumentComponent { DocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-document', - template: "
Please wait...
\n
\n
\n
\n \n
\n
\n \n
\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n", styles: [":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; @@ -1867,6 +1871,360 @@ if (false) { DocumentComponent.prototype._navigateService; } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class ExcelPageService { + constructor() { + } + /** + * @param {?} data + * @return {?} + */ + getUpdatedPage(data) { + /** @type {?} */ + const doc = new DOMParser().parseFromString(data, "text/html"); + /** @type {?} */ + const table = doc.querySelector('table'); + /** @type {?} */ + let numCellsInFirstRow = 0; + /** @type {?} */ + const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td'); + cellsFromFirstRow.forEach((/** + * @param {?} elm + * @return {?} + */ + elm => { + numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1; + })); + /** @type {?} */ + const newTable = this.createHeader(numCellsInFirstRow, table); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + const resultData = new XMLSerializer().serializeToString(doc) + // work-around for FF which is adds a0 namespace during serialization + ; + // work-around for FF which is adds a0 namespace during serialization + return resultData.replace(/a0:/g, "").replace(/:a0/g, ""); + } + /** + * @param {?} data + * @return {?} + */ + getPageWithoutHeader(data) { + /** @type {?} */ + const doc = new DOMParser().parseFromString(data, "text/html"); + doc.querySelector('colgroup').remove(); + /** @type {?} */ + const newTable = doc.querySelector('table'); + newTable.deleteRow(0); + newTable.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + row => { + row.deleteCell(0); + })); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + const resultData = new XMLSerializer().serializeToString(doc); + return resultData; + } + /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + createHeader(numCols, table) { + /** @type {?} */ + const header = document.createElement('thead'); + header.append(document.createElement('tr')); + for (let i = 0; i < numCols; ++i) { + /** @type {?} */ + const th = document.createElement('th'); + th.innerText = this.colName(i); + th.setAttribute("contenteditable", "false"); + header.querySelector("tr").append(th); + } + /** @type {?} */ + const colgroup = table.querySelector('colgroup'); + /** @type {?} */ + const col = document.createElement('col'); + col.width = '80px'; + colgroup.prepend(col); + table.prepend(header); + /** @type {?} */ + let cnt = 0; + table.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + row => { + /** @type {?} */ + const div = document.createElement('div'); + if (cnt !== 0) { + /** @type {?} */ + const td = document.createElement('td'); + td.className = "excel"; + td.append(div); + div.innerText = cnt.toString(); + div.setAttribute("contenteditable", "false"); + row.prepend(td); + } + else { + /** @type {?} */ + const th = document.createElement('th'); + th.append(div); + div.setAttribute("contenteditable", "false"); + row.prepend(th); + } + cnt++; + })); + return table; + } + /** + * @param {?} n + * @return {?} + */ + colName(n) { + /** @type {?} */ + const ordA = 'a'.charCodeAt(0); + /** @type {?} */ + const ordZ = 'z'.charCodeAt(0); + /** @type {?} */ + const len = ordZ - ordA + 1; + /** @type {?} */ + let s = ""; + while (n >= 0) { + s = String.fromCharCode(n % len + ordA) + s; + n = Math.floor(n / len) - 1; + } + return s; + } +} +ExcelPageService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root' + },] } +]; +/** @nocollapse */ +ExcelPageService.ctorParameters = () => []; +/** @nocollapse */ ExcelPageService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ExcelPageService_Factory() { return new ExcelPageService(); }, token: ExcelPageService, providedIn: "root" }); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class ExcelPageComponent { + /** + * @param {?} _excelPageService + */ + constructor(_excelPageService) { + this._excelPageService = _excelPageService; + } + /** + * @return {?} + */ + ngOnInit() { + /** @type {?} */ + const isIE = /*@cc_on!@*/ false || !!/(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent); + if (isIE && this.number === 0) { + this.editable = false; + } + } + /** + * @param {?} changes + * @return {?} + */ + ngOnChanges(changes) { + if (this.isHtml) { + // TODO: this is temporary needed to remove unneeded spaces and BOM symbol + // which leads to undesired spaces on the top of the docs pages + this.data = this.data + ? this.data.replace(/>\s+<') + .replace(/\uFEFF/g, "") + .replace(/href="\/viewer/g, 'href="http://localhost:8080/viewer') + .replace(/src="\/viewer/g, 'src="http://localhost:8080/viewer') + .replace(/data="\/viewer/g, 'data="http://localhost:8080/viewer') + : null; + } + else { + this.imgData = 'data:image/png;base64,' + this.data; + } + this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data; + } +} +ExcelPageComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-page', + template: "
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n", + styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}::ng-deep th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}::ng-deep td{vertical-align:middle!important}::ng-deep .page-grid-lines td{border:1px solid #e7e7e7!important}::ng-deep .page td:nth-child(1){border:1px solid #e7e7e7!important}::ng-deep tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}::ng-deep tr td.excel:first-child div{width:80px}::ng-deep tr th.excel:first-child{background-color:#f4f4f4;width:1%}::ng-deep tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + }] } +]; +/** @nocollapse */ +ExcelPageComponent.ctorParameters = () => [ + { type: ExcelPageService } +]; +ExcelPageComponent.propDecorators = { + angle: [{ type: Input }], + width: [{ type: Input }], + height: [{ type: Input }], + number: [{ type: Input }], + data: [{ type: Input }], + isHtml: [{ type: Input }], + editable: [{ type: Input }] +}; +if (false) { + /** @type {?} */ + ExcelPageComponent.prototype.angle; + /** @type {?} */ + ExcelPageComponent.prototype.width; + /** @type {?} */ + ExcelPageComponent.prototype.height; + /** @type {?} */ + ExcelPageComponent.prototype.number; + /** @type {?} */ + ExcelPageComponent.prototype.data; + /** @type {?} */ + ExcelPageComponent.prototype.isHtml; + /** @type {?} */ + ExcelPageComponent.prototype.editable; + /** @type {?} */ + ExcelPageComponent.prototype.imgData; + /** + * @type {?} + * @private + */ + ExcelPageComponent.prototype._excelPageService; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +class ExcelDocumentComponent extends DocumentComponent { + /** + * @param {?} _elementRef + * @param {?} zoomService + * @param {?} windowService + * @param {?} navigateService + * @param {?} renderer + */ + constructor(_elementRef, zoomService, windowService, navigateService, renderer) { + super(_elementRef, zoomService, windowService, navigateService); + this.renderer = renderer; + this.panzoom = null; + this.selectedSheet = new EventEmitter(); + this.navigateService = navigateService; + } + /** + * @return {?} + */ + ngOnInit() { + this.currentPageNo = 1; + } + /** + * @return {?} + */ + ngAfterViewInit() { + this.refreshExcelDocHeight(); + this.pages.changes.subscribe((/** + * @return {?} + */ + () => { + this.refreshExcelDocHeight(); + })); + this.navigateService.navigate.subscribe((/** + * @param {?} value + * @return {?} + */ + value => { + if (value) { + this.selectSheet(value); + } + })); + /** @type {?} */ + const scrollbarWidth = this.getScrollBarWidth(); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px'); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px'); + if (scrollbarWidth === 0) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px'); + } + } + /** + * @return {?} + */ + getScrollBarWidth() { + /** @type {?} */ + const documentBox = (/** @type {?} */ (document.querySelector('.gd-document'))); + /** @type {?} */ + const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth; + return scrollbarWidth; + } + /** + * @return {?} + */ + refreshExcelDocHeight() { + // For current iteration we'll change actual height of .document + this.doc = this._elementRef.nativeElement.children.item(0); + this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + // magic number 37 is the height of the bottom-bar with navigation between pages + this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; + } + /** + * @param {?} number + * @return {?} + */ + selectSheet(number) { + this.currentPageNo = number; + this.selectedSheet.emit(number); + } + /** + * @param {?} page + * @return {?} + */ + getSheetName(page) { + return page.sheetName ? page.sheetName : "Sheet " + page.number; + } +} +ExcelDocumentComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-document', + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom.auto-height{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap;height:auto!important}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + }] } +]; +/** @nocollapse */ +ExcelDocumentComponent.ctorParameters = () => [ + { type: ElementRef }, + { type: ZoomService }, + { type: WindowService }, + { type: NavigateService }, + { type: Renderer2 } +]; +ExcelDocumentComponent.propDecorators = { + pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }], + selectedSheet: [{ type: Output }] +}; +if (false) { + /** @type {?} */ + ExcelDocumentComponent.prototype.pages; + /** @type {?} */ + ExcelDocumentComponent.prototype.currentPageNo; + /** @type {?} */ + ExcelDocumentComponent.prototype.panzoom; + /** @type {?} */ + ExcelDocumentComponent.prototype.navigateService; + /** @type {?} */ + ExcelDocumentComponent.prototype.selectedSheet; + /** + * @type {?} + * @private + */ + ExcelDocumentComponent.prototype.renderer; +} + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -1908,7 +2266,7 @@ class PageComponent { PageComponent.decorators = [ { type: Component, args: [{ selector: 'gd-page', - template: "
\n
\n \"\"\n\n
\n \n  Loading... Please wait.\n
\n
\n", + template: "
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n", styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"] }] } ]; @@ -2096,7 +2454,7 @@ class UploadFileZoneComponent { UploadFileZoneComponent.decorators = [ { type: Component, args: [{ selector: 'gd-upload-file-zone', - template: "
\n
\n \n
\n

Drag & Drop your files here

\n

OR

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

Drag & Drop your files here

\r\n

OR

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

{{title}}

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

{{title}}

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n", styles: ["@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);:host *{font-family:'Open Sans',Arial,Helvetica,sans-serif}.gd-modal{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0;background-color:rgba(0,0,0,.5)}.gd-modal-dialog{box-shadow:#0005 0 0 10px;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1051}.gd-modal-dialog ::ng-deep .button{-webkit-box-orient:unset!important;-webkit-box-direction:unset!important;flex-direction:unset!important}.gd-modal-content{background-color:#fff;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.gd-modal-header{height:60px;padding:0 12px 0 24px;background-color:#3e4e5a}.gd-modal-close{position:absolute;right:12px;top:12px;cursor:pointer;color:#fff;width:37px;height:37px;text-align:center}.gd-modal-close span{font-size:18px;font-weight:900;height:19px;width:10px;line-height:36px}.gd-modal-title{font-size:16px;font-weight:400;padding-top:17px;padding-bottom:22px;margin:0;color:#fff}.gd-modal-body{background-color:#fff;overflow:hidden;overflow-y:auto;height:calc(100% - 75px)}.gd-modal-footer{height:auto}.gd-modal-footer>.btn{float:right;margin:20px 15px;padding:10px 20px;cursor:pointer;font-size:12px}@media (max-width:1037px){.gd-modal-dialog{width:100%;height:100%}.gd-modal-body{height:100%}}"] }] } ]; @@ -1029,9 +1029,10 @@ if (false) { } var SaveFile = /** @class */ (function (_super) { __extends(SaveFile, _super); - function SaveFile(guid, password, content) { + function SaveFile(guid, password, content, pageNumber) { var _this = _super.call(this, guid, password) || this; _this.content = content; + _this.pageNumber = pageNumber; return _this; } return SaveFile; @@ -1039,6 +1040,8 @@ var SaveFile = /** @class */ (function (_super) { if (false) { /** @type {?} */ SaveFile.prototype.content; + /** @type {?} */ + SaveFile.prototype.pageNumber; } var FileDescription = /** @class */ (function () { function FileDescription() { @@ -1576,7 +1579,7 @@ var BrowseFilesModalComponent = /** @class */ (function () { BrowseFilesModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-browse-files-modal', - template: "\n
\n
\n \n Drop file here to upload\n
\n
\n
\n \n
\n
\n \n \n \n Upload file\n \n \n \n \n \n
{{item.name}}
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
FILE
\n
SIZE
\n
\n
\n
\n
\n
\n
\n \n
\n
..
\n
\n
\n
\n \n
\n
{{file?.name}}
\n
{{getFormatName(file)}}
\n
\n
\n
\n {{getSize(file?.size)}}\n
\n
\n
\n
\n
\n \n  Loading... Please wait.\n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n Drop file here to upload\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upload file\r\n \r\n \r\n \r\n \r\n \r\n
{{item.name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
FILE
\r\n
SIZE
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
..
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{file?.name}}
\r\n
{{getFormatName(file)}}
\r\n
\r\n
\r\n
\r\n {{getSize(file?.size)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n
\r\n", styles: [".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"] }] } ]; @@ -2096,7 +2099,7 @@ var DocumentComponent = /** @class */ (function () { DocumentComponent.decorators = [ { type: Component, args: [{ selector: 'gd-document', - template: "
Please wait...
\n
\n
\n
\n \n
\n
\n \n
\n", + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n", styles: [":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] }] } ]; @@ -2187,6 +2190,400 @@ if (false) { DocumentComponent.prototype._navigateService; } +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ExcelPageService = /** @class */ (function () { + function ExcelPageService() { + } + /** + * @param {?} data + * @return {?} + */ + ExcelPageService.prototype.getUpdatedPage = /** + * @param {?} data + * @return {?} + */ + function (data) { + /** @type {?} */ + var doc = new DOMParser().parseFromString(data, "text/html"); + /** @type {?} */ + var table = doc.querySelector('table'); + /** @type {?} */ + var numCellsInFirstRow = 0; + /** @type {?} */ + var cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td'); + cellsFromFirstRow.forEach((/** + * @param {?} elm + * @return {?} + */ + function (elm) { + numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1; + })); + /** @type {?} */ + var newTable = this.createHeader(numCellsInFirstRow, table); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + var resultData = new XMLSerializer().serializeToString(doc) + // work-around for FF which is adds a0 namespace during serialization + ; + // work-around for FF which is adds a0 namespace during serialization + return resultData.replace(/a0:/g, "").replace(/:a0/g, ""); + }; + /** + * @param {?} data + * @return {?} + */ + ExcelPageService.prototype.getPageWithoutHeader = /** + * @param {?} data + * @return {?} + */ + function (data) { + /** @type {?} */ + var doc = new DOMParser().parseFromString(data, "text/html"); + doc.querySelector('colgroup').remove(); + /** @type {?} */ + var newTable = doc.querySelector('table'); + newTable.deleteRow(0); + newTable.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + function (row) { + row.deleteCell(0); + })); + doc.querySelector('table').replaceWith(newTable); + /** @type {?} */ + var resultData = new XMLSerializer().serializeToString(doc); + return resultData; + }; + /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + ExcelPageService.prototype.createHeader = /** + * @param {?} numCols + * @param {?} table + * @return {?} + */ + function (numCols, table) { + /** @type {?} */ + var header = document.createElement('thead'); + header.append(document.createElement('tr')); + for (var i = 0; i < numCols; ++i) { + /** @type {?} */ + var th = document.createElement('th'); + th.innerText = this.colName(i); + th.setAttribute("contenteditable", "false"); + header.querySelector("tr").append(th); + } + /** @type {?} */ + var colgroup = table.querySelector('colgroup'); + /** @type {?} */ + var col = document.createElement('col'); + col.width = '80px'; + colgroup.prepend(col); + table.prepend(header); + /** @type {?} */ + var cnt = 0; + table.querySelectorAll('tr').forEach((/** + * @param {?} row + * @return {?} + */ + function (row) { + /** @type {?} */ + var div = document.createElement('div'); + if (cnt !== 0) { + /** @type {?} */ + var td = document.createElement('td'); + td.className = "excel"; + td.append(div); + div.innerText = cnt.toString(); + div.setAttribute("contenteditable", "false"); + row.prepend(td); + } + else { + /** @type {?} */ + var th = document.createElement('th'); + th.append(div); + div.setAttribute("contenteditable", "false"); + row.prepend(th); + } + cnt++; + })); + return table; + }; + /** + * @param {?} n + * @return {?} + */ + ExcelPageService.prototype.colName = /** + * @param {?} n + * @return {?} + */ + function (n) { + /** @type {?} */ + var ordA = 'a'.charCodeAt(0); + /** @type {?} */ + var ordZ = 'z'.charCodeAt(0); + /** @type {?} */ + var len = ordZ - ordA + 1; + /** @type {?} */ + var s = ""; + while (n >= 0) { + s = String.fromCharCode(n % len + ordA) + s; + n = Math.floor(n / len) - 1; + } + return s; + }; + ExcelPageService.decorators = [ + { type: Injectable, args: [{ + providedIn: 'root' + },] } + ]; + /** @nocollapse */ + ExcelPageService.ctorParameters = function () { return []; }; + /** @nocollapse */ ExcelPageService.ngInjectableDef = ɵɵdefineInjectable({ factory: function ExcelPageService_Factory() { return new ExcelPageService(); }, token: ExcelPageService, providedIn: "root" }); + return ExcelPageService; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ExcelPageComponent = /** @class */ (function () { + function ExcelPageComponent(_excelPageService) { + this._excelPageService = _excelPageService; + } + /** + * @return {?} + */ + ExcelPageComponent.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 {?} + */ + ExcelPageComponent.prototype.ngOnChanges = /** + * @param {?} changes + * @return {?} + */ + function (changes) { + if (this.isHtml) { + // TODO: this is temporary needed to remove unneeded spaces and BOM symbol + // which leads to undesired spaces on the top of the docs pages + this.data = this.data + ? this.data.replace(/>\s+<') + .replace(/\uFEFF/g, "") + .replace(/href="\/viewer/g, 'href="http://localhost:8080/viewer') + .replace(/src="\/viewer/g, 'src="http://localhost:8080/viewer') + .replace(/data="\/viewer/g, 'data="http://localhost:8080/viewer') + : null; + } + else { + this.imgData = 'data:image/png;base64,' + this.data; + } + this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data; + }; + ExcelPageComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-page', + template: "
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n", + styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}::ng-deep th{color:#959da5;background-color:#f4f4f4;font-weight:unset;border:1px solid #e7e7e7!important;text-transform:uppercase;font-size:14px;overflow:hidden}::ng-deep td{vertical-align:middle!important}::ng-deep .page-grid-lines td{border:1px solid #e7e7e7!important}::ng-deep .page td:nth-child(1){border:1px solid #e7e7e7!important}::ng-deep tr td.excel:first-child{color:#959da5;background-color:#f4f4f4;font-weight:unset;width:1%;text-align:center}::ng-deep tr td.excel:first-child div{width:80px}::ng-deep tr th.excel:first-child{background-color:#f4f4f4;width:1%}::ng-deep tr th.excel:first-child div{width:80px}.gd-page-image{height:100%!important;width:100%!important}"] + }] } + ]; + /** @nocollapse */ + ExcelPageComponent.ctorParameters = function () { return [ + { type: ExcelPageService } + ]; }; + ExcelPageComponent.propDecorators = { + angle: [{ type: Input }], + width: [{ type: Input }], + height: [{ type: Input }], + number: [{ type: Input }], + data: [{ type: Input }], + isHtml: [{ type: Input }], + editable: [{ type: Input }] + }; + return ExcelPageComponent; +}()); +if (false) { + /** @type {?} */ + ExcelPageComponent.prototype.angle; + /** @type {?} */ + ExcelPageComponent.prototype.width; + /** @type {?} */ + ExcelPageComponent.prototype.height; + /** @type {?} */ + ExcelPageComponent.prototype.number; + /** @type {?} */ + ExcelPageComponent.prototype.data; + /** @type {?} */ + ExcelPageComponent.prototype.isHtml; + /** @type {?} */ + ExcelPageComponent.prototype.editable; + /** @type {?} */ + ExcelPageComponent.prototype.imgData; + /** + * @type {?} + * @private + */ + ExcelPageComponent.prototype._excelPageService; +} + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + */ +var ExcelDocumentComponent = /** @class */ (function (_super) { + __extends(ExcelDocumentComponent, _super); + function ExcelDocumentComponent(_elementRef, zoomService, windowService, navigateService, renderer) { + var _this = _super.call(this, _elementRef, zoomService, windowService, navigateService) || this; + _this.renderer = renderer; + _this.panzoom = null; + _this.selectedSheet = new EventEmitter(); + _this.navigateService = navigateService; + return _this; + } + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngOnInit = /** + * @return {?} + */ + function () { + this.currentPageNo = 1; + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.ngAfterViewInit = /** + * @return {?} + */ + function () { + var _this = this; + this.refreshExcelDocHeight(); + this.pages.changes.subscribe((/** + * @return {?} + */ + function () { + _this.refreshExcelDocHeight(); + })); + this.navigateService.navigate.subscribe((/** + * @param {?} value + * @return {?} + */ + function (value) { + if (value) { + _this.selectSheet(value); + } + })); + /** @type {?} */ + var scrollbarWidth = this.getScrollBarWidth(); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px'); + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px'); + if (scrollbarWidth === 0) { + this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px'); + } + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.getScrollBarWidth = /** + * @return {?} + */ + function () { + /** @type {?} */ + var documentBox = (/** @type {?} */ (document.querySelector('.gd-document'))); + /** @type {?} */ + var scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth; + return scrollbarWidth; + }; + /** + * @return {?} + */ + ExcelDocumentComponent.prototype.refreshExcelDocHeight = /** + * @return {?} + */ + function () { + // For current iteration we'll change actual height of .document + this.doc = this._elementRef.nativeElement.children.item(0); + this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0); + // magic number 37 is the height of the bottom-bar with navigation between pages + this.doc.style.height = this.panzoom.scrollHeight + 37 + "px"; + }; + /** + * @param {?} number + * @return {?} + */ + ExcelDocumentComponent.prototype.selectSheet = /** + * @param {?} number + * @return {?} + */ + function (number) { + this.currentPageNo = number; + this.selectedSheet.emit(number); + }; + /** + * @param {?} page + * @return {?} + */ + ExcelDocumentComponent.prototype.getSheetName = /** + * @param {?} page + * @return {?} + */ + function (page) { + return page.sheetName ? page.sheetName : "Sheet " + page.number; + }; + ExcelDocumentComponent.decorators = [ + { type: Component, args: [{ + selector: 'gd-excel-document', + template: "
Please wait...
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{getSheetName(page)}}\r\n
\r\n
\r\n
\r\n", + styles: [":host{overflow:scroll;width:100%;background-color:#e7e7e7}.document{width:100%;-webkit-transition:.4s;transition:.4s;padding:0;margin:0;position:relative}.sheets{background-color:#fff;display:-webkit-box;display:flex;border-top:1px solid #e7e7e7;position:fixed;width:100%}.sheets ::ng-deep gd-button.active .text{background-color:#272727;border-radius:10px;color:#eee}.sheets ::ng-deep gd-button .text{padding:1px 12px;color:#000}.sheets ::ng-deep gd-button fa-icon{display:none}.sheets-wrapper{margin-left:29px;display:-webkit-box;display:flex}.page{position:relative;display:inline-block;-webkit-transition:.3s;transition:.3s}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom.auto-height{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;display:-webkit-box;display:flex;flex-wrap:wrap;height:auto!important}.gd-zoomed{margin:10px 98px}.highlights{position:absolute;top:0;left:0;bottom:0;right:0}.page-grid-lines{background-color:#fff}@media (max-width:1037px){.document{overflow-x:auto!important}.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"] + }] } + ]; + /** @nocollapse */ + ExcelDocumentComponent.ctorParameters = function () { return [ + { type: ElementRef }, + { type: ZoomService }, + { type: WindowService }, + { type: NavigateService }, + { type: Renderer2 } + ]; }; + ExcelDocumentComponent.propDecorators = { + pages: [{ type: ViewChildren, args: [ExcelPageComponent,] }], + selectedSheet: [{ type: Output }] + }; + return ExcelDocumentComponent; +}(DocumentComponent)); +if (false) { + /** @type {?} */ + ExcelDocumentComponent.prototype.pages; + /** @type {?} */ + ExcelDocumentComponent.prototype.currentPageNo; + /** @type {?} */ + ExcelDocumentComponent.prototype.panzoom; + /** @type {?} */ + ExcelDocumentComponent.prototype.navigateService; + /** @type {?} */ + ExcelDocumentComponent.prototype.selectedSheet; + /** + * @type {?} + * @private + */ + ExcelDocumentComponent.prototype.renderer; +} + /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc @@ -2234,7 +2631,7 @@ var PageComponent = /** @class */ (function () { PageComponent.decorators = [ { type: Component, args: [{ selector: 'gd-page', - template: "
\n
\n \"\"\n\n
\n \n  Loading... Please wait.\n
\n
\n", + template: "
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n  Loading... Please wait.\r\n
\r\n
\r\n", styles: [".gd-page-spinner{margin-top:150px;text-align:center}.gd-wrapper{width:inherit;height:inherit}.gd-wrapper div{width:100%}::ng-deep .gd-highlight{background-color:#ff0}::ng-deep .gd-highlight-select{background-color:#ff9b00}"] }] } ]; @@ -2448,7 +2845,7 @@ var UploadFileZoneComponent = /** @class */ (function () { UploadFileZoneComponent.decorators = [ { type: Component, args: [{ selector: 'gd-upload-file-zone', - template: "
\n
\n \n
\n

Drag & Drop your files here

\n

OR

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

Drag & Drop your files here

\r\n

OR

\r\n
\r\n \r\n
\r\n
\r\n", styles: [".gd-drag-n-drop-wrap{border:2px dashed #ccc;background-color:#f8f8f8;text-align:center;cursor:default;position:absolute;width:-webkit-fill-available;left:1px;display:-webkit-box;display:flex;align-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;opacity:.9;z-index:1}.gd-drag-n-drop-wrap h2{color:#959da5;margin:5px 0;font-size:15px;font-weight:300}.gd-drag-n-drop-wrap h4{color:#cacaca;font-weight:300;font-size:12px;margin:10px 0 15px}.gd-drag-n-drop-icon .fa-cloud-download-alt{color:#d1d1d1;font-size:110px}.gd-drag-n-drop-buttons i{margin-right:5px}.gd-drag-n-drop-buttons .btn{width:134px;height:35px;margin:0 10px;font-size:12px;font-weight:400}.gd-drag-n-drop-wrap.hover{background:#ddd;border-color:#aaa}"] }] } ]; @@ -3468,7 +3865,7 @@ var SelectComponent = /** @class */ (function () { SelectComponent.decorators = [ { type: Component, args: [{ selector: 'gd-select', - template: "
\n
\n {{showSelected?.name}}\n
\n \n \n
\n
\n
{{option.name}}
\n
\n
\n
\n
\n", + template: "
\r\n
\r\n {{showSelected?.name}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
{{option.name}}
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".select{min-width:50px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;color:#959da5}.selected-value{font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:70px}.selected-value.inactive{cursor:not-allowed;color:#ccc}.nav-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent;cursor:pointer}.nav-caret.inactive{cursor:not-allowed;color:#ccc}.dropdown-menu{position:absolute;top:49px;z-index:1000;float:left;min-width:96px;list-style:none;font-size:13px;text-align:left;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);background-clip:padding-box}.dropdown-menu .option{display:block;padding:7px 0 7px 7px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap;cursor:pointer;font-size:10px}.dropdown-menu .option:hover{background-color:#25c2d4;color:#fff!important}.dropdown-menu-separator{height:1px;overflow:hidden;background-color:#f4f4f4;padding:0!important}"] }] } ]; @@ -3728,7 +4125,7 @@ var InitStateComponent = /** @class */ (function () { InitStateComponent.decorators = [ { type: Component, args: [{ selector: 'gd-init-state', - template: "
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\n", + template: "
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{text}}\r\n
\r\n
\r\n", styles: [".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"] }] } ]; @@ -4089,7 +4486,7 @@ var ErrorModalComponent = /** @class */ (function () { ErrorModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-error-modal', - template: "\n
\n \n
\n
Something went wrong
\n
{{message ? message : 'Server is not available'}}
\n
\n
\n
\n", + template: "\r\n
\r\n \r\n
\r\n
Something went wrong
\r\n
{{message ? message : 'Server is not available'}}
\r\n
\r\n
\r\n
\r\n", styles: [".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"] }] } ]; @@ -4225,7 +4622,7 @@ var PasswordRequiredComponent = /** @class */ (function () { PasswordRequiredComponent.decorators = [ { type: Component, args: [{ selector: 'gd-password-required', - template: "\n
\n
\n \n \n {{message}}\n \n Open\n \n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n \r\n {{message}}\r\n \r\n Open\r\n \r\n
\r\n
\r\n
\r\n", styles: ["#gd-password-section{width:375px;height:164px}.gd-password-wrap{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:24px}.gd-password-wrap label{font-size:14px;color:#acacac;padding-bottom:12px}.gd-password-wrap input{height:30px;border:1px solid #25c2d4}.gd-password-wrap input.error{border-color:#e04e4e}.gd-password-wrap gd-button{align-self:flex-end}.gd-password-wrap ::ng-deep .button{height:37px;width:72px;padding:0;-webkit-box-pack:center;justify-content:center}.gd-password-wrap ::ng-deep .button ::ng-deep .text{font-size:10px!important}.gd-password-error{color:#e04e4e;padding:10px 0 12px;height:12px;line-height:12px;font-size:12px}@media (max-width:1037px){#gd-password-section{min-width:375px}}"] }] } ]; @@ -4547,7 +4944,7 @@ var SearchComponent = /** @class */ (function () { SearchComponent.decorators = [ { type: Component, args: [{ selector: 'gd-search', - template: "
\n \n
{{current}} of {{total}}
\n \n \n \n \n \n \n
\n", + template: "
\r\n \r\n
{{current}} of {{total}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".gd-nav-search-btn{margin:3px 0 4px}.gd-nav-search-cancel{color:#fff;font-size:14px;width:37px}.gd-search-count{color:#959da5;font-size:12px;position:absolute;right:148px;top:14px}.gd-nav-search-container{background-color:#3e4e5a;width:410px;position:fixed;left:50%;top:60px;z-index:2;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);display:-webkit-box;display:flex}.gd-search-input{float:left;height:30px;width:267px;font-size:14px;color:#6e6e6e;border:1px solid #25c2d4;margin:7px 0 7px 7px;box-sizing:border-box;padding:6px 0 5px 9px}input[type=text]::-ms-clear{display:none}@media (max-width:1037px){.gd-search-input{width:231px;height:30px;margin:7px 0 7px 5px}.gd-search-count{position:absolute;left:193px;top:15px}.gd-nav-search-container{width:100%}}"] }] } ]; @@ -4827,7 +5224,7 @@ var TabbedToolbarsComponent = /** @class */ (function () { TabbedToolbarsComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tabbed-toolbars', - template: "
\n \n \n
\n", + template: "
\r\n \r\n \r\n
\r\n", styles: [".top-panel{background:#3e4e5a;display:-webkit-box;display:flex;width:100%;height:90px}.top-panel ::ng-deep .logo{height:30px;font-size:16px}@media (max-width:1037px){.top-panel{height:60px}.top-panel ::ng-deep .logo{height:60px}}"] }] } ]; @@ -4951,7 +5348,7 @@ var TabComponent = /** @class */ (function () { TabComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tab', - template: "
\n
{{tabTitle}}
\n \n
\n
\n \n
\n", + template: "
\r\n
{{tabTitle}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n", styles: [".tab-content{height:60px;position:absolute;background-color:#fff;width:100%;left:0;line-height:60px;display:none;z-index:9}.tab-content ::ng-deep .toolbar-panel{height:60px}.tab-content.active{display:-webkit-box;display:flex}.gd-tab{text-align:center;font-size:11px;color:#e5e5e5;height:30px;line-height:30px;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gd-tab .icon{display:none;font-size:14px}.gd-tab .smp-tab-title{margin:auto 23px}.gd-tab.active{background-color:#fff;color:#3e4e5a;font-weight:700}@media (max-width:1037px){.gd-tab{height:60px;line-height:60px;width:60px}.gd-tab .title{display:none}.gd-tab .icon{display:block;font-size:22px}}"] }] } ]; @@ -4999,7 +5396,7 @@ var TabsComponent = /** @class */ (function () { TabsComponent.decorators = [ { type: Component, args: [{ selector: 'gd-tabs', - template: "
\n \n
\n", + template: "
\r\n \r\n
\r\n", styles: [".gd-tabs{display:-webkit-box;display:flex}"] }] } ]; @@ -5580,7 +5977,7 @@ var ColorPickerComponent = /** @class */ (function () { ColorPickerComponent.decorators = [ { type: Component, args: [{ selector: 'gd-color-picker', - template: "
\n
\n
\n
\n
\n", + template: "
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".bcPicker-picker{border:1px;border-radius:100%}.bcPicker-palette{width:250px;background-color:#fdfdfd;z-index:999;box-shadow:0 0 5px #efefef;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center}.bcPicker-palette>.bcPicker-color{width:18px;height:18px;margin:2px;cursor:pointer}"] }] } ]; @@ -6255,7 +6652,7 @@ var SuccessModalComponent = /** @class */ (function () { SuccessModalComponent.decorators = [ { type: Component, args: [{ selector: 'gd-success-modal', - template: "\n
\n
\n \n \n
\n
\n
\n
\n
\n", + template: "\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n", styles: [".check_mark{margin:47px auto}.sa-icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;padding:0;position:relative;box-sizing:content-box}#gd-modal-success{display:-webkit-box;display:flex;overflow:hidden;width:469px;height:183px}.sa-icon.sa-success{border-color:#4caf50;-webkit-transform:scale(1.18);transform:scale(1.18)}.sa-icon.sa-success::after,.sa-icon.sa-success::before{content:'';position:absolute;width:60px;height:120px;background:#fff}.sa-icon.sa-success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.sa-icon.sa-success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.5);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.sa-icon.sa-success.animate::after{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.animateSuccessTip{-webkit-animation:.75s animateSuccessTip;animation:.75s animateSuccessTip}.animateSuccessLong{-webkit-animation:.75s animateSuccessLong;animation:.75s animateSuccessLong}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.sa-icon.sa-success .sa-line{height:5px;background-color:#4caf50;display:block;border-radius:2px;position:absolute;z-index:2}.sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}100%,12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}}@media (max-width:1037px){#gd-modal-success{left:50%;top:50%;position:relative;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}}"] }] } ]; @@ -6549,7 +6946,7 @@ var LoadingMaskComponent = /** @class */ (function () { LoadingMaskComponent.decorators = [ { type: Component, args: [{ selector: 'gd-loading-mask', - template: "
\n
\n  Loading... Please wait.\n
\n
\n", + template: "
\r\n
\r\n  Loading... Please wait.\r\n
\r\n
\r\n", styles: [".loading-wrapper{background:rgba(0,0,0,.5);width:100%;height:100%;font-size:14px;color:#fff;position:fixed;top:0;left:0;z-index:99999}.loading-message{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}"] }] } ]; @@ -6898,7 +7295,7 @@ var LeftSideBarComponent = /** @class */ (function () { LeftSideBarComponent.decorators = [ { type: Component, args: [{ selector: 'gd-left-side-bar', - template: "
\n
\n
 Loading...\n
\n
\n \n
\n", + template: "
\r\n
\r\n
 Loading...\r\n
\r\n
\r\n \r\n
\r\n", styles: [".left-panel{border-radius:0;float:left}.gd-left-bar-fade{margin:auto;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:fixed;z-index:1000}@media (max-width:1037px){.gd-left-bar-fade{top:100px;right:0}.gd-left-bar-spinner{top:20%}}"] }] } ]; @@ -7330,7 +7727,7 @@ var ResizingComponent = /** @class */ (function () { ResizingComponent.decorators = [ { type: Component, args: [{ selector: 'gd-resizing', - template: "
\n\n
\n\n
\n\n
\n", + template: "
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n", styles: [".ui-resizable-handle{background-color:#679ffa;width:8px;height:8px;border-radius:100%;position:absolute;font-size:.1px;display:block}.se-resize{bottom:-5px;right:-5px;cursor:se-resize}.ne-resize{top:-5px;right:-5px;cursor:ne-resize}.sw-resize{bottom:-5px;left:-5px;cursor:sw-resize}.nw-resize{top:-5px;left:-5px;cursor:nw-resize}"] }] } ]; @@ -7487,7 +7884,7 @@ var TopTabComponent = /** @class */ (function () { TopTabComponent.decorators = [ { type: Component, args: [{ selector: 'gd-top-tab', - template: "
\n \n \n
\n", + template: "
\r\n \r\n \r\n
\r\n", styles: [".gd-tab{font-size:14px;color:#3e4e5a;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:36px;height:36px;text-align:center;position:relative;white-space:nowrap;padding:0!important;margin:0 10px}.gd-tab .gd-tab-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin:0!important}.gd-tab.active{background-color:#acacac;color:#fff!important;font-weight:700}.gd-tab.disabled{cursor:not-allowed;opacity:.4}.gd-tab ::ng-deep .tooltip{font-size:12px;margin:20px -57px}.gd-tab .title{margin:auto 23px}@media (max-width:1037px){.gd-tab{font-size:20px}}"] }] } ]; @@ -7731,7 +8128,7 @@ var TextMenuComponent = /** @class */ (function () { TextMenuComponent.decorators = [ { type: Component, args: [{ selector: 'gd-text-menu', - template: "
\n \n \n \n \n \n \n
\n
\n \n \n
\n", + template: "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n", styles: ["::ng-deep .active{background-color:#e7e7e7}.gd-text-menu{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.gd-text-menu .format-select{height:37px;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;max-width:80px;margin:0 3px}.gd-text-menu .first-component{margin-left:8px}.gd-text-menu ::ng-deep .dropdown-menu{top:40px!important;height:120px;overflow-y:auto}.gd-text-menu ::ng-deep .icon-button{margin:0!important}.bg-color-pic{border-radius:100%;border:1px solid #ccc;position:absolute;height:8px;width:8px;right:6px;bottom:6px}.palette{position:relative;top:40px;left:-55px;z-index:100}@media (max-width:1037px){.gd-text-menu{position:fixed;left:0;right:0;width:inherit;height:60px;-webkit-box-align:center;align-items:center;padding:0;margin:0;background-color:#fff;border-top:2px solid #707070;-webkit-transform-origin:top left;transform-origin:top left;z-index:1000}.gd-text-menu ::ng-deep .selected-value{white-space:normal!important;word-wrap:break-word}.gd-text-menu .icon{color:#fff;margin:0 9px}.gd-text-menu ::ng-deep .bcPicker-palette{left:-200px;top:-185px}.gd-text-menu .palette{top:unset;bottom:40px;left:unset;right:5px}.gd-text-menu ::ng-deep .dropdown-menu{bottom:40px;top:unset!important}.gd-text-menu ::ng-deep .first-component ::ng-deep .dropdown-menu{left:0}.gd-text-menu ::ng-deep .button{margin:3px!important;font-size:16px}}"] }] } ]; @@ -8036,7 +8433,7 @@ var ContextMenuComponent = /** @class */ (function () { ContextMenuComponent.decorators = [ { type: Component, args: [{ selector: 'gd-context-menu', - template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\n \n \n \n \n \n \n
\n", + template: "
10 ? 'gd-context-menu-top' : 'gd-context-menu-bottom'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".gd-context-menu-top{top:-44px}.gd-context-menu-bottom{bottom:-40px}.gd-context-menu{box-shadow:rgba(0,0,0,.52) 0 0 5px;background-color:#fff;position:absolute;left:0;right:0;margin:auto;cursor:default;width:max-content;width:-moz-max-content;width:-webkit-max-content;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;z-index:999}.gd-context-menu .arrows{cursor:move}.gd-context-menu ::ng-deep .active{background-color:#e7e7e7}.gd-context-menu ::ng-deep .icon-button{margin:0!important}@media (max-width:1037px){.gd-context-menu-top{top:-42px;-webkit-transform-origin:bottom center;transform-origin:bottom center}}"] }] } ]; @@ -8144,7 +8541,8 @@ var providers = [ConfigService, TabActivatorService, AddDynamicComponentService, HostingDynamicComponentService, - TopTabActivatorService]; + TopTabActivatorService, + ExcelPageService]; var CommonComponentsModule = /** @class */ (function () { function CommonComponentsModule() { library.add(fas, far); @@ -8161,7 +8559,9 @@ var CommonComponentsModule = /** @class */ (function () { ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe, @@ -8209,7 +8609,9 @@ var CommonComponentsModule = /** @class */ (function () { ModalComponent, BrowseFilesModalComponent, DocumentComponent, + ExcelDocumentComponent, PageComponent, + ExcelPageComponent, SanitizeResourceHtmlPipe, SanitizeStylePipe, HighlightSearchPipe, @@ -8245,7 +8647,9 @@ var CommonComponentsModule = /** @class */ (function () { ResizingComponent, TopTabComponent, TextMenuComponent, - ContextMenuComponent + ContextMenuComponent, + EditorDirective, + FormattingDirective ], providers: providers },] } @@ -8265,5 +8669,5 @@ var CommonComponentsModule = /** @class */ (function () { * @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, MouseWheelDirective, 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, ExcelDocumentComponent, ExcelPageComponent, ExcelPageService, ExceptionMessageService, FileCredentials, FileDescription, FileModel, FileService, FileUtil, Formatting, FormattingDirective, FormattingService, HighlightSearchPipe, HostDynamicDirective, HostingDynamicComponentService, HttpError, InitStateComponent, LeftSideBarComponent, LoadingMaskComponent, LoadingMaskInterceptorService, LoadingMaskService, LogoComponent, MenuType, ModalComponent, ModalService, MouseWheelDirective, 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 }; //# 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 e922bfd8e..4e5e4a9c8 100644 --- a/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js.map +++ b/dist/libs/common-components/fesm5/groupdocs.examples.angular-common-components.js.map @@ -1 +1 @@ -{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gd-top-toolbar',\n templateUrl: './top-toolbar.component.html',\n styleUrls: ['./top-toolbar.component.less']\n})\nexport class TopToolbarComponent {\n\n constructor() {\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gd-side-panel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.less']\n})\n\nexport class SidePanelComponent {\n @Input() title: string;\n @Input() icon: string;\n @Input() closable = true;\n @Input() saveable = true;\n @Output() hideSidePanel = new EventEmitter();\n @Output() saveInSidePanel = new EventEmitter();\n\n onlyTitle = false;\n\n constructor() {\n }\n\n closeSidePanel() {\n this.hideSidePanel.emit(true);\n }\n\n saveBySidePanel() {\n this.saveInSidePanel.emit(true);\n }\n\n toggleTitleMode(){\n if (this.closable && !this.saveable) {\n this.onlyTitle = !this.onlyTitle;\n }\n }\n}\n","import {fromEvent, Observable, Subject} from \"rxjs\";\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\n\nconst MOBILE_MAX_WIDTH = 425;\nconst TABLET_MAX_WIDTH = 1024;\n\nexport class WindowService {\n\n private resizeSubject: Subject = new Subject();\n private _resize$;\n private width: number;\n private height: number;\n\n constructor() {\n this.width = window.innerWidth;\n this.height = window.innerHeight;\n\n this._resize$ = fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n distinctUntilChanged(),\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\n tap(event => {\n this.resizeSubject.next(event.target);\n this.width = (event.target as Window).innerWidth;\n this.height = (event.target as Window).innerHeight;\n }),\n );\n this._resize$.subscribe();\n }\n\n get onResize(): Observable {\n return this.resizeSubject.asObservable();\n }\n\n isMobile() {\n return this.width <= MOBILE_MAX_WIDTH;\n }\n\n isTablet() {\n return this.width <= TABLET_MAX_WIDTH;\n }\n\n isDesktop() {\n return !this.isMobile() && !this.isTablet();\n }\n\n getWidth() {\n return this.width;\n }\n\n getHeight() {\n return this.height;\n }\n\n isEdge() {\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {WindowService} from \"../window.service\";\n\n@Component({\n selector: 'gd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.less']\n})\nexport class ButtonComponent {\n @Input() iconOnly = true;\n @Input() intent = 'default';\n @Input() disabled = false;\n @Input() icon: string;\n @Input() iconClass: string;\n @Input() tooltip: string;\n @Input() className: string;\n @Input() toggle = false;\n @Input() iconSize: string;\n @Input() iconRegular = false;\n @Input() elementPosition = 0;\n\n showToolTip = false;\n private isDesktop: boolean;\n\n constructor(windowService: WindowService) {\n this.isDesktop = windowService.isDesktop();\n windowService.onResize.subscribe((w) => {\n this.isDesktop = windowService.isDesktop();\n });\n }\n\n iconButtonClass() {\n return this.iconOnly ? 'icon-button' : '';\n }\n\n onHovering() {\n if (this.isDesktop && !this.disabled) {\n this.className += ' active';\n }\n }\n\n onUnhovering() {\n if (this.isDesktop && !this.disabled) {\n this.className = this.cleanAll(this.className, ' active');\n }\n }\n\n private cleanAll(str: string, val: string) {\n while (str && str.indexOf(val) !== -1) {\n str = str.replace(val, '');\n }\n return str;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-logo',\n templateUrl: './logo.component.html',\n styleUrls: ['./logo.component.less']\n})\nexport class LogoComponent implements OnInit {\n\n @Input() logo;\n @Input() icon;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.less']\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() text: string;\n @Input() position = 0;\n visibility = 'hidden';\n\n constructor() {\n }\n\n getClass() {\n if (this.position === 0) {\n return 'tooltip';\n }\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\n }\n\n @Input()\n set show(value: boolean) {\n this.visibility = value ? 'shown' : 'hidden';\n }\n\n ngOnInit() {\n }\n\n}\n","import {HttpHeaders} from \"@angular/common/http\";\nimport {Injectable} from \"@angular/core\";\n\nexport class Api {\n public static VIEWER_APP = '/viewer';\n public static SIGNATURE_APP = '/signature';\n public static ANNOTATION_APP = '/annotation';\n public static SEARCH_APP = '/search';\n public static EDITOR_APP = '/editor';\n public static COMPARISON_APP = '/comparison';\n public static CONVERSION_APP = '/conversion';\n public static METADATA_APP = '/metadata';\n public static DEFAULT_API_ENDPOINT = window.location.href;\n public static LOAD_FILE_TREE = '/loadFileTree';\n public static LOAD_CONFIG = '/loadConfig';\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\n public static SAVE_PROPERTY = '/saveProperty';\n public static REMOVE_PROPERTY = '/removeProperty';\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\n public static LOAD_PRINT = '/loadPrint';\n public static LOAD_PRINT_PDF = '/printPdf';\n public static LOAD_THUMBNAILS = '/loadThumbnails';\n public static LOAD_FORMATS = '/loadFormats';\n public static SAVE_FILE = '/saveFile';\n public static CREATE_FILE = '/createFile';\n public static COMPARE_FILES = '/compare';\n public static CONVERT_FILE = '/convert';\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\n public static GET_FILE_STATUS = '/getFileStatus';\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\n public static SAVE_TEXT = '/saveText';\n public static SAVE_IMAGE = '/saveImage';\n public static SAVE_STAMP = '/saveStamp';\n public static SIGN = '/sign';\n public static DOWNLOAD_SIGNED = '/downloadSigned';\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\n public static ANNOTATE = '/annotate';\n public static SEARCH = '/search';\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\n public static CLEAN_METADATA = '/clean';\n public static EXPORT_METADATA = '/export';\n\n public static httpOptionsJson = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n public static httpOptionsJsonResponseTypeBlob = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n }),\n responseType: 'blob' as 'blob'\n };\n}\n\n@Injectable()\nexport class ConfigService {\n\n private _apiEndpoint: string;\n\n constructor() {\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\n }\n\n set apiEndpoint(url: string) {\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\n }\n\n getConfigEndpoint(app) {\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\n }\n\n getViewerApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\n }\n\n getEditorApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\n }\n\n getComparisonApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\n }\n\n getConversionApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\n }\n\n getMetadataApiEndpoint() {\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\n }\n\n get apiEndpoint() {\n return this._apiEndpoint;\n }\n\n getSignatureApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\n }\n\n getAnnotationApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\n }\n\n getSearchApiEndpoint() {\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\n }\n}\n","export class CommonModals {\n static PasswordRequired = \"gd-password-required\";\n static ErrorMessage = \"gd-error-message\";\n static BrowseFiles = \"gd-browse-files\";\n static CreateDocument = \"gd-create-document\";\n static OperationSuccess = \"gd-success-modal\";\n static DrawHandSignature = \"gd-draw-hand-signature\";\n static DrawStampSignature = \"gd-draw-stamp-signature\";\n static InformationMessage = \"gd-information-message\";\n}\n\nexport class ModalService {\n private modals: any[] = [];\n\n add(modal: any) {\n this.modals.push(modal);\n }\n\n remove(id: string) {\n this.modals = this.modals.filter(x => x.id !== id);\n }\n\n open(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.open();\n }\n }\n\n close(id: string) {\n const modal: any = this.modals.filter(x => x.id === id)[0];\n if (modal) {\n modal.close();\n }\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ModalService} from \"../modal.service\";\n\n@Component({\n selector: 'gd-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.less']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() id: string;\n @Input() title: string;\n @Output() visible = new EventEmitter();\n @Output() cancel = new EventEmitter();\n visibility = false;\n private element: any;\n\n constructor(private modalService: ModalService, el: ElementRef) {\n this.element = el.nativeElement;\n }\n\n ngOnInit(): void {\n if (!this.id) {\n console.error('modal must have an id');\n return;\n }\n\n document.body.appendChild(this.element);\n\n this.modalService.add(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.remove(this.id);\n this.element.remove();\n }\n\n open(): void {\n this.visibility = true;\n this.visible.emit(true);\n }\n\n close(): void {\n event.preventDefault();\n event.stopPropagation();\n this.visibility = false;\n this.visible.emit(false);\n }\n\n onClose($event: MouseEvent) {\n $event.stopPropagation();\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\n this.close();\n }\n }\n\n cancelClose() {\n this.cancel.emit(false);\n this.close();\n }\n}\n","export class PageModel {\n data: string;\n angle: number;\n width: number;\n height: number;\n number: number;\n editable: boolean;\n}\n\nexport class RotatedPage {\n pageNumber: number;\n angle: number;\n}\n\nexport class FileCredentials {\n guid: string;\n password: string;\n\n constructor(guid: string, password: string) {\n this.guid = guid;\n this.password = password;\n }\n}\n\nexport class SaveFile extends FileCredentials {\n content: string;\n\n constructor(guid: string, password: string, content: string) {\n super(guid, password);\n this.content = content;\n }\n}\n\nexport class FileDescription {\n guid: string;\n pages: PageModel[];\n printAllowed = true;\n showGridLines: boolean;\n thumbnails: PageModel[];\n}\n\nexport class FileModel {\n guid: string;\n name: string;\n directory: boolean;\n size: number;\n isDirectory: boolean;\n}\n\nexport class HttpError {\n static BadRequest = 400;\n static Unauthorized = 401;\n static Forbidden = 403;\n static NotFound = 404;\n static TimeOut = 408;\n static Conflict = 409;\n static InternalServerError = 500;\n}\n\nexport class Utils {\n public static getMousePosition(event) {\n const mouse = {\n x: 0,\n y: 0\n };\n const wEvent: DragEvent = window.event;\n const ev = event || wEvent; //Moz || IE\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\n } else if (ev.clientX) { //IE\n mouse.x = ev.clientX + document.body.scrollLeft;\n mouse.y = ev.clientY + document.body.scrollTop;\n }\n return mouse;\n }\n\n public static toRgb(color: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\n if (result) {\n const r = parseInt(result[1], 16);\n const g = parseInt(result[2], 16);\n const b = parseInt(result[3], 16);\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\n }\n return color;\n }\n\n public static toHex(color: string) {\n // check if color is standard hex value\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\n // check if color is RGB value -> convert to hex\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\n pad = function (str) {\n if (str.length < 2) {\n for (let i = 0, len = 2 - str.length; i < len; i++) {\n str = '0' + str;\n }\n }\n return str;\n };\n if (c.length === 3) {\n const r = pad(c[0].toString(16)),\n g = pad(c[1].toString(16)),\n b = pad(c[2].toString(16));\n return '#' + r + g + b;\n }\n // else do nothing\n } else {\n return '';\n }\n }\n}\n\nexport class FileUtil {\n public static map = {\n 'folder': {'format': '', 'icon': 'folder'},\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\n };\n\n public static find(filename: string, isDirectory: boolean) {\n if (filename && !isDirectory) {\n const strings = filename.split('.');\n const name = strings.pop().toLowerCase();\n if (typeof FileUtil.map[name] === \"undefined\") {\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\n } else {\n return FileUtil.map[name];\n }\n } else {\n return FileUtil.map['folder'];\n }\n }\n}\n\nexport class FileService {\n\n constructor() {\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class UploadFilesService {\n private _uploadsChange: Observable;\n private _observer: Observer;\n\n constructor() {\n this._uploadsChange = new Observable(observer =>\n this._observer = observer);\n }\n\n get uploadsChange(): Observable {\n return this._uploadsChange;\n }\n\n changeFilesList(filesList: FileList) {\n this._observer.next(filesList);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FileModel, FileUtil} from \"../file.service\";\nimport {UploadFilesService} from \"../upload-files.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\nconst upload_disc = 'Disc';\n\nconst upload_url = 'URL';\n\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\n\n@Component({\n selector: 'gd-browse-files-modal',\n templateUrl: './browse-files-modal.component.html',\n styleUrls: ['./browse-files-modal.component.less']\n})\nexport class BrowseFilesModalComponent implements OnInit {\n uploads = uploads_choices;\n\n @Input() files;\n @Input() uploadConfig;\n @Output() selectedFileGuid = new EventEmitter();\n @Output() selectedDirectory = new EventEmitter();\n @Output() urlForUpload = new EventEmitter();\n @Output() closing = new EventEmitter();\n private selectedFile: FileModel;\n showUploadUrl = false;\n showUploadFile = false;\n\n constructor(private _uploadService: UploadFilesService) {\n }\n\n ngOnInit() {\n }\n\n getSize(size: number) {\n const mb = size / 1024 / 1024;\n if (mb > 1) {\n return (Math.round(mb * 100) / 100) + ' MB';\n } else {\n const kb = size / 1024;\n if (kb > 1) {\n return (Math.round(kb * 100) / 100) + ' KB';\n }\n }\n return size + ' Bytes';\n }\n\n getFormatName(file: FileModel) {\n return FileUtil.find(file.name, file.directory).format;\n }\n\n getFormatIcon(file: FileModel) {\n return FileUtil.find(file.name, file.directory).icon;\n }\n\n choose(file: FileModel) {\n this.selectedFile = file;\n if (file.directory || file.isDirectory) {\n this.selectedDirectory.emit(file.name);\n } else {\n this.selectedFileGuid.emit(file.guid);\n }\n }\n\n goUp() {\n if (this.selectedFile) {\n let guid = this.selectedFile.guid;\n if (guid.length > 0 && guid.indexOf('/') === -1) {\n guid = '';\n } else {\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\n }\n this.selectedDirectory.emit(guid);\n }\n }\n\n selectUpload($event: string) {\n if (upload_url === $event) {\n this.showUploadUrl = true;\n } else {\n this.showUploadUrl = false;\n $(\"#gd-upload-input\").trigger('click');\n }\n }\n\n refresh($event) {\n\n if ($event) {\n this.files = null;\n this.selectedDirectory.emit('');\n this.showUploadUrl = false;\n this.selectedFile = null;\n } else {\n this.closing.emit(true);\n }\n }\n\n showSpinner() {\n return !this.files;\n }\n\n uploadUrl(url: string) {\n if (url) {\n this.urlForUpload.emit(url);\n this.cleanUpload();\n }\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n }\n\n cleanUpload() {\n this.showUploadFile = false;\n this.showUploadUrl = false;\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class ZoomService {\n private _observer: Subject = new Subject();\n private readonly _zoomChange: Observable = this._observer.asObservable();\n private _zoom: number;\n\n constructor() {\n }\n\n get zoom(): number {\n return this._zoom;\n }\n\n get zoomChange(): Observable {\n return this._zoomChange;\n }\n\n changeZoom(zoom: number) {\n this._zoom = zoom;\n this._observer.next(zoom);\n }\n\n private createZoomOption(val: any, name: string, sep: boolean = false) {\n return {value: val, name: name, separator: sep}\n }\n\n zoomOptions(width, height) {\n return [this.createZoomOption(25, '25%'),\n this.createZoomOption(50, '50%'),\n this.createZoomOption(100,'100%'),\n this.createZoomOption(150, '150%'),\n this.createZoomOption(200, '200%'),\n this.createZoomOption(300, '300%'),\n this.createZoomOption(0, '', true),\n this.createZoomOption(width, 'Fit Width'),\n this.createZoomOption(height, 'Fit Height')];\n }\n}\n","import {Observable, Observer} from \"rxjs\";\n\nexport class PagePreloadService {\n private readonly _checkPreload: Observable;\n private _observer: Observer;\n\n constructor() {\n this._checkPreload = new Observable(observer =>\n this._observer = observer);\n }\n\n get checkPreload(): Observable {\n return this._checkPreload;\n }\n\n changeLastPageInView(page: number) {\n if(this._observer) {\n this._observer.next(page);\n }\n }\n}\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {Injectable} from \"@angular/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NavigateService {\n private _currentPage = 0;\n private _countPages = 0;\n private _observer: Subject = new Subject();\n private _navigate: Observable = this._observer;\n\n constructor(private _pagePreloadService: PagePreloadService) {\n }\n\n get navigate(): Observable {\n return this._navigate;\n }\n\n get countPages(): number {\n return this._countPages;\n }\n\n set countPages(value: number) {\n this._countPages = value;\n }\n\n get currentPage(): number {\n return this._currentPage;\n }\n\n set currentPage(value: number) {\n this._currentPage = value;\n }\n\n nextPage() {\n if (this._currentPage < this._countPages) {\n this._currentPage++;\n this.navigateTo(this._currentPage);\n }\n }\n\n prevPage() {\n if (this._currentPage > 1) {\n this._currentPage--;\n this.navigateTo(this._currentPage);\n }\n }\n\n toLastPage() {\n this._currentPage = this._countPages;\n this.navigateTo(this._currentPage);\n }\n\n toFirstPage() {\n this._currentPage = 1;\n this.navigateTo(this._currentPage);\n }\n\n navigateTo(page: number) {\n this.currentPage = page;\n this._pagePreloadService.changeLastPageInView(page);\n this._observer.next(page);\n }\n}\n","import {\n AfterViewChecked,\n Component,\n ElementRef,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges\n} from '@angular/core';\nimport {FileDescription, FileUtil} from \"../file.service\";\nimport {ZoomService} from \"../zoom.service\";\nimport * as Hammer from 'hammerjs';\nimport {WindowService} from '../window.service';\nimport * as jquery from 'jquery';\nimport { NavigateService } from '../navigate.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-document',\n templateUrl: './document.component.html',\n styleUrls: ['./document.component.less']\n})\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\n\n @Input() mode: boolean;\n @Input() preloadPageCount: number;\n @Input() file: FileDescription;\n @Input() selectedPage: number;\n @Input() showActiveSlide: boolean;\n wait = false;\n zoom: number;\n\n docWidth = null;\n docHeight = null;\n viewportWidth = null;\n viewportHeight = null;\n scale = null;\n lastScale = null;\n container = null;\n doc = null;\n x = 0;\n lastX = 0;\n y = 0;\n lastY = 0;\n pinchCenter = null;\n pinchCenterOffset = null;\n curWidth = 0;\n curHeight = 0;\n isDesktop: boolean;\n\n constructor(protected _elementRef: ElementRef,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _navigateService: NavigateService) {\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val;\n });\n\n this.isDesktop = _windowService.isDesktop();\n\n this._navigateService.navigate.subscribe(((\n value => {\n this.selectedPage = value;\n })));\n }\n\n ngOnInit() {\n if (this.ifPresentation())\n {\n this.selectedPage = this._navigateService.currentPage;\n }\n }\n\n ngOnChanges() {\n }\n\n ngAfterViewInit() {\n // For current iteration we take .panzoom as a document\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\n // For current iteration we take .gd-document as a container\n this.container = this._elementRef.nativeElement;\n\n this.docWidth = this.doc.clientWidth;\n this.docHeight = this.doc.clientHeight;\n this.viewportWidth = this.doc.offsetWidth;\n\n // For cases where we already have zoom defined we should include it\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\n\n this.lastScale = this.scale;\n this.viewportHeight = this.container.offsetHeight;\n this.curWidth = this.docWidth * this.scale;\n this.curHeight = this.docHeight * this.scale;\n\n const hammer = new Hammer(this.container);\n }\n\n // TODO: this temporary crutch for Excel files should be documented\n ifExcel() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\n }\n\n ifPresentation() {\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\n }\n\n getDimensionWithUnit(value: number, pageNumber: number) {\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\n }\n\n ifEdge() {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n }\n\n ngAfterViewChecked(): void {\n // for now we are not sure that need this action in current implementation\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\n // const element = elementNodeListOf.item(0);\n // if (element) {\n // $(element).trigger('focus');\n // }\n }\n\n isVisible(pageNumber) {\n if (this.ifPresentation()) {\n return pageNumber === this.selectedPage ? true : false;\n }\n else {\n return true;\n }\n }\n}\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'gd-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.less']\n})\nexport class PageComponent implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() width: number;\n @Input() height: number;\n @Input() number: number;\n @Input() data: string;\n @Input() isHtml: boolean;\n @Input() editable: boolean;\n imgData: string;\n\n constructor() {\n }\n\n ngOnInit() {\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n if(isIE && this.number === 0){\n this.editable = false;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(this.isHtml) {\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \n // which leads to undesired spaces on the top of the docs pages\n this.data = this.data \n ? this.data.replace(/>\\s+<')\n .replace(/\\uFEFF/g,\"\")\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\n : null;\n } else {\n this.imgData = 'data:image/png;base64,' + this.data;\n }\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\n\n@Pipe({name: 'safeHtml'})\nexport class SanitizeHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n\n@Pipe({name: 'safeResourceHtml'})\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\n }\n}\n\n@Pipe({name: 'safeStyle'})\nexport class SanitizeStylePipe implements PipeTransform{\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustStyle(html);\n }\n}\n\n@Pipe({name: 'highlight'})\nexport class HighlightSearchPipe implements PipeTransform {\n\n transform(value: string, args: string): any {\n if (!args) {\n return value;\n }\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\n return value.replace(re, \"$&\");\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {UploadFilesService} from \"../upload-files.service\";\n\n@Component({\n selector: 'gd-upload-file-zone',\n templateUrl: './upload-file-zone.component.html',\n styleUrls: ['./upload-file-zone.component.less']\n})\nexport class UploadFileZoneComponent implements OnInit {\n\n @Output() closeUpload = new EventEmitter();\n\n constructor(private _uploadService: UploadFilesService) { }\n\n ngOnInit() {\n }\n\n handleFileInput(files: FileList) {\n this._uploadService.changeFilesList(files);\n this.onCloseUpload();\n }\n\n onCloseUpload() {\n this.closeUpload.emit(true);\n }\n\n close($event) {\n if ($event.target.id === 'gd-dropZone') {\n this.onCloseUpload();\n }\n }\n}\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\nimport {UploadFilesService} from \"./upload-files.service\";\n\n@Directive({\n selector: '[gdDnd]'\n})\nexport class DndDirective {\n\n @Output() closing = new EventEmitter();\n @Output() opening = new EventEmitter();\n @Output() dropped = new EventEmitter();\n\n @HostBinding('class.active') active = false;\n\n private dragCounter = 0;\n\n constructor(protected _uploadFilesService: UploadFilesService) {\n }\n\n @HostListener('dragenter', ['$event'])\n public onDragEnter(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter++;\n this.active = true;\n this.opening.emit(true);\n }\n\n @HostListener('dragover', ['$event'])\n public onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n return false;\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragCounter--;\n if (this.dragCounter === 0) {\n this.active = false;\n this.closeArea();\n }\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.active = false;\n this.dropped.emit(true);\n this._uploadFilesService.changeFilesList(files);\n this.closeArea();\n }\n }\n\n @HostListener('click', ['$event'])\n public onClick(event) {\n this.closeArea();\n }\n\n private closeArea() {\n this.closing.emit(true);\n this.opening.emit(false);\n }\n}\n","import {Injectable} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ViewportService {\n\n constructor() {\n }\n\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\n if (!el) {\n return false;\n }\n const x = deltaX;\n const y = 0.5;\n\n const win = $(window);\n\n const viewport = {\n top: win.scrollTop(),\n left: win.scrollLeft() + leftOffset,\n right: win.scrollLeft() + win.width() - 10,\n bottom: win.scrollTop() + win.height()\n };\n\n\n if (isNaN(zoom)) {\n zoom = 100;\n }\n\n const zoomN = zoom / 100;\n const height = $(el).outerHeight() * (zoomN);\n const width = $(el).outerWidth() * (zoomN);\n\n if (!width || !height) {\n return false;\n }\n\n const bounds = $(el).offset();\n const right = (bounds.left * (zoomN)) + width;\n const bottom = (bounds.top * (zoomN)) + height;\n\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\n\n if (!visible) {\n return false;\n }\n\n const deltas = {\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\n };\n\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomService} from \"./zoom.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdScrollable]'\n})\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\n\n private currentPage: number;\n private zoom = 100;\n private loadedPagesSet = new Set();\n\n constructor(private _elementRef: ElementRef,\n private _navigateService: NavigateService,\n private _pagePreloadService: PagePreloadService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n private _viewportService: ViewportService) {\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n this.refresh();\n });\n }\n\n ngAfterViewInit() {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n this._navigateService.navigate.subscribe((value => {\n this.currentPage = value;\n this.scrollToPage(value);\n }));\n this.refresh();\n }\n\n @HostListener('scroll') scrolling() {\n this.refresh();\n }\n\n @HostListener('window:resize') resizing() {\n this.refresh();\n }\n\n scrollToPage(pageNumber: number) {\n const el = this._elementRef.nativeElement;\n const page = this.getPage(pageNumber);\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\n return;\n }\n const pagesHeight = this.calculateOffset(pageNumber);\n const options = {\n left: 0,\n top: pagesHeight\n };\n if(el){\n // using polyfill\n el.scroll(options);\n }\n }\n\n private getChildren() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n // here and in the similar line below we getting the document pages\n return el.children.item(0).children.item(0).children;\n }\n }\n\n private getPage(pageNumber: number) {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\n }\n }\n\n private calculateOffset(pageNumber: number) {\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\n const margin = this._windowService.isDesktop() ? 40 : 10;\n let pagesHeight = 0;\n for (let i = 1; i < pageNumber / count; i++) {\n const item = this.getPage(i);\n const clientHeight = item ? item.clientHeight : 0;\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\n }\n return pagesHeight;\n }\n\n private countPagesOnWidth() {\n const pageEl = this.getPage(1);\n const offset = 150;\n if (pageEl) {\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\n if (count !== 0) {\n return count;\n }\n }\n return 1;\n }\n\n refresh() {\n let page;\n let currentPageSet = false;\n const pageElem = this.getPage(this.currentPage);\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\n for (page = 1; page < this.getChildren().length + 1; page++) {\n const element = this.getPage(page);\n if (this._viewportService.checkInViewport(element, this.zoom)) {\n if (!currentPageSet) {\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\n this.currentPage = page;\n if (this._navigateService.currentPage === 0) {\n this._navigateService.currentPage = page;\n }\n }\n currentPageSet = true;\n }\n if (!this.loadedPagesSet.has(page)) {\n this._pagePreloadService.changeLastPageInView(page);\n this.loadedPagesSet.add(page);\n }\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.refresh();\n }\n\n ngOnInit(): void {\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\n }\n\n\n private getWidth() {\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdMouseWheel]'\n})\nexport class MouseWheelDirective {\n @Output() mouseWheelUp = new EventEmitter();\n @Output() mouseWheelDown = new EventEmitter();\n\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\n this.mouseWheelFunc(event);\n }\n\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\n this.mouseWheelFunc(event);\n }\n\n mouseWheelFunc(event: any) {\n event = window.event ;\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\n if(delta > 0) {\n this.mouseWheelUp.emit(event);\n } else if(delta < 0) {\n this.mouseWheelDown.emit(event);\n }\n }\n}\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\nimport {ZoomService} from \"./zoom.service\";\nimport {FileUtil} from \"./file.service\";\nimport { WindowService } from './window.service';\n\n@Directive({\n selector: '[gdZoom]'\n})\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n\n @Input() zoomActive = true;\n @Input() file;\n\n @HostBinding('style.zoom') zoomInt: number;\n @HostBinding('style.transform') transform: string;\n @HostBinding('style.transform-origin') transformOrigin: string;\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n @HostBinding('style.min-width') minWidth: string;\n el: ElementRef;\n\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\n this.el = el;\n }\n\n ngOnDestroy(): void {\n }\n\n ngOnChanges(): void {\n this.setStyles(this._zoomService.zoom);\n this.resizePages(this._zoomService.zoom);\n }\n\n ngOnInit(): void {\n if (! this.zoomActive) {\n return;\n }\n\n this.setStyles(this._zoomService.zoom);\n this._zoomService.zoomChange.subscribe((zoom) => {\n this.setStyles(zoom);\n this.resizePages(zoom);\n });\n }\n\n private setStyles(zoom) {\n if (! this.zoomActive) {\n return;\n }\n\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n \n if (this._windowService.isEdge()) {\n this.zoomInt = zoomInt;\n }\n else {\n this.zoomInt = null;\n }\n \n if (!this._windowService.isEdge()) {\n this.transform = 'scale(' + zoomInt + ')';\n this.transformOrigin = 'top left';\n }\n else {\n this.transform = \"\";\n this.transformOrigin = \"\";\n }\n\n let maxWidth = 0;\n this.file.pages.forEach(page => {\n {\n if (page.width > maxWidth){\n maxWidth = page.width;\n }\n }\n });\n\n // Images and Excel-related files receiving dimensions in px from server\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\n }\n\n private getScrollWidth(elm){\n return elm.offsetWidth - elm.clientWidth;\n }\n\n private getScrollHeight(elm){\n return elm.offsetHeight - elm.clientHeight;\n }\n\n private resizePages(zoom){\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\n\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\n }\n\n ngAfterViewInit(): void {\n this.setStyles(this._zoomService.zoom);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnCloseService {\n private _observer: Subject = new Subject();\n private readonly _onClose: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get onClose() {\n return this._onClose;\n }\n\n close(close: boolean) {\n this._observer.next(close)\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {OnCloseService} from \"../on-close.service\";\n\nexport interface Option {\n name: string;\n value: any;\n separator: boolean;\n}\n\n@Component({\n selector: 'gd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.less']\n})\nexport class SelectComponent {\n\n @Input() options: Option[];\n @Input() disabled = false;\n @Input() showSelected: Option;\n @Output() selected: EventEmitter = new EventEmitter();\n @Output() opened: EventEmitter = new EventEmitter();\n @Input() isOpen = false;\n @Input() icon: string;\n\n constructor(protected _onCloseService: OnCloseService) {\n _onCloseService.onClose.subscribe(() => {\n this.close();\n });\n }\n\n open() {\n if (!this.disabled) {\n this.isOpen = true;\n }\n }\n\n close() {\n this.isOpen = false;\n }\n\n onClickOutside(event : Event){\n this.close();\n }\n\n toggle($event) {\n // TODO: following lines were uncommented due to needness in signature app\n $event.preventDefault();\n $event.stopPropagation();\n if (!this.disabled) {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.opened.emit(true);\n }\n }\n\n select($event, value: Option) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selected.emit(value);\n this.close();\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdDisabledCursor]'\n})\nexport class DisabledCursorDirective implements OnInit, OnChanges {\n\n @Input() dis: boolean;\n\n constructor() {\n }\n\n @HostBinding('class.inactive') cursor: boolean;\n\n private updateCursor() {\n this.cursor = this.dis ? true : false;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n}\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[gdRotation]'\n})\nexport class RotationDirective implements OnInit, OnChanges {\n\n @Input() angle: number;\n @Input() isHtmlMode: boolean;\n @Input() width: number;\n @Input() height: number;\n @Input() withMargin = true;\n\n @HostBinding('style.animation') animation: string;\n @HostBinding('style.transition-property') transition: string;\n @HostBinding('style.transform') transform: string;\n\n @HostBinding('style.margin') margin: string;\n\n constructor() {\n }\n\n private updateCursor() {\n if (typeof this.angle === \"string\"){\n this.angle = parseInt(this.angle, 10);\n }\n\n if (this.angle) {\n this.animation = 'none';\n this.transition = 'none';\n this.transform = 'rotate(' + this.angle + 'deg)';\n } else if (this.angle === 0 && this.animation) {\n this.animation = null;\n this.transition = null;\n this.transform = null;\n }\n\n if (this.withMargin) {\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\n if (this.isHtmlMode) {\n if (this.isLandscape()) {\n this.margin = '164px 254px';\n } else {\n this.margin = '-111px 254px';\n }\n } else {\n if (this.isLandscape()) {\n this.margin = '129px 100px -79px';\n } else {\n this.margin = '-72px 100px -79px';\n }\n }\n } else if (this.angle === -180 || this.angle === 180) {\n this.margin = '280px';\n } else {\n this.margin = null;\n }\n }\n\n }\n\n isLandscape() {\n return this.width > this.height;\n }\n\n ngOnInit(): void {\n this.updateCursor();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateCursor()\n }\n\n}\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-init-state',\n templateUrl: './init-state.component.html',\n styleUrls: ['./init-state.component.less']\n})\nexport class InitStateComponent implements OnInit {\n @Input() icon: string;\n @Input() text: string;\n @Output() fileDropped = new EventEmitter();\n showUploadFile = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n dropped($event) {\n if ($event) {\n this.fileDropped.emit($event);\n this.showUploadFile = false;\n }\n }\n}\n","import {Observable, Observer} from \"rxjs\";\nimport {PageModel} from \"./file.service\";\n\nexport class RenderPrintService {\n private _render: Observable;\n private _observer: Observer;\n private _renderBlob: Observable;\n private _observerBlob: Observer;\n\n constructor() {\n this._render = new Observable(observer =>\n this._observer = observer);\n this._renderBlob = new Observable(observer =>\n this._observerBlob = observer);\n }\n\n get renderPrint(): Observable {\n return this._render;\n }\n\n changePages(pages: PageModel[]) {\n this._observer.next(pages);\n }\n\n get renderPrintBlob(): Observable {\n return this._renderBlob;\n }\n\n changeBlob(file: Blob) {\n this._observerBlob.next(file);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {PageModel} from \"./file.service\";\nimport {RenderPrintService} from \"./render-print.service\";\n\n@Directive({\n selector: '[gdRenderPrint]'\n})\nexport class RenderPrintDirective {\n @Input() htmlMode: boolean;\n\n constructor(private _renderService: RenderPrintService) {\n _renderService.renderPrint.subscribe(pages => {\n this.renderPrint(pages);\n });\n _renderService.renderPrintBlob.subscribe(file => {\n this.renderPrintBlob(file);\n });\n }\n\n private renderPrint(pages: PageModel[]) {\n let pagesHtml = '';\n\n for (const page of pages) {\n pagesHtml += '
' +\n '
' +\n '
';\n }\n\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\n }\n\n private openWindow(pagesHtml, width, height) {\n const a4Height = 842;\n const a4Width = 595;\n let imageA4Adjusted = '';\n if(width > a4Width && height > a4Height){\n const zoom = Math.round(height / a4Height) / 100;\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\n }\n }\n let cssPrint = '';\n\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.document.writeln(cssPrint);\n windowObject.document.writeln(pagesHtml);\n windowObject.document.close();\n setTimeout(() => {\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }, 100);\n }\n\n private renderPrintBlob(file: Blob) {\n const fileURL = URL.createObjectURL(file);\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\n windowObject.focus();\n windowObject.print();\n windowObject.close();\n }\n}\n","import { HttpEvent } from \"@angular/common/http\";\nimport {BehaviorSubject, Observable} from \"rxjs\";\n\nexport class ExceptionMessageService {\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\n private _messageChange: Observable = this._observer.asObservable();\n\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\n\n constructor() {\n }\n\n get messageChange(): Observable {\n return this._messageChange;\n }\n\n get httpEventChange(): Observable> {\n return this._httpEventChange;\n }\n\n changeMessage(message: string) {\n this._observer.next(message);\n }\n\n changeHttpEvent(httpEvent:HttpEvent) {\n this._observerHttpEvent.next(httpEvent);\n }\n}\n","import {Component, OnInit} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\n\n@Component({\n selector: 'gd-error-modal',\n templateUrl: './error-modal.component.html',\n styleUrls: ['./error-modal.component.less']\n})\nexport class ErrorModalComponent implements OnInit {\n\n message: string;\n\n constructor(messageService: ExceptionMessageService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class PasswordService {\n private _observer: Subject = new Subject();\n private readonly _passChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get passChange(): Observable {\n return this._passChange;\n }\n\n setPassword(pass: string) {\n this._observer.next(pass);\n }\n}\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {PasswordService} from \"../password.service\";\nimport * as jquery from \"jquery\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-password-required',\n templateUrl: './password-required.component.html',\n styleUrls: ['./password-required.component.less']\n})\nexport class PasswordRequiredComponent implements OnInit {\n message: string;\n @Output() cancelEvent = new EventEmitter();\n\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\n messageService.messageChange.subscribe(message => this.message = message);\n }\n\n ngOnInit() {\n }\n\n setPassword(value: string) {\n this._passwordService.setPassword(value);\n }\n\n onCloseOpen($event: boolean) {\n if ($event) {\n setTimeout(() => {\n const element = $(\"#password\");\n if (element) {\n element.focus();\n }\n }, 100);\n } else {\n $(\"#password\").val(\"\");\n }\n }\n\n cancel($event: boolean) {\n $(\"#password\").val(\"\");\n this.cancelEvent.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable, throwError} from \"rxjs\";\nimport {catchError, map} from \"rxjs/operators\";\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {HttpError} from \"./file.service\";\nimport {CommonModals, ModalService} from \"./modal.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptorService implements HttpInterceptor {\n\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\n\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const logFormat = 'background: maroon; color: white';\n\n return next.handle(req)\n .pipe(map(data => {\n return data;\n }),\n catchError((exception: HttpEvent) => {\n if (exception instanceof HttpErrorResponse) {\n switch (exception.status) {\n\n case HttpError.BadRequest:\n console.error('%c Bad Request 400', logFormat);\n break;\n case HttpError.Unauthorized:\n console.error('%c Unauthorized 401', logFormat);\n break;\n case HttpError.NotFound:\n console.error('%c Not Found 404', logFormat);\n break;\n case HttpError.TimeOut:\n console.error('%c TimeOut 408', logFormat);\n break;\n case HttpError.InternalServerError:\n console.error('%c big bad 500', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._messageService.changeHttpEvent(exception);\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\n break;\n\n case HttpError.Forbidden:\n console.error('%c Forbidden 403', logFormat);\n this._messageService.changeMessage(exception.error.message);\n this._modalService.open(CommonModals.PasswordRequired);\n break;\n }\n }\n return throwError(exception);\n }));\n }\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class SearchService {\n private _observer: Subject = new Subject();\n private readonly _textChange: Observable = this._observer.asObservable();\n\n private _observerCurrent: Subject = new Subject();\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\n\n private _observerTotal: Subject = new Subject();\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\n\n constructor() {\n }\n\n get textChange(): Observable {\n return this._textChange;\n }\n\n setText(text: string) {\n this._observer.next(text);\n }\n\n get currentChange(): Observable {\n return this._currentChange;\n }\n\n get totalChange(): Observable {\n return this._totalChange;\n }\n\n setCurrent(current: number) {\n this._observerCurrent.next(current);\n }\n\n setTotal(total: number) {\n this._observerTotal.next(total);\n }\n}\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {SearchService} from \"../search.service\";\n\n@Component({\n selector: 'gd-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.less']\n})\nexport class SearchComponent implements OnInit, AfterViewInit {\n\n @Output() hidePanel = new EventEmitter(false);\n\n current = 0;\n total = 0;\n\n @ViewChild('text',{\n static : true\n }) textElement: ElementRef;\n\n constructor(private _searchService: SearchService) {\n _searchService.totalChange.subscribe((total: number) => {\n this.total = total;\n if (total !== 0) {\n this.current = 1;\n } else {\n this.current = 0;\n }\n this._searchService.setCurrent(this.current);\n });\n }\n\n ngOnInit() {\n }\n\n setText(text: string) {\n this._searchService.setText(text);\n }\n\n hide() {\n this.setText('');\n this.hidePanel.emit(true);\n }\n\n prev() {\n if (this.current > 1) {\n this.current--;\n this._searchService.setCurrent(this.current);\n }\n }\n\n next() {\n if (this.current < this.total) {\n this.current++;\n this._searchService.setCurrent(this.current);\n }\n }\n\n ngAfterViewInit(): void {\n this.textElement.nativeElement.focus();\n }\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {SearchService} from \"./search.service\";\nimport {HighlightSearchPipe} from \"./pipes\";\nimport {ZoomService} from \"./zoom.service\";\nimport * as jquery from \"jquery\";\nconst $ = jquery;\n\n@Directive({\n selector: '[gdSearchable]'\n})\nexport class SearchableDirective {\n\n text: string;\n current = 0;\n total = 0;\n private zoom = 100;\n\n constructor(private _elementRef: ElementRef,\n private _searchService: SearchService,\n private _highlight: HighlightSearchPipe,\n private _zoomService: ZoomService) {\n _searchService.currentChange.subscribe((current: number) => {\n this.current = current;\n if (this.current !== 0) {\n this.moveToCurrent();\n }\n });\n\n _searchService.textChange.subscribe((text: string) => {\n this.text = text;\n this.highlightSearch();\n });\n\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\n _zoomService.zoomChange.subscribe((val: number) => {\n this.zoom = val ? val : this.zoom;\n });\n }\n\n private highlightSearch() {\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n this.cleanHighlight(el);\n if (this.text) {\n this.highlightEl(el);\n const count = el.querySelectorAll('.gd-highlight').length;\n this.total = count;\n } else {\n this.total = 0;\n }\n this._searchService.setTotal(this.total);\n }\n }\n\n private moveToCurrent() {\n if (this.current === 0) {\n return;\n }\n const currentZoom = this.getZoom();\n const el = this._elementRef ? this._elementRef.nativeElement : null;\n if (el) {\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\n $(value).removeClass('gd-highlight-select');\n });\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\n $(currentEl).addClass('gd-highlight-select');\n if (currentEl) {\n const options = {\n left: 0,\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\n };\n // using polyfill\n el.parentElement.parentElement.scroll(options);\n }\n }\n }\n\n private highlightEl(el: Element) {\n const textNodes = $(el).find('*').contents().filter(function () {\n const nodeName = this.parentElement.nodeName.toLowerCase();\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\n return this.nodeType === 3 &&\n this.textContent.trim().length !== 0 &&\n nodeName !== 'style' &&\n nodeName !== 'title' &&\n nodeName !== 'body' &&\n nodeName !== 'script' &&\n checkClass;\n });\n const text = this.text;\n const highlight = this._highlight;\n textNodes.each(function () {\n const $this = $(this);\n let content = $this.text();\n content = highlight.transform(content, text);\n $this.replaceWith(content);\n });\n el.normalize();\n }\n\n private cleanHighlight(el: HTMLElement) {\n const nodeListOf = el.querySelectorAll('.gd-highlight');\n for (let i = 0; i < nodeListOf.length; i++) {\n const element = nodeListOf.item(i);\n element.replaceWith((element).innerText);\n }\n el.normalize();\n }\n\n private getZoom() {\n return this.zoom / 100;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-tabbed-toolbars',\n templateUrl: './tabbed-toolbars.component.html',\n styleUrls: ['./tabbed-toolbars.component.less']\n})\nexport class TabbedToolbarsComponent implements OnInit {\n @Input() logo: string;\n @Input() icon: string;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class TabActivatorService {\n private _observer: Subject = new Subject();\n private readonly _activeTabChange: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get activeTabChange(): Observable {\n return this._activeTabChange;\n }\n\n changeActiveTab(tabId: string) {\n this._observer.next(tabId);\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {TabActivatorService} from \"../tab-activator.service\";\n\n@Component({\n selector: 'gd-tab',\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.less']\n})\nexport class TabComponent implements OnInit {\n @Input() id: string;\n @Input() tabTitle: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() active = false;\n @Input() content = true;\n\n constructor(private _tabActivatorService: TabActivatorService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = true;\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n selectTab() {\n if (this.disabled) {\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'gd-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.less']\n})\nexport class TabsComponent {\n constructor() {\n }\n\n}\n","import {Observable, Subject} from \"rxjs\";\n\nexport class Formatting {\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\n this.fontSize = fontSize;\n this.color = color;\n this.bgColor = bgColor;\n this.bold = bold;\n this.italic = italic;\n this.underline = underline;\n this.font = font;\n this.strikeout = strikeout;\n this.align = align;\n this.list = list;\n }\n\n bold: boolean;\n italic: boolean;\n underline: boolean;\n fontSize: number;\n color: string;\n bgColor: string;\n font: string;\n strikeout: boolean;\n align: string;\n list: string;\n\n public static default(): Formatting {\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\n }\n}\n\nexport class FormattingService {\n private _observerBold: Subject = new Subject();\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\n private _observerUnderline: Subject = new Subject();\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\n private _observerUndo: Subject = new Subject();\n private readonly _undo: Observable = this._observerUndo.asObservable();\n private _observerRedo: Subject = new Subject();\n private readonly _redo: Observable = this._observerRedo.asObservable();\n private _observerItalic: Subject = new Subject();\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\n private _observerColor: Subject = new Subject();\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\n private _observerBgColor: Subject = new Subject();\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\n private _observerFontSize: Subject = new Subject();\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\n private _observerFont: Subject = new Subject();\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\n private _observerStrikeout: Subject = new Subject();\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\n private _observerAlign: Subject = new Subject();\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\n private _observerList: Subject = new Subject();\n private readonly _formatListChange: Observable = this._observerList.asObservable();\n\n constructor() {\n }\n\n get formatBoldChange() {\n return this._formatBoldChange;\n }\n\n get formatUnderlineChange() {\n return this._formatUnderlineChange;\n }\n\n get formatColorChange() {\n return this._formatColorChange;\n }\n\n get formatBgColorChange() {\n return this._formatBgColorChange;\n }\n\n get formatFontSizeChange() {\n return this._formatFontSizeChange;\n }\n\n get formatFontChange() {\n return this._formatFontChange;\n }\n\n get undo() {\n return this._undo;\n }\n\n get redo() {\n return this._redo;\n }\n\n get formatItalicChange() {\n return this._formatItalicChange;\n }\n\n get formatStrikeoutChange() {\n return this._formatStrikeoutChange;\n }\n\n get formatAlignChange() {\n return this._formatAlignChange;\n }\n\n get formatListChange() {\n return this._formatListChange;\n }\n\n static createFontSizeOption(val: number) {\n return {value: val, name: val + 'px', separator: false}\n }\n\n static getFontSizeOptions() {\n return [\n FormattingService.createFontSizeOption(8),\n FormattingService.createFontSizeOption(10),\n FormattingService.createFontSizeOption(12),\n FormattingService.createFontSizeOption(14),\n FormattingService.createFontSizeOption(16),\n FormattingService.createFontSizeOption(18),\n FormattingService.createFontSizeOption(20),\n FormattingService.createFontSizeOption(22),\n FormattingService.createFontSizeOption(24),\n ];\n }\n\n static createFontOption(val: string) {\n return {value: val, name: val, separator: false}\n }\n\n static getFontOptions() {\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\n const fontOptions = [];\n fonts.forEach(font => {\n fontOptions.push(this.createFontOption(font));\n })\n\n return fontOptions;\n }\n\n changeFormatFontSize($event: number) {\n this._observerFontSize.next($event);\n }\n\n changeFormatBold(bold: boolean) {\n this._observerBold.next(bold);\n }\n\n changeFormatUnderline(underline: boolean) {\n this._observerUnderline.next(underline);\n }\n\n Undo() {\n this._observerUndo.next();\n }\n\n Redo() {\n this._observerRedo.next();\n }\n\n changeFormatItalic(italic: boolean) {\n this._observerItalic.next(italic);\n }\n\n changeFormatColor(color: string) {\n this._observerColor.next(color);\n }\n\n changeFormatBgColor(bgcolor: string) {\n this._observerBgColor.next(bgcolor);\n }\n\n changeFormatFont(font: string) {\n this._observerFont.next(font);\n }\n\n changeFormatStrikeout(strikeout: boolean) {\n this._observerStrikeout.next(strikeout);\n }\n\n changeFormatAlign(align: string) {\n this._observerAlign.next(align);\n }\n\n changeFormatList(list: string) {\n this._observerList.next(list);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\nconst DEFAULT_COLORS = [\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\n];\n\n@Component({\n selector: 'gd-color-picker',\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.less']\n})\nexport class ColorPickerComponent implements OnInit {\n @Input() isOpen = false;\n @Output() selectedColor = new EventEmitter();\n @Output() closeOutside = new EventEmitter();\n colors: any = DEFAULT_COLORS;\n white = '#FFFFFF';\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n select($event, color: string) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selectedColor.emit(color);\n }\n\n close() {\n this.isOpen = false;\n this.closeOutside.emit(true);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BackFormattingService extends FormattingService {\n\n constructor() {\n super();\n }\n}\n","import {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SelectionService {\n selection: Range;\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n restoreSelection() {\n if(this.selection && !this.selection.collapsed || this.isIE){\n this.putSelection(this.selection );\n }\n }\n\n captureSelection() {\n const selection = window.getSelection();\n if (selection.rangeCount > 0) {\n this.selection = selection.getRangeAt(0);\n }\n }\n\n private putSelection(selection) {\n const sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(selection.cloneRange());\n }\n\n refreshSelection() {\n this.captureSelection();\n this.restoreSelection();\n }\n}\n","import {Directive, HostListener, OnInit} from '@angular/core';\nimport {FormattingService} from \"./formatting.service\";\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport * as jquery from 'jquery';\nconst $ = jquery;\nimport {SelectionService} from './selection.service';\n\n@Directive({\n selector: '[gdFormatting]'\n})\nexport class FormattingDirective implements OnInit {\n\n private bold = false;\n private italic = false;\n private underline = false;\n private color: string;\n private bgColor: string;\n private font: string;\n private strikeout = false;\n private align: string;\n private list: string;\n private isIE = false;\n\n constructor(private _formattingService: FormattingService,\n private _backFormattingService: BackFormattingService,\n private _selectionService: SelectionService) {\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n }\n\n @HostListener('mouseup') mouseup() {\n\n this.bold = document.queryCommandState(\"bold\");\n this.strikeout = document.queryCommandState(\"strikeThrough\");\n this.italic = document.queryCommandState(\"italic\");\n this.bgColor = document.queryCommandValue(\"backColor\");\n this.underline = document.queryCommandState(\"underline\");\n this.align = this.checkJustify();\n this.list = this.checkList();\n\n //fix required by FireFox to get correct background color\n if (this.bgColor === \"transparent\") {\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\n }\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\n if(this.font.split(\",\").length > 1){\n this.font = this.font.split(\",\")[0];\n }\n this.color = document.queryCommandValue(\"foreColor\");\n this._backFormattingService.changeFormatBold(this.bold);\n this._backFormattingService.changeFormatUnderline(this.underline);\n this._backFormattingService.changeFormatItalic(this.italic);\n this._backFormattingService.changeFormatColor(this.color);\n this._backFormattingService.changeFormatBgColor(this.bgColor);\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\n this._backFormattingService.changeFormatFont(this.font);\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\n this._backFormattingService.changeFormatAlign(this.align);\n this._backFormattingService.changeFormatList(this.list);\n }\n\n private checkJustify() {\n let align = \"\";\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\n return align;\n }\n\n private checkList() {\n let list = \"\";\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\n return list;\n }\n\n reportFontSize(): number {\n let containerEl, sel;\n if (window.getSelection) {\n sel = window.getSelection();\n if (sel.rangeCount) {\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\n // Make sure we have an element rather than a text node\n if (containerEl.nodeType === 3) {\n containerEl = containerEl.parentNode;\n }\n }\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\n containerEl = sel.createRange().parentElement();\n }\n\n if (containerEl) {\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\n }\n }\n\n getComputedStyleProperty(el, propName) {\n if (window.getComputedStyle) {\n return window.getComputedStyle(el, null)[propName];\n } else if (el.currentStyle) {\n return el.currentStyle[propName];\n }\n }\n\n ngOnInit(): void {\n this._formattingService.undo.subscribe(() => {\n this.toggleUndo();\n });\n this._formattingService.redo.subscribe(() => {\n this.toggleRedo();\n });\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\n this.bold = bold;\n this.toggleBold();\n });\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\n this.underline = underline;\n this.toggleUnderline();\n });\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\n this.italic = italic;\n this.toggleItalic();\n });\n this._formattingService.formatColorChange.subscribe(((color: string) => {\n this.color = color;\n this.setColor(color);\n }));\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\n this.bgColor = bgcolor;\n this.setBgColor(bgcolor);\n }));\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\n this.setFontSize(fontSize);\n }));\n\n this._formattingService.formatFontChange.subscribe(((font: string) => {\n this.font = font;\n this.setFont(font);\n }));\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\n this.strikeout = strikeout;\n this.toggleStrikeout();\n });\n this._formattingService.formatAlignChange.subscribe((align: string) => {\n this.align = align;\n this.toggleAlign(this.align);\n });\n this._formattingService.formatListChange.subscribe((list: string) => {\n const remove = this.list === list;\n this.list = list;\n this.toggleList(this.list, remove);\n });\n }\n\n private toggleBold() {\n document.execCommand(\"bold\");\n this._selectionService.refreshSelection();\n }\n\n private toggleUnderline() {\n document.execCommand(\"underline\");\n this._selectionService.refreshSelection();\n }\n\n private toggleItalic() {\n document.execCommand(\"italic\");\n this._selectionService.refreshSelection();\n }\n\n private setBgColor(bgColor: string) {\n document.execCommand(\"backColor\", false, bgColor);\n this._selectionService.refreshSelection();\n }\n\n private setColor(color: string) {\n document.execCommand(\"foreColor\", false, color);\n this._selectionService.refreshSelection();\n }\n\n private setFontSize(fontSize: number) {\n if (document.getSelection().toString()) {\n let spanString = \"\" +\n document.getSelection() + \"\";\n if (this.bold) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.italic) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.underline) {\n spanString = \"\" + spanString + \"\";\n }\n if (this.strikeout) {\n spanString = \"\" + spanString + \"\";\n }\n document.execCommand('insertHTML', false, spanString);\n } else {\n document.execCommand(\"fontsize\", false, \"7\");\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleUndo() {\n document.execCommand(\"undo\");\n }\n\n private toggleRedo() {\n document.execCommand(\"redo\");\n }\n\n private setFont(font: string) {\n document.execCommand(\"fontName\", false, font);\n this._selectionService.refreshSelection();\n }\n\n private toggleStrikeout() {\n document.execCommand(\"strikeThrough\");\n this._selectionService.refreshSelection();\n }\n\n private toggleAlign(align: string) {\n if(this.isIE) {\n this.toggleAlignIE(align);\n return;\n }\n document.execCommand(\"styleWithCSS\", false, 'true');\n switch (align) {\n case 'center':\n document.execCommand('justifyCenter');\n break;\n case 'full':\n document.execCommand('justifyFull');\n break;\n case 'left':\n document.execCommand('justifyLeft');\n break;\n case 'right':\n document.execCommand('justifyRight');\n break;\n }\n this._selectionService.refreshSelection();\n }\n\n private toggleAlignIE(align: string) {\n this._selectionService.restoreSelection()\n this._selectionService.captureSelection()\n const selection = window.getSelection().focusNode.parentNode.parentNode;\n if(align === \"full\"){\n align = \"justify\";\n }\n $(selection).css(\"text-align\", align);\n this._selectionService.refreshSelection()\n }\n\n private toggleList(list: string, remove: boolean) {\n switch (list) {\n case 'unordered':\n document.execCommand('insertUnorderedList', remove);\n break;\n case 'ordered':\n document.execCommand('insertOrderedList', remove);\n break;\n }\n this._selectionService.refreshSelection();\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'gd-success-modal',\n templateUrl: './success-modal.component.html',\n styleUrls: ['./success-modal.component.less']\n})\nexport class SuccessModalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EditHtmlService {\n private _observer: Subject = new Subject();\n private readonly _htmlContent: Observable = this._observer.asObservable();\n\n constructor() {\n }\n\n get observer(): Subject {\n return this._observer;\n }\n\n get htmlContent(): Observable {\n return this._htmlContent;\n }\n\n}\n","import {Directive, HostListener, Input} from '@angular/core';\nimport {SelectionService} from './selection.service';\nimport {EditHtmlService} from \"./edit-html.service\";\n\n@Directive({\n selector: '[gdEditor]'\n})\nexport class EditorDirective {\n @Input() text: any;\n\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\n }\n\n @HostListener('keyup', ['$event'])\n public onInput(event) {\n this.text = event.target;\n if(this.isIE){\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n }\n }\n }\n\n @HostListener('mouseleave', ['$event'])\n public onMouseleave(event) {\n this._selectionService.captureSelection();\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\n if(this.isIE){\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n\n @HostListener('blur', ['$event'])\n public onBlur(event) {\n event.preventDefault();\n this._selectionService.restoreSelection();\n if (this.text.innerHTML) {\n const html = this.text.innerHTML.toString();\n this._htmlService.observer.next(html);\n } else {\n this._htmlService.observer.next(event.target.innerHTML.toString());\n }\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core'\nimport {HttpRequest} from '@angular/common/http';\nimport {Api} from \"./config.service\";\n\n@Injectable()\nexport class LoadingMaskService {\n onLoadingChanged: EventEmitter = new EventEmitter();\n\n private stopList = [];\n private requests: HttpRequest[] = [];\n\n constructor() {\n this.stopList.push(Api.SAVE_TEXT);\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\n this.stopList.push(Api.LOAD_THUMBNAILS);\n this.stopList.push(Api.GET_FILE_STATUS);\n this.stopList.push(Api.LOAD_PRINT);\n }\n\n onRequestStart(req: HttpRequest): void {\n const stop = this.stopList.find(x => req.url.includes(x));\n if (!stop) {\n this.requests.push(req);\n this.notify();\n }\n }\n\n onRequestFinish(req: HttpRequest): void {\n const index = this.requests.indexOf(req);\n if (index !== -1) {\n this.requests.splice(index, 1);\n }\n this.notify();\n }\n\n addStopUrl(url: string) {\n this.stopList.push(url);\n }\n\n private notify(): void {\n this.onLoadingChanged.emit(this.requests.length !== 0);\n }\n}\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\nimport {LoadingMaskService} from \"../loading-mask.service\";\n\n@Component({\n selector: 'gd-loading-mask',\n templateUrl: './loading-mask.component.html',\n styleUrls: ['./loading-mask.component.less']\n})\n\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\n @Input() loadingMask = false;\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit() {\n this._loadingMaskService\n .onLoadingChanged\n .subscribe((loading: boolean) => this.loadingMask = loading);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport {finalize} from 'rxjs/operators'\nimport {LoadingMaskService} from \"./loading-mask.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\n\n constructor(private _loadingMaskService: LoadingMaskService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n this._loadingMaskService.onRequestStart(req);\n const callback = () => this._loadingMaskService.onRequestFinish(req);\n return next.handle(req).pipe( finalize( callback));\n }\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\n\nconst horizontalAlignment = {\n center : {\n right: 'auto'\n },\n left : {\n right: '100%'\n },\n right : {\n right: '-100%'\n }\n};\n\nconst verticalAlignment = {\n center : {\n top : '0px',\n },\n top : {\n top : '-100%',\n right: '100%'\n },\n bottom : {\n top: 'autos'\n }\n};\n\n/**\n * DropDownToggleComponent\n */\n@Component({\n selector: 'gd-drop-down-toggle',\n template: '',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownToggleComponent{\n @HostListener('click',['$event'])\n click = (event: any) => this.dropdown.toggle(event);\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n}\n\n/**\n * DropDownItemsComponent\n */\n@Component({\n selector: 'gd-drop-down-items',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownItemsComponent{\n\n get horizontalAlign(){\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\n }\n\n get verticalAlign(){\n return verticalAlignment[this.dropdown.getPlacement().v].top;\n }\n\n get isOpen(){\n return this.dropdown.open;\n }\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n onClickOutside(event : Event ){\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownItemComponent\n */\n@Component({\n selector: 'gd-drop-down-item',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n})\nexport class DropDownItemComponent{\n @HostBinding('class')\n class = 'drop-down-item';\n\n @Output()\n selected = new EventEmitter();\n\n @HostListener('click')\n click = () => this.selectEntry();\n\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\n\n selectEntry(){\n this.selected.next();\n this.dropdown.close();\n }\n}\n\n/**\n * DropDownComponent\n */\n@Component({\n selector: 'gd-drop-down',\n template: '
',\n styleUrls: ['./drop-down.component.less'],\n encapsulation : ViewEncapsulation.None\n})\nexport class DropDownComponent{\n @Input()\n placement = {\n h: \"center\",\n v: \"bottom\"\n };\n\n\n @Input()\n @HostBinding('class.show')\n open = false;\n\n @HostBinding('class')\n class = 'drop-down';\n\n close(){\n this.open = false;\n }\n\n toggle(event : MouseEvent){\n event.stopPropagation();\n this.open = !this.open;\n document.body.click();\n }\n\n getPlacement(){\n return this.placement;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'gd-left-side-bar',\n templateUrl: './left-side-bar.component.html',\n styleUrls: ['./left-side-bar.component.less']\n})\nexport class LeftSideBarComponent implements OnInit {\n @Input() showSpinner = false;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\n\n@Directive({\n selector: '[gdTooltip]'\n})\nexport class TooltipDirective {\n\n @Output() showToolTip = new EventEmitter();\n\n constructor() {\n }\n\n @HostListener('mouseenter')\n public onHovering() {\n this.showToolTip.emit(true);\n }\n\n @HostListener('mouseleave')\n public onUnhovering() {\n this.showToolTip.emit(false);\n }\n\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Injectable,\n ViewContainerRef\n} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddDynamicComponentService {\n\n constructor(private _factoryResolver: ComponentFactoryResolver,\n private _appRef: ApplicationRef) {\n }\n\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\n const factory = this._factoryResolver.resolveComponentFactory(component);\n const componentRef = viewContainerRef.createComponent(factory);\n\n componentRef.onDestroy(() => {\n this._appRef.detachView(componentRef.hostView);\n });\n\n return componentRef;\n }\n\n}\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\n\nexport class HostingDynamicComponentService {\n private hosts: HostDynamicDirective[];\n\n constructor() {\n this.hosts = [];\n }\n\n add(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n this.hosts.push(host);\n }\n\n remove(host: HostDynamicDirective) {\n this.hosts = this.hosts.filter(function (h) {\n return h.ident !== host.ident;\n });\n }\n\n find(ident: number) {\n return this.hosts.find(function (h) {\n return h.ident === ident;\n });\n }\n}\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\n\n@Directive({\n selector: '[gdHostDynamic]'\n})\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\n @Input() ident: number;\n\n constructor(public viewContainerRef: ViewContainerRef,\n private _hostingService: HostingDynamicComponentService) {\n }\n\n ngAfterViewInit(): void {\n this._hostingService.add(this);\n }\n\n ngOnDestroy(): void {\n this._hostingService.remove(this);\n this.viewContainerRef.clear();\n }\n\n}\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport * as jquery from \"jquery\";\nimport {Utils} from \"../file.service\";\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-resizing',\n templateUrl: './resizing.component.html',\n styleUrls: ['./resizing.component.less']\n})\nexport class ResizingComponent implements OnInit, AfterViewInit {\n\n @Input() init: boolean;\n @Input() id: number;\n @Input() se = false;\n @Input() ne = false;\n @Input() sw = false;\n @Input() nw = false;\n @Input() pageWidth: number;\n @Input() pageHeight: number;\n SE = 'se';\n NE = 'ne';\n SW = 'sw';\n NW = 'nw';\n\n @Output() offsetX = new EventEmitter();\n @Output() offsetY = new EventEmitter();\n @Output() offsetTop = new EventEmitter();\n @Output() offsetLeft = new EventEmitter();\n @Output() release = new EventEmitter();\n\n private grab = false;\n private oldPosition: { x: number, y: number };\n\n constructor() {\n }\n\n ngAfterViewInit(): void {\n const elSE = $(this.getElementId(this.SE));\n const elNW = $(this.getElementId(this.NW));\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\n let width = elSE.offset().left - elNW.offset().left;\n let height = elSE.offset().top - elNW.offset().top;\n while (width >= this.pageWidth || height >= this.pageHeight) {\n width = width / 2;\n height = height / 2;\n }\n setTimeout(() => {\n this.offsetX.emit(width);\n this.offsetY.emit(height);\n }, 100);\n }\n }\n\n ngOnInit() {\n }\n\n catchUp($event: DragEvent) {\n // ff\n $event.preventDefault();\n if ($event.dataTransfer) { // ff\n $event.dataTransfer.setData('text', 'foo');\n }\n this.grab = true;\n this.oldPosition = Utils.getMousePosition($event);\n }\n\n resize($event: DragEvent, el: string) {\n if (!this.grab) {\n return;\n }\n const position = Utils.getMousePosition($event);\n if (position.x === 0 && position.y === 0) {\n return;\n }\n const notSW = this.NE === el || this.NW === el;\n const notNE = this.SW === el || this.NW === el;\n this.setOffsets(position, notNE, notSW);\n if (notSW) {\n this.offsetTop.emit(position.y - this.oldPosition.y);\n }\n if (notNE) {\n this.offsetLeft.emit(position.x - this.oldPosition.x);\n }\n this.oldPosition = position;\n }\n\n private setOffsets(position, x: boolean, y: boolean) {\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\n this.offsetX.emit(offsetX);\n this.offsetY.emit(offsetY);\n }\n\n end($event: DragEvent, el: string) {\n // ff\n this.resize($event, el);\n this.release.emit(true);\n this.grab = false;\n }\n\n start($event: DragEvent) {\n this.drop($event);\n }\n\n drop($event: DragEvent) {\n $event.stopPropagation();\n $event.preventDefault();\n }\n\n private getElementId(el: string) {\n return \"#\" + el + \"-\" + this.id;\n }\n}\n","import {TabActivatorService} from \"./tab-activator.service\";\n\nexport class TopTabActivatorService extends TabActivatorService {\n\n constructor() {\n super();\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {ExceptionMessageService} from \"../exception-message.service\";\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\nimport {ModalService, CommonModals} from \"../modal.service\";\n\n@Component({\n selector: 'gd-top-tab',\n templateUrl: './top-tab.component.html',\n styleUrls: ['./top-tab.component.less']\n})\nexport class TopTabComponent implements OnInit {\n @Input() id: string;\n @Input() icon: string;\n @Input() disabled = false;\n @Input() tooltip: string;\n @Output() activeTab = new EventEmitter();\n @Input() elementPosition = 0;\n public active = false;\n public showToolTip = false;\n\n constructor(private _tabActivatorService: TopTabActivatorService,\n private _modalService: ModalService,\n private _excMessageService: ExceptionMessageService) {\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\n this.activation(tabId);\n if (tabId === null) {\n this.activeTab.emit(\"\");\n }\n });\n }\n\n private activation(tabId: string) {\n if (this.id === tabId) {\n this.active = !this.active;\n if (this.active) {\n this.activeTab.emit(this.id);\n } else {\n this.activeTab.emit(\"\");\n }\n } else {\n this.active = false;\n }\n }\n\n ngOnInit() {\n }\n\n toggleTab() {\n if (this.disabled) {\n this._modalService.open(CommonModals.ErrorMessage);\n this._excMessageService.changeMessage(\"Please open document first\");\n return;\n }\n this._tabActivatorService.changeActiveTab(this.id);\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\nimport * as jquery from 'jquery';\nimport {FormattingService} from \"../formatting.service\";\nimport {OnCloseService} from \"../on-close.service\";\nimport {Option} from \"../select/select.component\";\nimport { ZoomService } from '../zoom.service';\nimport { WindowService } from '../window.service';\n\nconst $ = jquery;\n\n@Component({\n selector: 'gd-text-menu',\n templateUrl: './text-menu.component.html',\n styleUrls: ['./text-menu.component.less']\n})\nexport class TextMenuComponent implements OnInit {\n @Input() blur: boolean;\n @Input() fontSize: number;\n @Input() font: string;\n @Input() bold: boolean;\n @Input() italic: boolean;\n @Input() underline: boolean;\n @Input() color: string;\n @Input() decoration = true;\n @Input() showTooltips = true;\n\n @Output() outFontSize = new EventEmitter();\n @Output() outFont = new EventEmitter();\n @Output() outBold = new EventEmitter();\n @Output() outItalic = new EventEmitter();\n @Output() outUnderline = new EventEmitter();\n @Output() outColor = new EventEmitter();\n\n fontSizeOptions = FormattingService.getFontSizeOptions();\n fontOptions = FormattingService.getFontOptions();\n colorPickerShow = false;\n\n isMobile: boolean;\n\n constructor(private _onCloseService: OnCloseService,\n private _zoomService: ZoomService,\n private _windowService: WindowService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n \n _onCloseService.onClose.subscribe(() => {\n this.colorPickerShow = false;\n });\n\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changePosition(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changePosition(val: number) {\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\n }\n\n selectFontSize($event: Option) {\n $(\".gd-wrapper\").off(\"keyup\");\n this.outFontSize.emit($event.value);\n $(\".gd-wrapper\").on(\"keyup\", () => {\n const fontElements = document.getElementsByTagName(\"font\");\n for (let i = 0, len = fontElements.length; i < len; ++i) {\n if (fontElements[i].getAttribute('size') === \"7\") {\n fontElements[i].removeAttribute(\"size\");\n fontElements[i].style.fontSize = $event + \"px\";\n }\n }\n });\n }\n\n selectFont($event: Option) {\n event.preventDefault();\n event.stopPropagation();\n this.outFont.emit($event.value);\n }\n\n toggleColorPicker($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.colorPickerShow = !this.colorPickerShow;\n }\n\n selectColor($event: string) {\n this.colorPickerShow = false;\n this.outColor.emit($event);\n }\n\n toggleBold(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outBold.emit(!this.bold);\n }\n\n toggleItalic(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outItalic.emit(!this.italic);\n }\n\n toggleUnderline(event) {\n event.preventDefault();\n event.stopPropagation();\n this.outUnderline.emit(!this.underline);\n }\n\n closePicker($event) {\n this.colorPickerShow = !$event;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\nimport {Formatting} from \"../formatting.service\";\nimport {WindowService} from \"../window.service\";\nimport { ZoomService } from '../zoom.service';\n\nexport class MenuType {\n public static FOR_SIGNATURE = \"signature\";\n public static FOR_ANNOTATION = \"annotation\";\n}\n\n@Component({\n selector: 'gd-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.less']\n})\nexport class ContextMenuComponent implements OnInit {\n @Input() formatting: Formatting = Formatting.default();\n @Input() textMenu: boolean;\n @Input() topPosition: number;\n @Input() lock = false;\n @Input() translation = 0;\n @Input() menuType: string;\n @Output() changeFormatting = new EventEmitter();\n @Output() removeItem = new EventEmitter();\n @Output() copySign = new EventEmitter();\n @Output() lockOut = new EventEmitter();\n @Output() comment = new EventEmitter();\n\n isMobile: boolean;\n\n constructor(private _windowService: WindowService,\n private _zoomService: ZoomService,\n protected _elementRef: ElementRef,\n private renderer: Renderer2) {\n this.isMobile = _windowService.isMobile();\n _windowService.onResize.subscribe((w) => {\n this.isMobile = _windowService.isMobile();\n });\n\n _zoomService.zoomChange.subscribe((val: number) => {\n if (this.isMobile)\n {\n this.changeScale(val);\n }\n });\n }\n\n ngOnInit() {\n }\n\n changeScale(val: number){\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\n }\n\n saveChanges() {\n this.changeFormatting.emit(this.formatting);\n }\n\n selectFontSize($event: number) {\n this.formatting.fontSize = $event;\n this.saveChanges();\n }\n\n selectFont($event: string) {\n this.formatting.font = $event;\n this.saveChanges();\n }\n\n selectColor($event: string) {\n this.formatting.color = $event;\n this.saveChanges();\n }\n\n toggleBold($event) {\n this.formatting.bold = $event;\n this.saveChanges();\n }\n\n toggleItalic($event) {\n this.formatting.italic = $event;\n this.saveChanges();\n }\n\n toggleUnderline($event) {\n this.formatting.underline = $event;\n this.saveChanges();\n }\n\n deleteItem() {\n this.removeItem.emit(true);\n }\n\n toggleLock() {\n this.lock = !this.lock;\n this.lockOut.emit(this.lock);\n }\n\n onCopySign() {\n this.copySign.emit(true);\n }\n\n isSignature() {\n return this.menuType === MenuType.FOR_SIGNATURE;\n }\n\n isAnnotation() {\n return this.menuType === MenuType.FOR_ANNOTATION;\n }\n\n addComment() {\n this.comment.emit(true);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TopToolbarComponent} from './top-toolbar/top-toolbar.component';\nimport {SidePanelComponent} from './side-panel/side-panel.component';\nimport {ButtonComponent} from './button/button.component';\nimport {LogoComponent} from './logo/logo.component';\nimport {TooltipComponent} from './tooltip/tooltip.component';\nimport {FontAwesomeModule} from '@fortawesome/angular-fontawesome';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons';\nimport {far} from '@fortawesome/free-regular-svg-icons';\nimport {Api, ConfigService,} from \"./config.service\";\nimport {ModalService} from \"./modal.service\";\nimport {ModalComponent} from './modal/modal.component';\nimport {BrowseFilesModalComponent} from './browse-files-modal/browse-files-modal.component';\nimport {FileModel, FileService, FileUtil, Utils} from \"./file.service\";\nimport {DocumentComponent} from './document/document.component';\nimport {PageComponent} from './page/page.component';\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\nimport {UploadFilesService} from \"./upload-files.service\";\nimport {DndDirective} from './dnd.directive';\nimport {ScrollableDirective} from './scrollable.directive';\nimport {MouseWheelDirective} from './mousewheel.directive';\nimport {NavigateService} from \"./navigate.service\";\nimport {PagePreloadService} from \"./page-preload.service\";\nimport {ZoomDirective} from './zoom.directive';\nimport {ZoomService} from \"./zoom.service\";\nimport {SelectComponent} from './select/select.component';\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\nimport {RotationDirective} from './rotation.directive';\nimport {InitStateComponent} from './init-state/init-state.component';\nimport {RenderPrintService} from \"./render-print.service\";\nimport {RenderPrintDirective} from './render-print.directive';\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\nimport {ExceptionMessageService} from \"./exception-message.service\";\nimport {PasswordService} from \"./password.service\";\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\nimport {SearchComponent} from './search/search.component';\nimport {SearchableDirective} from './searchable.directive';\nimport {SearchService} from \"./search.service\";\nimport {WindowService} from \"./window.service\";\nimport {ViewportService} from \"./viewport.service\";\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\nimport {TabComponent} from \"./tab/tab.component\";\nimport {TabsComponent} from \"./tabs/tabs.component\";\nimport {FormattingService} from \"./formatting.service\";\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\nimport {FormattingDirective} from './formatting.directive';\nimport {BackFormattingService} from \"./back-formatting.service\";\nimport {OnCloseService} from \"./on-close.service\";\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\nimport {EditorDirective} from './editor.directive';\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\nimport {LoadingMaskService} from './loading-mask.service';\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\nimport {TabActivatorService} from \"./tab-activator.service\";\nimport {\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent\n} from './drop-down/drop-down.component';\nimport {ClickOutsideModule} from 'ng-click-outside';\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\nimport {TooltipDirective} from './tooltip.directive';\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\nimport {HostDynamicDirective} from './host-dynamic.directive';\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\nimport {ResizingComponent} from './resizing/resizing.component';\nimport {TopTabComponent} from './top-tab/top-tab.component';\nimport {TopTabActivatorService} from \"./top-tab-activator.service\";\nimport {TextMenuComponent} from './text-menu/text-menu.component';\nimport {ContextMenuComponent} from './context-menu/context-menu.component';\n\nconst providers = [ConfigService,\n Api,\n ModalService,\n FileService,\n FileModel,\n FileUtil,\n Utils,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFilesService,\n RenderPrintService,\n NavigateService,\n PagePreloadService,\n ZoomService,\n ExceptionMessageService,\n PasswordService,\n ErrorInterceptorService,\n SearchService,\n WindowService,\n ViewportService,\n FormattingService,\n BackFormattingService,\n OnCloseService,\n LoadingMaskInterceptorService,\n LoadingMaskService,\n TabActivatorService,\n AddDynamicComponentService,\n HostingDynamicComponentService,\n TopTabActivatorService];\n\n@NgModule({\n imports: [CommonModule, FontAwesomeModule, ClickOutsideModule],\n declarations: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeHtmlPipe,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n UploadFileZoneComponent,\n DndDirective,\n ScrollableDirective,\n MouseWheelDirective,\n ZoomDirective,\n SelectComponent,\n DisabledCursorDirective,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n EditorDirective,\n LoadingMaskComponent,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n exports: [\n TopToolbarComponent,\n SidePanelComponent,\n ButtonComponent,\n LogoComponent,\n TooltipComponent,\n ModalComponent,\n BrowseFilesModalComponent,\n DocumentComponent,\n PageComponent,\n SanitizeResourceHtmlPipe,\n SanitizeStylePipe,\n HighlightSearchPipe,\n SanitizeHtmlPipe,\n UploadFileZoneComponent,\n ScrollableDirective,\n MouseWheelDirective,\n SelectComponent,\n RotationDirective,\n InitStateComponent,\n RenderPrintDirective,\n ErrorModalComponent,\n PasswordRequiredComponent,\n SearchComponent,\n SearchableDirective,\n TabbedToolbarsComponent,\n TabComponent,\n TabsComponent,\n ColorPickerComponent,\n FormattingDirective,\n SuccessModalComponent,\n LoadingMaskComponent,\n DndDirective,\n DropDownComponent,\n DropDownItemComponent,\n DropDownItemsComponent,\n DropDownToggleComponent,\n ZoomDirective,\n DropDownToggleComponent,\n LeftSideBarComponent,\n TooltipDirective,\n HostDynamicDirective,\n ResizingComponent,\n TopTabComponent,\n TextMenuComponent,\n ContextMenuComponent\n ],\n providers: providers\n})\nexport class CommonComponentsModule {\n constructor() {\n library.add(fas, far);\n }\n}\n"],"names":["tslib_1.__extends","$","tslib_1.__values"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"groupdocs.examples.angular-common-components.js","sources":["ng://@groupdocs.examples.angular/common-components/lib/top-toolbar/top-toolbar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/side-panel/side-panel.component.ts","ng://@groupdocs.examples.angular/common-components/lib/window.service.ts","ng://@groupdocs.examples.angular/common-components/lib/button/button.component.ts","ng://@groupdocs.examples.angular/common-components/lib/logo/logo.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip/tooltip.component.ts","ng://@groupdocs.examples.angular/common-components/lib/config.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal.service.ts","ng://@groupdocs.examples.angular/common-components/lib/modal/modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/file.service.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-files.service.ts","ng://@groupdocs.examples.angular/common-components/lib/browse-files-modal/browse-files-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.service.ts","ng://@groupdocs.examples.angular/common-components/lib/page-preload.service.ts","ng://@groupdocs.examples.angular/common-components/lib/navigate.service.ts","ng://@groupdocs.examples.angular/common-components/lib/document/document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page.service.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-page/excel-page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/excel-document/excel-document.component.ts","ng://@groupdocs.examples.angular/common-components/lib/page/page.component.ts","ng://@groupdocs.examples.angular/common-components/lib/pipes.ts","ng://@groupdocs.examples.angular/common-components/lib/upload-file-zone/upload-file-zone.component.ts","ng://@groupdocs.examples.angular/common-components/lib/dnd.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/viewport.service.ts","ng://@groupdocs.examples.angular/common-components/lib/scrollable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/mousewheel.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/zoom.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/on-close.service.ts","ng://@groupdocs.examples.angular/common-components/lib/select/select.component.ts","ng://@groupdocs.examples.angular/common-components/lib/disabled-cursor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/rotation.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/init-state/init-state.component.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.service.ts","ng://@groupdocs.examples.angular/common-components/lib/render-print.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/exception-message.service.ts","ng://@groupdocs.examples.angular/common-components/lib/error-modal/error-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/password.service.ts","ng://@groupdocs.examples.angular/common-components/lib/password-required/password-required.component.ts","ng://@groupdocs.examples.angular/common-components/lib/error-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search.service.ts","ng://@groupdocs.examples.angular/common-components/lib/search/search.component.ts","ng://@groupdocs.examples.angular/common-components/lib/searchable.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/tabbed-toolbars/tabbed-toolbars.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/tab/tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tabs/tabs.component.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/color-picker/color-picker.component.ts","ng://@groupdocs.examples.angular/common-components/lib/back-formatting.service.ts","ng://@groupdocs.examples.angular/common-components/lib/selection.service.ts","ng://@groupdocs.examples.angular/common-components/lib/formatting.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/success-modal/success-modal.component.ts","ng://@groupdocs.examples.angular/common-components/lib/edit-html.service.ts","ng://@groupdocs.examples.angular/common-components/lib/editor.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask.service.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask/loading-mask.component.ts","ng://@groupdocs.examples.angular/common-components/lib/loading-mask-interceptor.service.ts","ng://@groupdocs.examples.angular/common-components/lib/drop-down/drop-down.component.ts","ng://@groupdocs.examples.angular/common-components/lib/left-side-bar/left-side-bar.component.ts","ng://@groupdocs.examples.angular/common-components/lib/tooltip.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/add-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/hosting-dynamic-component.service.ts","ng://@groupdocs.examples.angular/common-components/lib/host-dynamic.directive.ts","ng://@groupdocs.examples.angular/common-components/lib/resizing/resizing.component.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab-activator.service.ts","ng://@groupdocs.examples.angular/common-components/lib/top-tab/top-tab.component.ts","ng://@groupdocs.examples.angular/common-components/lib/text-menu/text-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/context-menu/context-menu.component.ts","ng://@groupdocs.examples.angular/common-components/lib/common-components.module.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-top-toolbar',\r\n templateUrl: './top-toolbar.component.html',\r\n styleUrls: ['./top-toolbar.component.less']\r\n})\r\nexport class TopToolbarComponent {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-side-panel',\r\n templateUrl: './side-panel.component.html',\r\n styleUrls: ['./side-panel.component.less']\r\n})\r\n\r\nexport class SidePanelComponent {\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() closable = true;\r\n @Input() saveable = true;\r\n @Output() hideSidePanel = new EventEmitter();\r\n @Output() saveInSidePanel = new EventEmitter();\r\n\r\n onlyTitle = false;\r\n\r\n constructor() {\r\n }\r\n\r\n closeSidePanel() {\r\n this.hideSidePanel.emit(true);\r\n }\r\n\r\n saveBySidePanel() {\r\n this.saveInSidePanel.emit(true);\r\n }\r\n\r\n toggleTitleMode(){\r\n if (this.closable && !this.saveable) {\r\n this.onlyTitle = !this.onlyTitle;\r\n }\r\n }\r\n}\r\n","import {fromEvent, Observable, Subject} from \"rxjs\";\r\nimport {debounceTime, distinctUntilChanged, startWith, tap} from \"rxjs/operators\";\r\n\r\nconst MOBILE_MAX_WIDTH = 425;\r\nconst TABLET_MAX_WIDTH = 1024;\r\n\r\nexport class WindowService {\r\n\r\n private resizeSubject: Subject = new Subject();\r\n private _resize$;\r\n private width: number;\r\n private height: number;\r\n\r\n constructor() {\r\n this.width = window.innerWidth;\r\n this.height = window.innerHeight;\r\n\r\n this._resize$ = fromEvent(window, 'resize')\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n startWith({target: {innerWidth: window.innerWidth, innerHeight: window.innerHeight}}),\r\n tap(event => {\r\n this.resizeSubject.next(event.target);\r\n this.width = (event.target as Window).innerWidth;\r\n this.height = (event.target as Window).innerHeight;\r\n }),\r\n );\r\n this._resize$.subscribe();\r\n }\r\n\r\n get onResize(): Observable {\r\n return this.resizeSubject.asObservable();\r\n }\r\n\r\n isMobile() {\r\n return this.width <= MOBILE_MAX_WIDTH;\r\n }\r\n\r\n isTablet() {\r\n return this.width <= TABLET_MAX_WIDTH;\r\n }\r\n\r\n isDesktop() {\r\n return !this.isMobile() && !this.isTablet();\r\n }\r\n\r\n getWidth() {\r\n return this.width;\r\n }\r\n\r\n getHeight() {\r\n return this.height;\r\n }\r\n\r\n isEdge() {\r\n return window.navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n isFirefox() {\r\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {WindowService} from \"../window.service\";\r\n\r\n@Component({\r\n selector: 'gd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() iconOnly = true;\r\n @Input() intent = 'default';\r\n @Input() disabled = false;\r\n @Input() icon: string;\r\n @Input() iconClass: string;\r\n @Input() tooltip: string;\r\n @Input() className: string;\r\n @Input() toggle = false;\r\n @Input() iconSize: string;\r\n @Input() iconRegular = false;\r\n @Input() elementPosition = 0;\r\n\r\n showToolTip = false;\r\n private isDesktop: boolean;\r\n\r\n constructor(windowService: WindowService) {\r\n this.isDesktop = windowService.isDesktop();\r\n windowService.onResize.subscribe((w) => {\r\n this.isDesktop = windowService.isDesktop();\r\n });\r\n }\r\n\r\n iconButtonClass() {\r\n return this.iconOnly ? 'icon-button' : '';\r\n }\r\n\r\n onHovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className += ' active';\r\n }\r\n }\r\n\r\n onUnhovering() {\r\n if (this.isDesktop && !this.disabled) {\r\n this.className = this.cleanAll(this.className, ' active');\r\n }\r\n }\r\n\r\n private cleanAll(str: string, val: string) {\r\n while (str && str.indexOf(val) !== -1) {\r\n str = str.replace(val, '');\r\n }\r\n return str;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.less']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n\r\n @Input() logo;\r\n @Input() icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() text: string;\r\n @Input() position = 0;\r\n visibility = 'hidden';\r\n\r\n constructor() {\r\n }\r\n\r\n getClass() {\r\n if (this.position === 0) {\r\n return 'tooltip';\r\n }\r\n return 'tooltip ' + (this.position > 0 ? 'last-element' : 'first-element');\r\n }\r\n\r\n @Input()\r\n set show(value: boolean) {\r\n this.visibility = value ? 'shown' : 'hidden';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {HttpHeaders} from \"@angular/common/http\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\nexport class Api {\r\n public static VIEWER_APP = '/viewer';\r\n public static SIGNATURE_APP = '/signature';\r\n public static ANNOTATION_APP = '/annotation';\r\n public static SEARCH_APP = '/search';\r\n public static EDITOR_APP = '/editor';\r\n public static COMPARISON_APP = '/comparison';\r\n public static CONVERSION_APP = '/conversion';\r\n public static METADATA_APP = '/metadata';\r\n public static DEFAULT_API_ENDPOINT = window.location.href;\r\n public static LOAD_FILE_TREE = '/loadFileTree';\r\n public static LOAD_CONFIG = '/loadConfig';\r\n public static LOAD_DOCUMENT_DESCRIPTION = '/loadDocumentDescription';\r\n public static LOAD_DOCUMENT_PAGE = '/loadDocumentPage';\r\n public static LOAD_DOCUMENT_PROPERTIES = '/loadProperties';\r\n public static LOAD_DOCUMENT_PROPERTIES_NAMES = '/loadPropertiesNames';\r\n public static SAVE_PROPERTY = '/saveProperty';\r\n public static REMOVE_PROPERTY = '/removeProperty';\r\n public static ROTATE_DOCUMENT_PAGE = '/rotateDocumentPages';\r\n public static UPLOAD_DOCUMENTS = '/uploadDocument';\r\n public static DOWNLOAD_DOCUMENTS = '/downloadDocument';\r\n public static DOWNLOAD_ANNOTATED = '/downloadAnnotated';\r\n public static LOAD_PRINT = '/loadPrint';\r\n public static LOAD_PRINT_PDF = '/printPdf';\r\n public static LOAD_THUMBNAILS = '/loadThumbnails';\r\n public static LOAD_FORMATS = '/loadFormats';\r\n public static SAVE_FILE = '/saveFile';\r\n public static CREATE_FILE = '/createFile';\r\n public static COMPARE_FILES = '/compare';\r\n public static CONVERT_FILE = '/convert';\r\n public static DELETE_SIGNATURE_FILE = '/deleteSignatureFile';\r\n public static REMOVE_FROM_INDEX = '/removeFromIndex';\r\n public static GET_FILE_STATUS = '/getFileStatus';\r\n public static SAVE_OPTICAL_CODE = '/saveOpticalCode';\r\n public static SAVE_TEXT = '/saveText';\r\n public static SAVE_IMAGE = '/saveImage';\r\n public static SAVE_STAMP = '/saveStamp';\r\n public static SIGN = '/sign';\r\n public static DOWNLOAD_SIGNED = '/downloadSigned';\r\n public static LOAD_SIGNATURE_IMAGE = '/loadSignatureImage';\r\n public static ANNOTATE = '/annotate';\r\n public static SEARCH = '/search';\r\n public static ADD_FILES_TO_INDEX = '/addFilesToIndex';\r\n public static CLEAN_METADATA = '/clean';\r\n public static EXPORT_METADATA = '/export';\r\n\r\n public static httpOptionsJson = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n };\r\n public static httpOptionsJsonResponseTypeBlob = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n responseType: 'blob' as 'blob'\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n private _apiEndpoint: string;\r\n\r\n constructor() {\r\n this.apiEndpoint = Api.DEFAULT_API_ENDPOINT;\r\n }\r\n\r\n set apiEndpoint(url: string) {\r\n this._apiEndpoint = url && url.trim().endsWith('/') ? url.substring(0, url.length - 1) : url;\r\n }\r\n\r\n getConfigEndpoint(app) {\r\n return (this.apiEndpoint.endsWith(app) ? this.apiEndpoint : this.apiEndpoint + app) + Api.LOAD_CONFIG;\r\n }\r\n\r\n getViewerApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.VIEWER_APP) ? this._apiEndpoint : this._apiEndpoint + Api.VIEWER_APP;\r\n }\r\n\r\n getEditorApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.EDITOR_APP) ? this._apiEndpoint : this._apiEndpoint + Api.EDITOR_APP;\r\n }\r\n\r\n getComparisonApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.COMPARISON_APP) ? this._apiEndpoint : this._apiEndpoint + Api.COMPARISON_APP;\r\n }\r\n\r\n getConversionApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.CONVERSION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.CONVERSION_APP;\r\n }\r\n\r\n getMetadataApiEndpoint() {\r\n return this._apiEndpoint.trim().endsWith(Api.METADATA_APP) ? this._apiEndpoint : this._apiEndpoint + Api.METADATA_APP;\r\n }\r\n\r\n get apiEndpoint() {\r\n return this._apiEndpoint;\r\n }\r\n\r\n getSignatureApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SIGNATURE_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SIGNATURE_APP;\r\n }\r\n\r\n getAnnotationApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.ANNOTATION_APP) ? this._apiEndpoint : this._apiEndpoint + Api.ANNOTATION_APP;\r\n }\r\n\r\n getSearchApiEndpoint() {\r\n return this._apiEndpoint.endsWith(Api.SEARCH_APP) ? this._apiEndpoint : this._apiEndpoint + Api.SEARCH_APP;\r\n }\r\n}\r\n","export class CommonModals {\r\n static PasswordRequired = \"gd-password-required\";\r\n static ErrorMessage = \"gd-error-message\";\r\n static BrowseFiles = \"gd-browse-files\";\r\n static CreateDocument = \"gd-create-document\";\r\n static OperationSuccess = \"gd-success-modal\";\r\n static DrawHandSignature = \"gd-draw-hand-signature\";\r\n static DrawStampSignature = \"gd-draw-stamp-signature\";\r\n static InformationMessage = \"gd-information-message\";\r\n}\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.open();\r\n }\r\n }\r\n\r\n close(id: string) {\r\n const modal: any = this.modals.filter(x => x.id === id)[0];\r\n if (modal) {\r\n modal.close();\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {ModalService} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.less']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n @Input() title: string;\r\n @Output() visible = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n visibility = false;\r\n private element: any;\r\n\r\n constructor(private modalService: ModalService, el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n document.body.appendChild(this.element);\r\n\r\n this.modalService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n open(): void {\r\n this.visibility = true;\r\n this.visible.emit(true);\r\n }\r\n\r\n close(): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.visibility = false;\r\n this.visible.emit(false);\r\n }\r\n\r\n onClose($event: MouseEvent) {\r\n $event.stopPropagation();\r\n if ($event && $event.target && ($event.target).id === 'modalDialog') {\r\n this.close();\r\n }\r\n }\r\n\r\n cancelClose() {\r\n this.cancel.emit(false);\r\n this.close();\r\n }\r\n}\r\n","export class PageModel {\r\n data: string;\r\n angle: number;\r\n width: number;\r\n height: number;\r\n number: number;\r\n editable: boolean;\r\n}\r\n\r\nexport class RotatedPage {\r\n pageNumber: number;\r\n angle: number;\r\n}\r\n\r\nexport class FileCredentials {\r\n guid: string;\r\n password: string;\r\n\r\n constructor(guid: string, password: string) {\r\n this.guid = guid;\r\n this.password = password;\r\n }\r\n}\r\n\r\nexport class SaveFile extends FileCredentials {\r\n content: string;\r\n pageNumber: number;\r\n\r\n constructor(guid: string, password: string, content: string, pageNumber: number) {\r\n super(guid, password);\r\n this.content = content;\r\n this.pageNumber = pageNumber;\r\n }\r\n}\r\n\r\nexport class FileDescription {\r\n guid: string;\r\n pages: PageModel[];\r\n printAllowed = true;\r\n showGridLines: boolean;\r\n thumbnails: PageModel[];\r\n}\r\n\r\nexport class FileModel {\r\n guid: string;\r\n name: string;\r\n directory: boolean;\r\n size: number;\r\n isDirectory: boolean;\r\n}\r\n\r\nexport class HttpError {\r\n static BadRequest = 400;\r\n static Unauthorized = 401;\r\n static Forbidden = 403;\r\n static NotFound = 404;\r\n static TimeOut = 408;\r\n static Conflict = 409;\r\n static InternalServerError = 500;\r\n}\r\n\r\nexport class Utils {\r\n public static getMousePosition(event) {\r\n const mouse = {\r\n x: 0,\r\n y: 0\r\n };\r\n const wEvent: DragEvent = window.event;\r\n const ev = event || wEvent; //Moz || IE\r\n if (ev.pageX || wEvent.pageX || wEvent.screenX || (ev.touches && ev.touches[0] && ev.touches[0].pageX)) { //Moz\r\n const pageX = typeof ev.pageX !== \"undefined\" && ev.pageX !== 0 ? ev.pageX : wEvent.pageX;\r\n const pageY = typeof ev.pageY !== \"undefined\" && ev.pageY !== 0 ? ev.pageY : wEvent.pageY;\r\n const screenX = typeof wEvent.screenX !== \"undefined\" && wEvent.screenY !== 0;\r\n const screenY = typeof wEvent.screenY !== \"undefined\" && wEvent.screenY !== 0;\r\n mouse.x = pageX ? pageX : (screenX ? wEvent.screenX : ev.touches[0].pageX);\r\n mouse.y = pageY ? pageY : (screenY ? wEvent.screenY : ev.touches[0].pageY);\r\n } else if (ev.clientX) { //IE\r\n mouse.x = ev.clientX + document.body.scrollLeft;\r\n mouse.y = ev.clientY + document.body.scrollTop;\r\n }\r\n return mouse;\r\n }\r\n\r\n public static toRgb(color: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(color);\r\n if (result) {\r\n const r = parseInt(result[1], 16);\r\n const g = parseInt(result[2], 16);\r\n const b = parseInt(result[3], 16);\r\n return result ? 'rgb(' + r + ',' + g + ',' + b + ')' : '';\r\n }\r\n return color;\r\n }\r\n\r\n public static toHex(color: string) {\r\n // check if color is standard hex value\r\n if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {\r\n return (color.charAt(0) === \"#\") ? color : (\"#\" + color);\r\n // check if color is RGB value -> convert to hex\r\n } else if (color.match(/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/)) {\r\n const c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),\r\n pad = function (str) {\r\n if (str.length < 2) {\r\n for (let i = 0, len = 2 - str.length; i < len; i++) {\r\n str = '0' + str;\r\n }\r\n }\r\n return str;\r\n };\r\n if (c.length === 3) {\r\n const r = pad(c[0].toString(16)),\r\n g = pad(c[1].toString(16)),\r\n b = pad(c[2].toString(16));\r\n return '#' + r + g + b;\r\n }\r\n // else do nothing\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\nexport class FileUtil {\r\n public static map = {\r\n 'folder': {'format': '', 'icon': 'folder'},\r\n 'pdf': {'format': 'Portable Document Format', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'doc': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'docm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dot': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotx': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dotm': {'format': 'Microsoft Word', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xls': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xlsb': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xls2003': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltx': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'xltm': {'format': 'Microsoft Excel', 'icon': 'file-excel', 'unit': 'px'},\r\n 'ppt': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pps': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsx': {'format': 'Microsoft PowerPoint', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'vsd': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vss': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vst': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vtx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vsdx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vdw': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vstx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'vssx': {'format': 'Microsoft Visio', 'icon': 'file-code', 'unit': 'px'},\r\n 'mpp': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'mpt': {'format': 'Microsoft Project', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'msg': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'eml': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'emlx': {'format': 'Microsoft Outlook', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'one': {'format': 'Microsoft OneNote', 'icon': 'file-word', 'unit': 'pt'},\r\n 'odt': {'format': 'Open Document Text', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ott': {'format': 'Open Document Text Template', 'icon': 'file-word', 'unit': 'pt'},\r\n 'ods': {'format': 'Open Document Spreadsheet', 'icon': 'file-excel', 'unit': 'px'},\r\n 'odp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'otp': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ots': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potx': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'potm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'pptm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'ppsm': {'format': 'Open Document Presentation', 'icon': 'file-powerpoint', 'unit': 'pt'},\r\n 'rtf': {'format': 'Rich Text Format', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'txt': {'format': 'Plain Text File', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'csv': {'format': 'Comma-Separated Values', 'icon': 'file-excel', 'unit': 'px'},\r\n 'html': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mht': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'mhtml': {'format': 'HyperText Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xml': {'format': 'Extensible Markup Language', 'icon': 'file-word', 'unit': 'pt'},\r\n 'xps': {'format': 'XML Paper Specification', 'icon': 'file-word', 'unit': 'pt'},\r\n 'dxf': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'dwg': {'format': 'AutoCAD Drawing File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'bmp': {'format': 'Bitmap Picture', 'icon': 'file-image', 'unit': 'px'},\r\n 'gif': {'format': 'Graphics Interchange Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpe': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jpeg': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'jfif': {'format': 'Joint Photographic Experts Group', 'icon': 'file-image', 'unit': 'px'},\r\n 'png': {'format': 'Portable Network Graphics', 'icon': 'file-image', 'unit': 'px'},\r\n 'tiff': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'tif': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'psd': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'svg': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'jp2': {'format': 'Tagged Image File Format', 'icon': 'file-image', 'unit': 'px'},\r\n 'epub': {'format': 'Electronic Publication', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'ico': {'format': 'Windows Icon', 'icon': 'file-image', 'unit': 'px'},\r\n 'webp': {'format': 'Compressed Image', 'icon': 'file-image', 'unit': 'px'},\r\n 'mobi': {'format': 'Mobipocket eBook', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'tex': {'format': 'LaTeX Source Document', 'icon': 'file-pdf', 'unit': 'pt'},\r\n 'djvu': {'format': 'Multi-Layer Raster Image', 'icon': 'file-alt', 'unit': 'pt'},\r\n 'unknown': {'format': 'This format is not supported', 'icon': 'file'},\r\n };\r\n\r\n public static find(filename: string, isDirectory: boolean) {\r\n if (filename && !isDirectory) {\r\n const strings = filename.split('.');\r\n const name = strings.pop().toLowerCase();\r\n if (typeof FileUtil.map[name] === \"undefined\") {\r\n return strings.length > 0 ? FileUtil.map['unknown'] : FileUtil.map['folder'];\r\n } else {\r\n return FileUtil.map[name];\r\n }\r\n } else {\r\n return FileUtil.map['folder'];\r\n }\r\n }\r\n}\r\n\r\nexport class FileService {\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class UploadFilesService {\r\n private _uploadsChange: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._uploadsChange = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get uploadsChange(): Observable {\r\n return this._uploadsChange;\r\n }\r\n\r\n changeFilesList(filesList: FileList) {\r\n this._observer.next(filesList);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FileModel, FileUtil} from \"../file.service\";\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\nconst upload_disc = 'Disc';\r\n\r\nconst upload_url = 'URL';\r\n\r\nconst uploads_choices = [{name: upload_disc, icon: 'hdd'}, {name: upload_url, icon: 'link'}];\r\n\r\n@Component({\r\n selector: 'gd-browse-files-modal',\r\n templateUrl: './browse-files-modal.component.html',\r\n styleUrls: ['./browse-files-modal.component.less']\r\n})\r\nexport class BrowseFilesModalComponent implements OnInit {\r\n uploads = uploads_choices;\r\n\r\n @Input() files;\r\n @Input() uploadConfig;\r\n @Output() selectedFileGuid = new EventEmitter();\r\n @Output() selectedDirectory = new EventEmitter();\r\n @Output() urlForUpload = new EventEmitter();\r\n @Output() closing = new EventEmitter();\r\n private selectedFile: FileModel;\r\n showUploadUrl = false;\r\n showUploadFile = false;\r\n\r\n constructor(private _uploadService: UploadFilesService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSize(size: number) {\r\n const mb = size / 1024 / 1024;\r\n if (mb > 1) {\r\n return (Math.round(mb * 100) / 100) + ' MB';\r\n } else {\r\n const kb = size / 1024;\r\n if (kb > 1) {\r\n return (Math.round(kb * 100) / 100) + ' KB';\r\n }\r\n }\r\n return size + ' Bytes';\r\n }\r\n\r\n getFormatName(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).format;\r\n }\r\n\r\n getFormatIcon(file: FileModel) {\r\n return FileUtil.find(file.name, file.directory).icon;\r\n }\r\n\r\n choose(file: FileModel) {\r\n this.selectedFile = file;\r\n if (file.directory || file.isDirectory) {\r\n this.selectedDirectory.emit(file.name);\r\n } else {\r\n this.selectedFileGuid.emit(file.guid);\r\n }\r\n }\r\n\r\n goUp() {\r\n if (this.selectedFile) {\r\n let guid = this.selectedFile.guid;\r\n if (guid.length > 0 && guid.indexOf('/') === -1) {\r\n guid = '';\r\n } else {\r\n guid = guid.replace(/\\/[^\\/]+\\/?$/, '');\r\n }\r\n this.selectedDirectory.emit(guid);\r\n }\r\n }\r\n\r\n selectUpload($event: string) {\r\n if (upload_url === $event) {\r\n this.showUploadUrl = true;\r\n } else {\r\n this.showUploadUrl = false;\r\n $(\"#gd-upload-input\").trigger('click');\r\n }\r\n }\r\n\r\n refresh($event) {\r\n\r\n if ($event) {\r\n this.files = null;\r\n this.selectedDirectory.emit('');\r\n this.showUploadUrl = false;\r\n this.selectedFile = null;\r\n } else {\r\n this.closing.emit(true);\r\n }\r\n }\r\n\r\n showSpinner() {\r\n return !this.files;\r\n }\r\n\r\n uploadUrl(url: string) {\r\n if (url) {\r\n this.urlForUpload.emit(url);\r\n this.cleanUpload();\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n }\r\n\r\n cleanUpload() {\r\n this.showUploadFile = false;\r\n this.showUploadUrl = false;\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class ZoomService {\r\n private _observer: Subject = new Subject();\r\n private readonly _zoomChange: Observable = this._observer.asObservable();\r\n private _zoom: number;\r\n\r\n constructor() {\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n\r\n get zoomChange(): Observable {\r\n return this._zoomChange;\r\n }\r\n\r\n changeZoom(zoom: number) {\r\n this._zoom = zoom;\r\n this._observer.next(zoom);\r\n }\r\n\r\n private createZoomOption(val: any, name: string, sep: boolean = false) {\r\n return {value: val, name: name, separator: sep}\r\n }\r\n\r\n zoomOptions(width, height) {\r\n return [this.createZoomOption(25, '25%'),\r\n this.createZoomOption(50, '50%'),\r\n this.createZoomOption(100,'100%'),\r\n this.createZoomOption(150, '150%'),\r\n this.createZoomOption(200, '200%'),\r\n this.createZoomOption(300, '300%'),\r\n this.createZoomOption(0, '', true),\r\n this.createZoomOption(width, 'Fit Width'),\r\n this.createZoomOption(height, 'Fit Height')];\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\n\r\nexport class PagePreloadService {\r\n private readonly _checkPreload: Observable;\r\n private _observer: Observer;\r\n\r\n constructor() {\r\n this._checkPreload = new Observable(observer =>\r\n this._observer = observer);\r\n }\r\n\r\n get checkPreload(): Observable {\r\n return this._checkPreload;\r\n }\r\n\r\n changeLastPageInView(page: number) {\r\n if(this._observer) {\r\n this._observer.next(page);\r\n }\r\n }\r\n}\r\n","import {BehaviorSubject, Observable, Subject} from \"rxjs\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n private _currentPage = 0;\r\n private _countPages = 0;\r\n private _observer: Subject = new Subject();\r\n private _navigate: Observable = this._observer;\r\n\r\n constructor(private _pagePreloadService: PagePreloadService) {\r\n }\r\n\r\n get navigate(): Observable {\r\n return this._navigate;\r\n }\r\n\r\n get countPages(): number {\r\n return this._countPages;\r\n }\r\n\r\n set countPages(value: number) {\r\n this._countPages = value;\r\n }\r\n\r\n get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n\r\n nextPage() {\r\n if (this._currentPage < this._countPages) {\r\n this._currentPage++;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this._currentPage > 1) {\r\n this._currentPage--;\r\n this.navigateTo(this._currentPage);\r\n }\r\n }\r\n\r\n toLastPage() {\r\n this._currentPage = this._countPages;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n toFirstPage() {\r\n this._currentPage = 1;\r\n this.navigateTo(this._currentPage);\r\n }\r\n\r\n navigateTo(page: number) {\r\n this.currentPage = page;\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this._observer.next(page);\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n OnChanges\r\n} from '@angular/core';\r\nimport {FileDescription, FileUtil} from \"../file.service\";\r\nimport {ZoomService} from \"../zoom.service\";\r\nimport * as Hammer from 'hammerjs';\r\nimport {WindowService} from '../window.service';\r\nimport * as jquery from 'jquery';\r\nimport { NavigateService } from '../navigate.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-document',\r\n templateUrl: './document.component.html',\r\n styleUrls: ['./document.component.less']\r\n})\r\nexport class DocumentComponent implements OnInit, AfterViewChecked, AfterViewInit, OnChanges {\r\n\r\n @Input() mode: boolean;\r\n @Input() preloadPageCount: number;\r\n @Input() file: FileDescription;\r\n @Input() selectedPage: number;\r\n @Input() showActiveSlide: boolean;\r\n wait = false;\r\n zoom: number;\r\n\r\n docWidth = null;\r\n docHeight = null;\r\n viewportWidth = null;\r\n viewportHeight = null;\r\n scale = null;\r\n lastScale = null;\r\n container = null;\r\n doc = null;\r\n x = 0;\r\n lastX = 0;\r\n y = 0;\r\n lastY = 0;\r\n pinchCenter = null;\r\n pinchCenterOffset = null;\r\n curWidth = 0;\r\n curHeight = 0;\r\n isDesktop: boolean;\r\n\r\n constructor(protected _elementRef: ElementRef,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _navigateService: NavigateService) {\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val;\r\n });\r\n\r\n this.isDesktop = _windowService.isDesktop();\r\n\r\n this._navigateService.navigate.subscribe(((\r\n value => {\r\n this.selectedPage = value;\r\n })));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.ifPresentation())\r\n {\r\n this.selectedPage = this._navigateService.currentPage;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // For current iteration we take .panzoom as a document\r\n this.doc = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // For current iteration we take .gd-document as a container\r\n this.container = this._elementRef.nativeElement;\r\n\r\n this.docWidth = this.doc.clientWidth;\r\n this.docHeight = this.doc.clientHeight;\r\n this.viewportWidth = this.doc.offsetWidth;\r\n\r\n // For cases where we already have zoom defined we should include it\r\n this.scale = (this.viewportWidth / this.docWidth) * this._zoomService.zoom / 100;\r\n\r\n this.lastScale = this.scale;\r\n this.viewportHeight = this.container.offsetHeight;\r\n this.curWidth = this.docWidth * this.scale;\r\n this.curHeight = this.docHeight * this.scale;\r\n\r\n const hammer = new Hammer(this.container);\r\n }\r\n\r\n // TODO: this temporary crutch for Excel files should be documented\r\n ifExcel() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft Excel\";\r\n }\r\n\r\n ifPresentation() {\r\n return FileUtil.find(this.file.guid, false).format === \"Microsoft PowerPoint\";\r\n }\r\n\r\n getDimensionWithUnit(value: number, pageNumber: number) {\r\n return this.ifPresentation() && this.showActiveSlide && !this.isVisible(pageNumber) ? 0 : value + (this.mode ? FileUtil.find(this.file.guid, false).unit : 'px');\r\n }\r\n\r\n ifEdge() {\r\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n // for now we are not sure that need this action in current implementation\r\n // const elementNodeListOf = this._elementRef.nativeElement.querySelectorAll('.gd-wrapper');\r\n // const element = elementNodeListOf.item(0);\r\n // if (element) {\r\n // $(element).trigger('focus');\r\n // }\r\n }\r\n\r\n isVisible(pageNumber) {\r\n if (this.ifPresentation()) {\r\n return pageNumber === this.selectedPage ? true : false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelPageService {\r\n constructor() {\r\n }\r\n\r\n getUpdatedPage(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n const table = doc.querySelector('table');\r\n let numCellsInFirstRow = 0;\r\n const cellsFromFirstRow = doc.querySelectorAll('table > tbody > tr:first-child td');\r\n\r\n cellsFromFirstRow.forEach(elm => {\r\n numCellsInFirstRow += elm.attributes['colspan'] ? parseInt(elm.attributes['colspan'].value, 10) : 1;\r\n });\r\n \r\n const newTable = this.createHeader(numCellsInFirstRow, table);\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc)\r\n // work-around for FF which is adds a0 namespace during serialization\r\n return resultData.replace(/a0:/g,\"\").replace(/:a0/g,\"\");\r\n }\r\n\r\n getPageWithoutHeader(data) {\r\n const doc = new DOMParser().parseFromString(data, \"text/html\");\r\n doc.querySelector('colgroup').remove();\r\n const newTable = doc.querySelector('table');\r\n newTable.deleteRow(0);\r\n\r\n newTable.querySelectorAll('tr').forEach(row => {\r\n row.deleteCell(0);\r\n });\r\n\r\n doc.querySelector('table').replaceWith(newTable);\r\n\r\n const resultData = new XMLSerializer().serializeToString(doc);\r\n return resultData;\r\n }\r\n\r\n createHeader(numCols, table){\r\n const header = document.createElement('thead');\r\n header.append(document.createElement('tr'));\r\n\r\n for(let i = 0; i < numCols; ++i){\r\n const th = document.createElement('th');\r\n th.innerText = this.colName(i);\r\n th.setAttribute(\"contenteditable\", \"false\");\r\n header.querySelector(\"tr\").append(th);\r\n }\r\n \r\n const colgroup = table.querySelector('colgroup');\r\n const col = document.createElement('col');\r\n col.width = '80px';\r\n colgroup.prepend(col);\r\n \r\n table.prepend(header);\r\n\r\n let cnt = 0;\r\n table.querySelectorAll('tr').forEach(row => {\r\n const div = document.createElement('div');\r\n if (cnt !== 0) {\r\n const td = document.createElement('td');\r\n td.className = \"excel\"\r\n td.append(div);\r\n div.innerText = cnt.toString();\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(td);\r\n }\r\n else {\r\n const th = document.createElement('th');\r\n th.append(div);\r\n div.setAttribute(\"contenteditable\", \"false\");\r\n row.prepend(th);\r\n }\r\n cnt++;\r\n });\r\n\r\n return table;\r\n }\r\n\r\n colName(n) {\r\n const ordA = 'a'.charCodeAt(0);\r\n const ordZ = 'z'.charCodeAt(0);\r\n const len = ordZ - ordA + 1;\r\n\r\n let s = \"\";\r\n while(n >= 0) {\r\n s = String.fromCharCode(n % len + ordA) + s;\r\n n = Math.floor(n / len) - 1;\r\n }\r\n return s;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport { ExcelPageService } from '../excel-page.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-page',\r\n templateUrl: './excel-page.component.html',\r\n styleUrls: ['./excel-page.component.less']\r\n})\r\nexport class ExcelPageComponent 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(private _excelPageService: ExcelPageService) {\r\n }\r\n\r\n ngOnInit() {\r\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n if(isIE && this.number === 0){\r\n this.editable = false;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.isHtml) {\r\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \r\n // which leads to undesired spaces on the top of the docs pages\r\n this.data = this.data \r\n ? this.data.replace(/>\\s+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : null;\r\n } else {\r\n this.imgData = 'data:image/png;base64,' + this.data;\r\n }\r\n\r\n this.data = this.data !== null && changes.data ? this._excelPageService.getUpdatedPage(this.data) : this.data;\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChildren, QueryList, AfterViewInit, Renderer2, Output, EventEmitter } from '@angular/core';\r\nimport { DocumentComponent } from '../document/document.component';\r\nimport { WindowService } from '../window.service';\r\nimport { NavigateService } from '../navigate.service';\r\nimport { ZoomService } from '../zoom.service';\r\nimport { ExcelPageComponent } from '../excel-page/excel-page.component';\r\nimport { PageModel } from '../file.service';\r\n\r\n@Component({\r\n selector: 'gd-excel-document',\r\n templateUrl: './excel-document.component.html',\r\n styleUrls: ['./excel-document.component.less'],\r\n})\r\nexport class ExcelDocumentComponent extends DocumentComponent implements OnInit, AfterViewInit {\r\n @ViewChildren(ExcelPageComponent) pages: QueryList; \r\n \r\n currentPageNo: number;\r\n panzoom = null;\r\n navigateService: NavigateService;\r\n @Output() selectedSheet = new EventEmitter();\r\n\r\n constructor(_elementRef: ElementRef,\r\n zoomService: ZoomService,\r\n windowService: WindowService,\r\n navigateService: NavigateService,\r\n private renderer: Renderer2) {\r\n super(_elementRef, zoomService, windowService, navigateService);\r\n this.navigateService = navigateService;\r\n }\r\n\r\n ngOnInit(){\r\n this.currentPageNo = 1;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.refreshExcelDocHeight();\r\n this.pages.changes.subscribe(()=>{\r\n this.refreshExcelDocHeight();\r\n });\r\n\r\n this.navigateService.navigate.subscribe(\r\n value => {\r\n if (value) {\r\n this.selectSheet(value);\r\n }\r\n });\r\n\r\n const scrollbarWidth = this.getScrollBarWidth();\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'right', this.getScrollBarWidth() + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'bottom', this.getScrollBarWidth() + 'px');\r\n if (scrollbarWidth === 0) {\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.sheets'), 'padding-right', '17px');\r\n }\r\n }\r\n\r\n getScrollBarWidth() {\r\n const documentBox = document.querySelector('.gd-document') as HTMLElement;\r\n const scrollbarWidth = documentBox.offsetWidth - documentBox.clientWidth;\r\n return scrollbarWidth;\r\n }\r\n\r\n refreshExcelDocHeight() {\r\n // For current iteration we'll change actual height of .document\r\n this.doc = this._elementRef.nativeElement.children.item(0);\r\n this.panzoom = this._elementRef.nativeElement.children.item(0).children.item(0);\r\n // magic number 37 is the height of the bottom-bar with navigation between pages\r\n this.doc.style.height = this.panzoom.scrollHeight + 37 + \"px\";\r\n }\r\n\r\n selectSheet(number){\r\n this.currentPageNo = number;\r\n this.selectedSheet.emit(number);\r\n }\r\n\r\n getSheetName(page) {\r\n return page.sheetName ? page.sheetName : \"Sheet \" + page.number;\r\n }\r\n}\r\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.less']\r\n})\r\nexport class PageComponent implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() number: number;\r\n @Input() data: string;\r\n @Input() isHtml: boolean;\r\n @Input() editable: boolean;\r\n imgData: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n const isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n if(isIE && this.number === 0){\r\n this.editable = false;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.isHtml) {\r\n // TODO: this is temporary needed to remove unneeded spaces and BOM symbol \r\n // which leads to undesired spaces on the top of the docs pages\r\n this.data = this.data \r\n ? this.data.replace(/>\\s+<')\r\n .replace(/\\uFEFF/g,\"\")\r\n .replace(/href=\"\\/viewer/g, 'href=\"http://localhost:8080/viewer')\r\n .replace(/src=\"\\/viewer/g, 'src=\"http://localhost:8080/viewer')\r\n .replace(/data=\"\\/viewer/g, 'data=\"http://localhost:8080/viewer')\r\n : null;\r\n } else {\r\n this.imgData = 'data:image/png;base64,' + this.data;\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\r\n\r\n@Pipe({name: 'safeHtml'})\r\nexport class SanitizeHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeResourceHtml'})\r\nexport class SanitizeResourceHtmlPipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'safeStyle'})\r\nexport class SanitizeStylePipe implements PipeTransform{\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustStyle(html);\r\n }\r\n}\r\n\r\n@Pipe({name: 'highlight'})\r\nexport class HighlightSearchPipe implements PipeTransform {\r\n\r\n transform(value: string, args: string): any {\r\n if (!args) {\r\n return value;\r\n }\r\n const re = new RegExp(args, 'gi'); //'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\r\n return value.replace(re, \"$&\");\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"../upload-files.service\";\r\n\r\n@Component({\r\n selector: 'gd-upload-file-zone',\r\n templateUrl: './upload-file-zone.component.html',\r\n styleUrls: ['./upload-file-zone.component.less']\r\n})\r\nexport class UploadFileZoneComponent implements OnInit {\r\n\r\n @Output() closeUpload = new EventEmitter();\r\n\r\n constructor(private _uploadService: UploadFilesService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n handleFileInput(files: FileList) {\r\n this._uploadService.changeFilesList(files);\r\n this.onCloseUpload();\r\n }\r\n\r\n onCloseUpload() {\r\n this.closeUpload.emit(true);\r\n }\r\n\r\n close($event) {\r\n if ($event.target.id === 'gd-dropZone') {\r\n this.onCloseUpload();\r\n }\r\n }\r\n}\r\n","import {Directive, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\n\r\n@Directive({\r\n selector: '[gdDnd]'\r\n})\r\nexport class DndDirective {\r\n\r\n @Output() closing = new EventEmitter();\r\n @Output() opening = new EventEmitter();\r\n @Output() dropped = new EventEmitter();\r\n\r\n @HostBinding('class.active') active = false;\r\n\r\n private dragCounter = 0;\r\n\r\n constructor(protected _uploadFilesService: UploadFilesService) {\r\n }\r\n\r\n @HostListener('dragenter', ['$event'])\r\n public onDragEnter(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter++;\r\n this.active = true;\r\n this.opening.emit(true);\r\n }\r\n\r\n @HostListener('dragover', ['$event'])\r\n public onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n return false;\r\n }\r\n\r\n @HostListener('dragleave', ['$event'])\r\n public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.dragCounter--;\r\n if (this.dragCounter === 0) {\r\n this.active = false;\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n public onDrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n const files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.active = false;\r\n this.dropped.emit(true);\r\n this._uploadFilesService.changeFilesList(files);\r\n this.closeArea();\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onClick(event) {\r\n this.closeArea();\r\n }\r\n\r\n private closeArea() {\r\n this.closing.emit(true);\r\n this.opening.emit(false);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ViewportService {\r\n\r\n constructor() {\r\n }\r\n\r\n checkInViewport(el, zoom: number = 100, leftOffset: number = 0, deltaX: number = 0.5) {\r\n if (!el) {\r\n return false;\r\n }\r\n const x = deltaX;\r\n const y = 0.5;\r\n\r\n const win = $(window);\r\n\r\n const viewport = {\r\n top: win.scrollTop(),\r\n left: win.scrollLeft() + leftOffset,\r\n right: win.scrollLeft() + win.width() - 10,\r\n bottom: win.scrollTop() + win.height()\r\n };\r\n\r\n\r\n if (isNaN(zoom)) {\r\n zoom = 100;\r\n }\r\n\r\n const zoomN = zoom / 100;\r\n const height = $(el).outerHeight() * (zoomN);\r\n const width = $(el).outerWidth() * (zoomN);\r\n\r\n if (!width || !height) {\r\n return false;\r\n }\r\n\r\n const bounds = $(el).offset();\r\n const right = (bounds.left * (zoomN)) + width;\r\n const bottom = (bounds.top * (zoomN)) + height;\r\n\r\n const visible = (!(viewport.right < (bounds.left * (zoomN)) || viewport.left > right || viewport.bottom < (bounds.top * (zoomN)) || viewport.top > bottom));\r\n\r\n if (!visible) {\r\n return false;\r\n }\r\n\r\n const deltas = {\r\n top: parseFloat(Math.min(1, (bottom - viewport.top) / height).toFixed(2)),\r\n bottom: parseFloat(Math.min(1, (viewport.bottom - (bounds.top * (zoomN))) / height).toFixed(2)),\r\n left: parseFloat(Math.min(1, (right - viewport.left) / width).toFixed(2)),\r\n right: parseFloat(Math.min(1, (viewport.right - (bounds.left * (zoomN))) / width).toFixed(2))\r\n };\r\n\r\n return (deltas.left * deltas.right) >= x && (deltas.top * deltas.bottom) >= y;\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdScrollable]'\r\n})\r\nexport class ScrollableDirective implements AfterViewInit, OnChanges, OnInit {\r\n\r\n private currentPage: number;\r\n private zoom = 100;\r\n private loadedPagesSet = new Set();\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _navigateService: NavigateService,\r\n private _pagePreloadService: PagePreloadService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n private _viewportService: ViewportService) {\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n this.refresh();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n this._navigateService.navigate.subscribe((value => {\r\n this.currentPage = value;\r\n this.scrollToPage(value);\r\n }));\r\n this.refresh();\r\n }\r\n\r\n @HostListener('scroll') scrolling() {\r\n this.refresh();\r\n }\r\n\r\n @HostListener('window:resize') resizing() {\r\n this.refresh();\r\n }\r\n\r\n scrollToPage(pageNumber: number) {\r\n const el = this._elementRef.nativeElement;\r\n const page = this.getPage(pageNumber);\r\n const prev = pageNumber > 0 ? this.getPage(pageNumber - 1) : null;\r\n const isSameTop = (prev && $(prev).offset().top === $(page).offset().top);\r\n if (this._viewportService.checkInViewport(page, this.zoom) && isSameTop) {\r\n return;\r\n }\r\n const pagesHeight = this.calculateOffset(pageNumber);\r\n const options = {\r\n left: 0,\r\n top: pagesHeight\r\n };\r\n if(el){\r\n // using polyfill\r\n el.scroll(options);\r\n }\r\n }\r\n\r\n private getChildren() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n // here and in the similar line below we getting the document pages\r\n return el.children.item(0).children.item(0).children;\r\n }\r\n }\r\n\r\n private getPage(pageNumber: number) {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n return el.children.item(0).children.item(0).children.item(pageNumber - 1);\r\n }\r\n }\r\n\r\n private calculateOffset(pageNumber: number) {\r\n const count = this._windowService.isFirefox() ? 1 : this.countPagesOnWidth();\r\n const margin = this._windowService.isDesktop() ? 40 : 10;\r\n let pagesHeight = 0;\r\n for (let i = 1; i < pageNumber / count; i++) {\r\n const item = this.getPage(i);\r\n const clientHeight = item ? item.clientHeight : 0;\r\n pagesHeight += clientHeight > 0 ? clientHeight * this.getZoom() + margin : 0;\r\n }\r\n return pagesHeight;\r\n }\r\n\r\n private countPagesOnWidth() {\r\n const pageEl = this.getPage(1);\r\n const offset = 150;\r\n if (pageEl) {\r\n const count = Math.floor((this.getWidth() - offset) / (pageEl.getBoundingClientRect().width * this.getZoom()));\r\n if (count !== 0) {\r\n return count;\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n refresh() {\r\n let page;\r\n let currentPageSet = false;\r\n const pageElem = this.getPage(this.currentPage);\r\n const currentPageRect = this.currentPage && pageElem ? pageElem.getBoundingClientRect() : null;\r\n for (page = 1; page < this.getChildren().length + 1; page++) {\r\n const element = this.getPage(page);\r\n if (this._viewportService.checkInViewport(element, this.zoom)) {\r\n if (!currentPageSet) {\r\n if (!this.currentPage || !pageElem || (this.currentPage && currentPageRect && element.getBoundingClientRect().top !== currentPageRect.top)) {\r\n this.currentPage = page;\r\n if (this._navigateService.currentPage === 0) {\r\n this._navigateService.currentPage = page;\r\n }\r\n }\r\n currentPageSet = true;\r\n }\r\n if (!this.loadedPagesSet.has(page)) {\r\n this._pagePreloadService.changeLastPageInView(page);\r\n this.loadedPagesSet.add(page);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.zoom = this._zoomService.zoom ? this._zoomService.zoom : this.zoom;\r\n }\r\n\r\n\r\n private getWidth() {\r\n return this._elementRef ? this._elementRef.nativeElement.offsetWidth : window.innerWidth;\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostListener,\r\n Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdMouseWheel]'\r\n})\r\nexport class MouseWheelDirective {\r\n @Output() mouseWheelUp = new EventEmitter();\r\n @Output() mouseWheelDown = new EventEmitter();\r\n\r\n @HostListener('mousewheel', ['$event']) onMouseWheelChrome(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('DOMMouseScroll', ['$event']) onMouseWheelFirefox(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n @HostListener('onmousewheel', ['$event']) onMouseWheelIE(event: any) {\r\n this.mouseWheelFunc(event);\r\n }\r\n\r\n mouseWheelFunc(event: any) {\r\n event = window.event ;\r\n const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));\r\n if(delta > 0) {\r\n this.mouseWheelUp.emit(event);\r\n } else if(delta < 0) {\r\n this.mouseWheelDown.emit(event);\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, HostBinding, Input, OnDestroy, OnInit, ElementRef, OnChanges} from '@angular/core';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {FileUtil} from \"./file.service\";\r\nimport { WindowService } from './window.service';\r\n\r\n@Directive({\r\n selector: '[gdZoom]'\r\n})\r\nexport class ZoomDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n @Input() zoomActive = true;\r\n @Input() file;\r\n\r\n @HostBinding('style.zoom') zoomInt: number;\r\n @HostBinding('style.transform') transform: string;\r\n @HostBinding('style.transform-origin') transformOrigin: string;\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n @HostBinding('style.min-width') minWidth: string;\r\n el: ElementRef;\r\n\r\n constructor(private _zoomService: ZoomService, private _windowService: WindowService, el: ElementRef) {\r\n this.el = el;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n this.resizePages(this._zoomService.zoom);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n this.setStyles(this._zoomService.zoom);\r\n this._zoomService.zoomChange.subscribe((zoom) => {\r\n this.setStyles(zoom);\r\n this.resizePages(zoom);\r\n });\r\n }\r\n\r\n private setStyles(zoom) {\r\n if (! this.zoomActive) {\r\n return;\r\n }\r\n\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n \r\n if (this._windowService.isEdge()) {\r\n this.zoomInt = zoomInt;\r\n }\r\n else {\r\n this.zoomInt = null;\r\n }\r\n \r\n if (!this._windowService.isEdge()) {\r\n this.transform = 'scale(' + zoomInt + ')';\r\n this.transformOrigin = 'top left';\r\n }\r\n else {\r\n this.transform = \"\";\r\n this.transformOrigin = \"\";\r\n }\r\n\r\n let maxWidth = 0;\r\n this.file.pages.forEach(page => {\r\n {\r\n if (page.width > maxWidth){\r\n maxWidth = page.width;\r\n }\r\n }\r\n });\r\n\r\n // Images and Excel-related files receiving dimensions in px from server\r\n this.minWidth = maxWidth + FileUtil.find(this.file.guid, false).unit;\r\n }\r\n\r\n private getScrollWidth(elm){\r\n return elm.offsetWidth - elm.clientWidth;\r\n }\r\n\r\n private getScrollHeight(elm){\r\n return elm.offsetHeight - elm.clientHeight;\r\n }\r\n\r\n private resizePages(zoom){\r\n const zoomInt = zoom === 100 ? 1 : zoom / 100;\r\n\r\n const viewPortWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n const viewPortHeight = this.el.nativeElement.parentElement.offsetHeight;\r\n const scrollWidth = this.getScrollWidth(this.el.nativeElement.parentElement);\r\n const scrollHeight = this.getScrollHeight(this.el.nativeElement.parentElement);\r\n this.width = (viewPortWidth/zoomInt - scrollWidth/zoomInt) + 'px';\r\n this.height = (viewPortHeight/zoomInt - scrollHeight/zoomInt) + 'px';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.setStyles(this._zoomService.zoom);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OnCloseService {\r\n private _observer: Subject = new Subject();\r\n private readonly _onClose: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get onClose() {\r\n return this._onClose;\r\n }\r\n\r\n close(close: boolean) {\r\n this._observer.next(close)\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {OnCloseService} from \"../on-close.service\";\r\n\r\nexport interface Option {\r\n name: string;\r\n value: any;\r\n separator: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'gd-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent {\r\n\r\n @Input() options: Option[];\r\n @Input() disabled = false;\r\n @Input() showSelected: Option;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Output() opened: EventEmitter = new EventEmitter();\r\n @Input() isOpen = false;\r\n @Input() icon: string;\r\n\r\n constructor(protected _onCloseService: OnCloseService) {\r\n _onCloseService.onClose.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n }\r\n\r\n onClickOutside(event : Event){\r\n this.close();\r\n }\r\n\r\n toggle($event) {\r\n // TODO: following lines were uncommented due to needness in signature app\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.disabled) {\r\n this.isOpen = !this.isOpen;\r\n if (this.isOpen) this.opened.emit(true);\r\n }\r\n }\r\n\r\n select($event, value: Option) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selected.emit(value);\r\n this.close();\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdDisabledCursor]'\r\n})\r\nexport class DisabledCursorDirective implements OnInit, OnChanges {\r\n\r\n @Input() dis: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n @HostBinding('class.inactive') cursor: boolean;\r\n\r\n private updateCursor() {\r\n this.cursor = this.dis ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n}\r\n","import {Directive, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdRotation]'\r\n})\r\nexport class RotationDirective implements OnInit, OnChanges {\r\n\r\n @Input() angle: number;\r\n @Input() isHtmlMode: boolean;\r\n @Input() width: number;\r\n @Input() height: number;\r\n @Input() withMargin = true;\r\n\r\n @HostBinding('style.animation') animation: string;\r\n @HostBinding('style.transition-property') transition: string;\r\n @HostBinding('style.transform') transform: string;\r\n\r\n @HostBinding('style.margin') margin: string;\r\n\r\n constructor() {\r\n }\r\n\r\n private updateCursor() {\r\n if (typeof this.angle === \"string\"){\r\n this.angle = parseInt(this.angle, 10);\r\n }\r\n\r\n if (this.angle) {\r\n this.animation = 'none';\r\n this.transition = 'none';\r\n this.transform = 'rotate(' + this.angle + 'deg)';\r\n } else if (this.angle === 0 && this.animation) {\r\n this.animation = null;\r\n this.transition = null;\r\n this.transform = null;\r\n }\r\n\r\n if (this.withMargin) {\r\n if (this.angle === 90 || this.angle === 270 || this.angle === -90 || this.angle === -270) {\r\n if (this.isHtmlMode) {\r\n if (this.isLandscape()) {\r\n this.margin = '164px 254px';\r\n } else {\r\n this.margin = '-111px 254px';\r\n }\r\n } else {\r\n if (this.isLandscape()) {\r\n this.margin = '129px 100px -79px';\r\n } else {\r\n this.margin = '-72px 100px -79px';\r\n }\r\n }\r\n } else if (this.angle === -180 || this.angle === 180) {\r\n this.margin = '280px';\r\n } else {\r\n this.margin = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n isLandscape() {\r\n return this.width > this.height;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.updateCursor();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateCursor()\r\n }\r\n\r\n}\r\n","import {Component, Input, Output, EventEmitter, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-init-state',\r\n templateUrl: './init-state.component.html',\r\n styleUrls: ['./init-state.component.less']\r\n})\r\nexport class InitStateComponent implements OnInit {\r\n @Input() icon: string;\r\n @Input() text: string;\r\n @Output() fileDropped = new EventEmitter();\r\n showUploadFile = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n dropped($event) {\r\n if ($event) {\r\n this.fileDropped.emit($event);\r\n this.showUploadFile = false;\r\n }\r\n }\r\n}\r\n","import {Observable, Observer} from \"rxjs\";\r\nimport {PageModel} from \"./file.service\";\r\n\r\nexport class RenderPrintService {\r\n private _render: Observable;\r\n private _observer: Observer;\r\n private _renderBlob: Observable;\r\n private _observerBlob: Observer;\r\n\r\n constructor() {\r\n this._render = new Observable(observer =>\r\n this._observer = observer);\r\n this._renderBlob = new Observable(observer =>\r\n this._observerBlob = observer);\r\n }\r\n\r\n get renderPrint(): Observable {\r\n return this._render;\r\n }\r\n\r\n changePages(pages: PageModel[]) {\r\n this._observer.next(pages);\r\n }\r\n\r\n get renderPrintBlob(): Observable {\r\n return this._renderBlob;\r\n }\r\n\r\n changeBlob(file: Blob) {\r\n this._observerBlob.next(file);\r\n }\r\n}\r\n","import {Directive, Input} from '@angular/core';\r\nimport {PageModel} from \"./file.service\";\r\nimport {RenderPrintService} from \"./render-print.service\";\r\n\r\n@Directive({\r\n selector: '[gdRenderPrint]'\r\n})\r\nexport class RenderPrintDirective {\r\n @Input() htmlMode: boolean;\r\n\r\n constructor(private _renderService: RenderPrintService) {\r\n _renderService.renderPrint.subscribe(pages => {\r\n this.renderPrint(pages);\r\n });\r\n _renderService.renderPrintBlob.subscribe(file => {\r\n this.renderPrintBlob(file);\r\n });\r\n }\r\n\r\n private renderPrint(pages: PageModel[]) {\r\n let pagesHtml = '';\r\n\r\n for (const page of pages) {\r\n pagesHtml += '
' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n this.openWindow(pagesHtml, pages[0].width, pages[0].height);\r\n }\r\n\r\n private openWindow(pagesHtml, width, height) {\r\n const a4Height = 842;\r\n const a4Width = 595;\r\n let imageA4Adjusted = '';\r\n if(width > a4Width && height > a4Height){\r\n const zoom = Math.round(height / a4Height) / 100;\r\n imageA4Adjusted = '.gd-page img { width: 100%; margin: 0; padding: 0;}';\r\n if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){\r\n imageA4Adjusted = '.gd-page img { transform: scale(' + zoom + ');}';\r\n }\r\n }\r\n let cssPrint = '';\r\n\r\n const windowObject = window.open('', \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.document.writeln(cssPrint);\r\n windowObject.document.writeln(pagesHtml);\r\n windowObject.document.close();\r\n setTimeout(() => {\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }, 100);\r\n }\r\n\r\n private renderPrintBlob(file: Blob) {\r\n const fileURL = URL.createObjectURL(file);\r\n const windowObject = window.open(fileURL, \"PrintWindow\", \"width=750,height=650,top=50,left=50,toolbars=yes,scrollbars=yes,status=yes,resizable=yes\");\r\n windowObject.focus();\r\n windowObject.print();\r\n windowObject.close();\r\n }\r\n}\r\n","import { HttpEvent } from \"@angular/common/http\";\r\nimport {BehaviorSubject, Observable} from \"rxjs\";\r\n\r\nexport class ExceptionMessageService {\r\n private _observer: BehaviorSubject = new BehaviorSubject('Server is not available');\r\n private _messageChange: Observable = this._observer.asObservable();\r\n\r\n private _observerHttpEvent: BehaviorSubject> = new BehaviorSubject(null);\r\n private _httpEventChange: Observable> = this._observerHttpEvent.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get messageChange(): Observable {\r\n return this._messageChange;\r\n }\r\n\r\n get httpEventChange(): Observable> {\r\n return this._httpEventChange;\r\n }\r\n\r\n changeMessage(message: string) {\r\n this._observer.next(message);\r\n }\r\n\r\n changeHttpEvent(httpEvent:HttpEvent) {\r\n this._observerHttpEvent.next(httpEvent);\r\n }\r\n}\r\n","import {Component, OnInit} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\n\r\n@Component({\r\n selector: 'gd-error-modal',\r\n templateUrl: './error-modal.component.html',\r\n styleUrls: ['./error-modal.component.less']\r\n})\r\nexport class ErrorModalComponent implements OnInit {\r\n\r\n message: string;\r\n\r\n constructor(messageService: ExceptionMessageService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class PasswordService {\r\n private _observer: Subject = new Subject();\r\n private readonly _passChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get passChange(): Observable {\r\n return this._passChange;\r\n }\r\n\r\n setPassword(pass: string) {\r\n this._observer.next(pass);\r\n }\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {PasswordService} from \"../password.service\";\r\nimport * as jquery from \"jquery\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-password-required',\r\n templateUrl: './password-required.component.html',\r\n styleUrls: ['./password-required.component.less']\r\n})\r\nexport class PasswordRequiredComponent implements OnInit {\r\n message: string;\r\n @Output() cancelEvent = new EventEmitter();\r\n\r\n constructor(messageService: ExceptionMessageService, private _passwordService: PasswordService) {\r\n messageService.messageChange.subscribe(message => this.message = message);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setPassword(value: string) {\r\n this._passwordService.setPassword(value);\r\n }\r\n\r\n onCloseOpen($event: boolean) {\r\n if ($event) {\r\n setTimeout(() => {\r\n const element = $(\"#password\");\r\n if (element) {\r\n element.focus();\r\n }\r\n }, 100);\r\n } else {\r\n $(\"#password\").val(\"\");\r\n }\r\n }\r\n\r\n cancel($event: boolean) {\r\n $(\"#password\").val(\"\");\r\n this.cancelEvent.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable, throwError} from \"rxjs\";\r\nimport {catchError, map} from \"rxjs/operators\";\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {HttpError} from \"./file.service\";\r\nimport {CommonModals, ModalService} from \"./modal.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorInterceptorService implements HttpInterceptor {\r\n\r\n public static ErrorMessageWindowName:string = CommonModals.ErrorMessage;\r\n\r\n constructor(private _modalService: ModalService, private _messageService: ExceptionMessageService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const logFormat = 'background: maroon; color: white';\r\n\r\n return next.handle(req)\r\n .pipe(map(data => {\r\n return data;\r\n }),\r\n catchError((exception: HttpEvent) => {\r\n if (exception instanceof HttpErrorResponse) {\r\n switch (exception.status) {\r\n\r\n case HttpError.BadRequest:\r\n console.error('%c Bad Request 400', logFormat);\r\n break;\r\n case HttpError.Unauthorized:\r\n console.error('%c Unauthorized 401', logFormat);\r\n break;\r\n case HttpError.NotFound:\r\n console.error('%c Not Found 404', logFormat);\r\n break;\r\n case HttpError.TimeOut:\r\n console.error('%c TimeOut 408', logFormat);\r\n break;\r\n case HttpError.InternalServerError:\r\n console.error('%c big bad 500', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._messageService.changeHttpEvent(exception);\r\n this._modalService.open(ErrorInterceptorService.ErrorMessageWindowName);\r\n break;\r\n\r\n case HttpError.Forbidden:\r\n console.error('%c Forbidden 403', logFormat);\r\n this._messageService.changeMessage(exception.error.message);\r\n this._modalService.open(CommonModals.PasswordRequired);\r\n break;\r\n }\r\n }\r\n return throwError(exception);\r\n }));\r\n }\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class SearchService {\r\n private _observer: Subject = new Subject();\r\n private readonly _textChange: Observable = this._observer.asObservable();\r\n\r\n private _observerCurrent: Subject = new Subject();\r\n private readonly _currentChange: Observable = this._observerCurrent.asObservable();\r\n\r\n private _observerTotal: Subject = new Subject();\r\n private readonly _totalChange: Observable = this._observerTotal.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get textChange(): Observable {\r\n return this._textChange;\r\n }\r\n\r\n setText(text: string) {\r\n this._observer.next(text);\r\n }\r\n\r\n get currentChange(): Observable {\r\n return this._currentChange;\r\n }\r\n\r\n get totalChange(): Observable {\r\n return this._totalChange;\r\n }\r\n\r\n setCurrent(current: number) {\r\n this._observerCurrent.next(current);\r\n }\r\n\r\n setTotal(total: number) {\r\n this._observerTotal.next(total);\r\n }\r\n}\r\n","import {AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {SearchService} from \"../search.service\";\r\n\r\n@Component({\r\n selector: 'gd-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.less']\r\n})\r\nexport class SearchComponent implements OnInit, AfterViewInit {\r\n\r\n @Output() hidePanel = new EventEmitter(false);\r\n\r\n current = 0;\r\n total = 0;\r\n\r\n @ViewChild('text',{\r\n static : true\r\n }) textElement: ElementRef;\r\n\r\n constructor(private _searchService: SearchService) {\r\n _searchService.totalChange.subscribe((total: number) => {\r\n this.total = total;\r\n if (total !== 0) {\r\n this.current = 1;\r\n } else {\r\n this.current = 0;\r\n }\r\n this._searchService.setCurrent(this.current);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n setText(text: string) {\r\n this._searchService.setText(text);\r\n }\r\n\r\n hide() {\r\n this.setText('');\r\n this.hidePanel.emit(true);\r\n }\r\n\r\n prev() {\r\n if (this.current > 1) {\r\n this.current--;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n next() {\r\n if (this.current < this.total) {\r\n this.current++;\r\n this._searchService.setCurrent(this.current);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.textElement.nativeElement.focus();\r\n }\r\n}\r\n","import {Directive, ElementRef} from '@angular/core';\r\nimport {SearchService} from \"./search.service\";\r\nimport {HighlightSearchPipe} from \"./pipes\";\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport * as jquery from \"jquery\";\r\nconst $ = jquery;\r\n\r\n@Directive({\r\n selector: '[gdSearchable]'\r\n})\r\nexport class SearchableDirective {\r\n\r\n text: string;\r\n current = 0;\r\n total = 0;\r\n private zoom = 100;\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _searchService: SearchService,\r\n private _highlight: HighlightSearchPipe,\r\n private _zoomService: ZoomService) {\r\n _searchService.currentChange.subscribe((current: number) => {\r\n this.current = current;\r\n if (this.current !== 0) {\r\n this.moveToCurrent();\r\n }\r\n });\r\n\r\n _searchService.textChange.subscribe((text: string) => {\r\n this.text = text;\r\n this.highlightSearch();\r\n });\r\n\r\n this.zoom = _zoomService.zoom ? _zoomService.zoom : this.zoom;\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n this.zoom = val ? val : this.zoom;\r\n });\r\n }\r\n\r\n private highlightSearch() {\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n this.cleanHighlight(el);\r\n if (this.text) {\r\n this.highlightEl(el);\r\n const count = el.querySelectorAll('.gd-highlight').length;\r\n this.total = count;\r\n } else {\r\n this.total = 0;\r\n }\r\n this._searchService.setTotal(this.total);\r\n }\r\n }\r\n\r\n private moveToCurrent() {\r\n if (this.current === 0) {\r\n return;\r\n }\r\n const currentZoom = this.getZoom();\r\n const el = this._elementRef ? this._elementRef.nativeElement : null;\r\n if (el) {\r\n el.querySelectorAll('.gd-highlight-select').forEach(function (value) {\r\n $(value).removeClass('gd-highlight-select');\r\n });\r\n const currentEl = el.querySelectorAll('.gd-highlight')[this.current - 1];\r\n $(currentEl).addClass('gd-highlight-select');\r\n if (currentEl) {\r\n const options = {\r\n left: 0,\r\n top: ($(currentEl).offset().top) + el.parentElement.parentElement.scrollTop - 150,\r\n };\r\n // using polyfill\r\n el.parentElement.parentElement.scroll(options);\r\n }\r\n }\r\n }\r\n\r\n private highlightEl(el: Element) {\r\n const textNodes = $(el).find('*').contents().filter(function () {\r\n const nodeName = this.parentElement.nodeName.toLowerCase();\r\n const checkClass = (this).classList ? !(this).classList.contains('gd-highlight') : true;\r\n return this.nodeType === 3 &&\r\n this.textContent.trim().length !== 0 &&\r\n nodeName !== 'style' &&\r\n nodeName !== 'title' &&\r\n nodeName !== 'body' &&\r\n nodeName !== 'script' &&\r\n checkClass;\r\n });\r\n const text = this.text;\r\n const highlight = this._highlight;\r\n textNodes.each(function () {\r\n const $this = $(this);\r\n let content = $this.text();\r\n content = highlight.transform(content, text);\r\n $this.replaceWith(content);\r\n });\r\n el.normalize();\r\n }\r\n\r\n private cleanHighlight(el: HTMLElement) {\r\n const nodeListOf = el.querySelectorAll('.gd-highlight');\r\n for (let i = 0; i < nodeListOf.length; i++) {\r\n const element = nodeListOf.item(i);\r\n element.replaceWith((element).innerText);\r\n }\r\n el.normalize();\r\n }\r\n\r\n private getZoom() {\r\n return this.zoom / 100;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabbed-toolbars',\r\n templateUrl: './tabbed-toolbars.component.html',\r\n styleUrls: ['./tabbed-toolbars.component.less']\r\n})\r\nexport class TabbedToolbarsComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() icon: string;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class TabActivatorService {\r\n private _observer: Subject = new Subject();\r\n private readonly _activeTabChange: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get activeTabChange(): Observable {\r\n return this._activeTabChange;\r\n }\r\n\r\n changeActiveTab(tabId: string) {\r\n this._observer.next(tabId);\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {TabActivatorService} from \"../tab-activator.service\";\r\n\r\n@Component({\r\n selector: 'gd-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() tabTitle: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() content = true;\r\n\r\n constructor(private _tabActivatorService: TabActivatorService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = true;\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectTab() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent {\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {Observable, Subject} from \"rxjs\";\r\n\r\nexport class Formatting {\r\n constructor(fontSize: number, color: string, bgColor: string, bold: boolean, italic: boolean, underline: boolean, font: string, strikeout: boolean, align: string, list: string) {\r\n this.fontSize = fontSize;\r\n this.color = color;\r\n this.bgColor = bgColor;\r\n this.bold = bold;\r\n this.italic = italic;\r\n this.underline = underline;\r\n this.font = font;\r\n this.strikeout = strikeout;\r\n this.align = align;\r\n this.list = list;\r\n }\r\n\r\n bold: boolean;\r\n italic: boolean;\r\n underline: boolean;\r\n fontSize: number;\r\n color: string;\r\n bgColor: string;\r\n font: string;\r\n strikeout: boolean;\r\n align: string;\r\n list: string;\r\n\r\n public static default(): Formatting {\r\n return new Formatting(10, '#000000', '#FFFFFF', false, false, false, 'Arial', false, \"\", \"\");\r\n }\r\n}\r\n\r\nexport class FormattingService {\r\n private _observerBold: Subject = new Subject();\r\n private readonly _formatBoldChange: Observable = this._observerBold.asObservable();\r\n private _observerUnderline: Subject = new Subject();\r\n private readonly _formatUnderlineChange: Observable = this._observerUnderline.asObservable();\r\n private _observerUndo: Subject = new Subject();\r\n private readonly _undo: Observable = this._observerUndo.asObservable();\r\n private _observerRedo: Subject = new Subject();\r\n private readonly _redo: Observable = this._observerRedo.asObservable();\r\n private _observerItalic: Subject = new Subject();\r\n private readonly _formatItalicChange: Observable = this._observerItalic.asObservable();\r\n private _observerColor: Subject = new Subject();\r\n private readonly _formatColorChange: Observable = this._observerColor.asObservable();\r\n private _observerBgColor: Subject = new Subject();\r\n private readonly _formatBgColorChange: Observable = this._observerBgColor.asObservable();\r\n private _observerFontSize: Subject = new Subject();\r\n private readonly _formatFontSizeChange: Observable = this._observerFontSize.asObservable();\r\n private _observerFont: Subject = new Subject();\r\n private readonly _formatFontChange: Observable = this._observerFont.asObservable();\r\n private _observerStrikeout: Subject = new Subject();\r\n private readonly _formatStrikeoutChange: Observable = this._observerStrikeout.asObservable();\r\n private _observerAlign: Subject = new Subject();\r\n private readonly _formatAlignChange: Observable = this._observerAlign.asObservable();\r\n private _observerList: Subject = new Subject();\r\n private readonly _formatListChange: Observable = this._observerList.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get formatBoldChange() {\r\n return this._formatBoldChange;\r\n }\r\n\r\n get formatUnderlineChange() {\r\n return this._formatUnderlineChange;\r\n }\r\n\r\n get formatColorChange() {\r\n return this._formatColorChange;\r\n }\r\n\r\n get formatBgColorChange() {\r\n return this._formatBgColorChange;\r\n }\r\n\r\n get formatFontSizeChange() {\r\n return this._formatFontSizeChange;\r\n }\r\n\r\n get formatFontChange() {\r\n return this._formatFontChange;\r\n }\r\n\r\n get undo() {\r\n return this._undo;\r\n }\r\n\r\n get redo() {\r\n return this._redo;\r\n }\r\n\r\n get formatItalicChange() {\r\n return this._formatItalicChange;\r\n }\r\n\r\n get formatStrikeoutChange() {\r\n return this._formatStrikeoutChange;\r\n }\r\n\r\n get formatAlignChange() {\r\n return this._formatAlignChange;\r\n }\r\n\r\n get formatListChange() {\r\n return this._formatListChange;\r\n }\r\n\r\n static createFontSizeOption(val: number) {\r\n return {value: val, name: val + 'px', separator: false}\r\n }\r\n\r\n static getFontSizeOptions() {\r\n return [\r\n FormattingService.createFontSizeOption(8),\r\n FormattingService.createFontSizeOption(10),\r\n FormattingService.createFontSizeOption(12),\r\n FormattingService.createFontSizeOption(14),\r\n FormattingService.createFontSizeOption(16),\r\n FormattingService.createFontSizeOption(18),\r\n FormattingService.createFontSizeOption(20),\r\n FormattingService.createFontSizeOption(22),\r\n FormattingService.createFontSizeOption(24),\r\n ];\r\n }\r\n\r\n static createFontOption(val: string) {\r\n return {value: val, name: val, separator: false}\r\n }\r\n\r\n static getFontOptions() {\r\n const fonts = [\"Arial\", \"Calibri\", \"Century Gothic\", \"Comic Sans\", \"Consolas\", \"Courier\", \"Dejavu Sans\", \"Dejavu Serif\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Lucida Sans\",\r\n \"Myriad Pro\", \"Open Sans\", \"Palatino\", \"Tahoma\", \"Times New Roman\", \"Trebuchet\"];\r\n const fontOptions = [];\r\n fonts.forEach(font => {\r\n fontOptions.push(this.createFontOption(font));\r\n })\r\n\r\n return fontOptions;\r\n }\r\n\r\n changeFormatFontSize($event: number) {\r\n this._observerFontSize.next($event);\r\n }\r\n\r\n changeFormatBold(bold: boolean) {\r\n this._observerBold.next(bold);\r\n }\r\n\r\n changeFormatUnderline(underline: boolean) {\r\n this._observerUnderline.next(underline);\r\n }\r\n\r\n Undo() {\r\n this._observerUndo.next();\r\n }\r\n\r\n Redo() {\r\n this._observerRedo.next();\r\n }\r\n\r\n changeFormatItalic(italic: boolean) {\r\n this._observerItalic.next(italic);\r\n }\r\n\r\n changeFormatColor(color: string) {\r\n this._observerColor.next(color);\r\n }\r\n\r\n changeFormatBgColor(bgcolor: string) {\r\n this._observerBgColor.next(bgcolor);\r\n }\r\n\r\n changeFormatFont(font: string) {\r\n this._observerFont.next(font);\r\n }\r\n\r\n changeFormatStrikeout(strikeout: boolean) {\r\n this._observerStrikeout.next(strikeout);\r\n }\r\n\r\n changeFormatAlign(align: string) {\r\n this._observerAlign.next(align);\r\n }\r\n\r\n changeFormatList(list: string) {\r\n this._observerList.next(list);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\nconst DEFAULT_COLORS = [\r\n '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF',\r\n '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00FF00', '#00FFFF', '#4986E8', '#0000FF', '#9900FF', '#FF00FF',\r\n '#E6B8AF', '#F4CCCC', '#FDE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E2', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC',\r\n '#DD7E6B', '#EA9899', '#F9CB9C', '#FFE59A', '#B7D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D7', '#D5A6BD',\r\n '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#92C47D', '#75A5AF', '#6D9EEB', '#6FA9DB', '#8E7CC3', '#C27BA0',\r\n '#A61C00', '#CC0000', '#E69138', '#F2C131', '#6AA84F', '#45818E', '#3C78D8', '#3C85C6', '#674EA7', '#A64D79',\r\n '#85200B', '#990000', '#B45F05', '#BF9000', '#37761D', '#144F5C', '#1254CC', '#0A5394', '#351C75', '#741B47',\r\n '#5B0F00', '#660000', '#783F03', '#7F6000', '#284E13', '#0B343D', '#1B4586', '#063763', '#20124D', '#4C1030',\r\n];\r\n\r\n@Component({\r\n selector: 'gd-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.less']\r\n})\r\nexport class ColorPickerComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Output() selectedColor = new EventEmitter();\r\n @Output() closeOutside = new EventEmitter();\r\n colors: any = DEFAULT_COLORS;\r\n white = '#FFFFFF';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n select($event, color: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.selectedColor.emit(color);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.closeOutside.emit(true);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackFormattingService extends FormattingService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SelectionService {\r\n selection: Range;\r\n isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n restoreSelection() {\r\n if(this.selection && !this.selection.collapsed || this.isIE){\r\n this.putSelection(this.selection );\r\n }\r\n }\r\n\r\n captureSelection() {\r\n const selection = window.getSelection();\r\n if (selection.rangeCount > 0) {\r\n this.selection = selection.getRangeAt(0);\r\n }\r\n }\r\n\r\n private putSelection(selection) {\r\n const sel = window.getSelection();\r\n sel.removeAllRanges();\r\n sel.addRange(selection.cloneRange());\r\n }\r\n\r\n refreshSelection() {\r\n this.captureSelection();\r\n this.restoreSelection();\r\n }\r\n}\r\n","import {Directive, HostListener, OnInit} from '@angular/core';\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport * as jquery from 'jquery';\r\nconst $ = jquery;\r\nimport {SelectionService} from './selection.service';\r\n\r\n@Directive({\r\n selector: '[gdFormatting]'\r\n})\r\nexport class FormattingDirective implements OnInit {\r\n\r\n private bold = false;\r\n private italic = false;\r\n private underline = false;\r\n private color: string;\r\n private bgColor: string;\r\n private font: string;\r\n private strikeout = false;\r\n private align: string;\r\n private list: string;\r\n private isIE = false;\r\n\r\n constructor(private _formattingService: FormattingService,\r\n private _backFormattingService: BackFormattingService,\r\n private _selectionService: SelectionService) {\r\n this.isIE = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n }\r\n\r\n @HostListener('mouseup') mouseup() {\r\n\r\n this.bold = document.queryCommandState(\"bold\");\r\n this.strikeout = document.queryCommandState(\"strikeThrough\");\r\n this.italic = document.queryCommandState(\"italic\");\r\n this.bgColor = document.queryCommandValue(\"backColor\");\r\n this.underline = document.queryCommandState(\"underline\");\r\n this.align = this.checkJustify();\r\n this.list = this.checkList();\r\n\r\n //fix required by FireFox to get correct background color\r\n if (this.bgColor === \"transparent\") {\r\n this.bgColor = $(window.getSelection().focusNode.parentNode).css('background-color').toString();\r\n }\r\n this.font = document.queryCommandValue(\"FontName\").replace(/\"/g, '');\r\n if(this.font.split(\",\").length > 1){\r\n this.font = this.font.split(\",\")[0];\r\n }\r\n this.color = document.queryCommandValue(\"foreColor\");\r\n this._backFormattingService.changeFormatBold(this.bold);\r\n this._backFormattingService.changeFormatUnderline(this.underline);\r\n this._backFormattingService.changeFormatItalic(this.italic);\r\n this._backFormattingService.changeFormatColor(this.color);\r\n this._backFormattingService.changeFormatBgColor(this.bgColor);\r\n this._backFormattingService.changeFormatFontSize(this.reportFontSize());\r\n this._backFormattingService.changeFormatFont(this.font);\r\n this._backFormattingService.changeFormatStrikeout(this.strikeout);\r\n this._backFormattingService.changeFormatAlign(this.align);\r\n this._backFormattingService.changeFormatList(this.list);\r\n }\r\n\r\n private checkJustify() {\r\n let align = \"\";\r\n align = document.queryCommandState(\"justifyCenter\") ? \"center\" : align;\r\n align = document.queryCommandState(\"justifyFull\") ? \"full\" : align;\r\n align = document.queryCommandState(\"justifyLeft\") ? \"left\" : align;\r\n align = document.queryCommandState(\"justifyRight\") ? \"right\" : align;\r\n return align;\r\n }\r\n\r\n private checkList() {\r\n let list = \"\";\r\n list = document.queryCommandState(\"insertUnorderedList\") ? \"unordered\" : list;\r\n list = document.queryCommandState(\"insertOrderedList\") ? \"ordered\" : list;\r\n return list;\r\n }\r\n\r\n reportFontSize(): number {\r\n let containerEl, sel;\r\n if (window.getSelection) {\r\n sel = window.getSelection();\r\n if (sel.rangeCount) {\r\n containerEl = sel.getRangeAt(0).commonAncestorContainer;\r\n // Make sure we have an element rather than a text node\r\n if (containerEl.nodeType === 3) {\r\n containerEl = containerEl.parentNode;\r\n }\r\n }\r\n } else if ((sel = document.getSelection()) && sel.type !== \"Control\") {\r\n containerEl = sel.createRange().parentElement();\r\n }\r\n\r\n if (containerEl) {\r\n return parseInt(this.getComputedStyleProperty(containerEl, \"fontSize\").replace(\"px\", \"\"), 10);\r\n }\r\n }\r\n\r\n getComputedStyleProperty(el, propName) {\r\n if (window.getComputedStyle) {\r\n return window.getComputedStyle(el, null)[propName];\r\n } else if (el.currentStyle) {\r\n return el.currentStyle[propName];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._formattingService.undo.subscribe(() => {\r\n this.toggleUndo();\r\n });\r\n this._formattingService.redo.subscribe(() => {\r\n this.toggleRedo();\r\n });\r\n this._formattingService.formatBoldChange.subscribe((bold: boolean) => {\r\n this.bold = bold;\r\n this.toggleBold();\r\n });\r\n this._formattingService.formatUnderlineChange.subscribe((underline: boolean) => {\r\n this.underline = underline;\r\n this.toggleUnderline();\r\n });\r\n this._formattingService.formatItalicChange.subscribe((italic: boolean) => {\r\n this.italic = italic;\r\n this.toggleItalic();\r\n });\r\n this._formattingService.formatColorChange.subscribe(((color: string) => {\r\n this.color = color;\r\n this.setColor(color);\r\n }));\r\n this._formattingService.formatBgColorChange.subscribe(((bgcolor: string) => {\r\n this.bgColor = bgcolor;\r\n this.setBgColor(bgcolor);\r\n }));\r\n this._formattingService.formatFontSizeChange.subscribe(((fontSize: number) => {\r\n this.setFontSize(fontSize);\r\n }));\r\n\r\n this._formattingService.formatFontChange.subscribe(((font: string) => {\r\n this.font = font;\r\n this.setFont(font);\r\n }));\r\n this._formattingService.formatStrikeoutChange.subscribe((strikeout: boolean) => {\r\n this.strikeout = strikeout;\r\n this.toggleStrikeout();\r\n });\r\n this._formattingService.formatAlignChange.subscribe((align: string) => {\r\n this.align = align;\r\n this.toggleAlign(this.align);\r\n });\r\n this._formattingService.formatListChange.subscribe((list: string) => {\r\n const remove = this.list === list;\r\n this.list = list;\r\n this.toggleList(this.list, remove);\r\n });\r\n }\r\n\r\n private toggleBold() {\r\n document.execCommand(\"bold\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUnderline() {\r\n document.execCommand(\"underline\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleItalic() {\r\n document.execCommand(\"italic\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setBgColor(bgColor: string) {\r\n document.execCommand(\"backColor\", false, bgColor);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setColor(color: string) {\r\n document.execCommand(\"foreColor\", false, color);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private setFontSize(fontSize: number) {\r\n if (document.getSelection().toString()) {\r\n let spanString = \"\" +\r\n document.getSelection() + \"\";\r\n if (this.bold) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.italic) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.underline) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n if (this.strikeout) {\r\n spanString = \"\" + spanString + \"\";\r\n }\r\n document.execCommand('insertHTML', false, spanString);\r\n } else {\r\n document.execCommand(\"fontsize\", false, \"7\");\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleUndo() {\r\n document.execCommand(\"undo\");\r\n }\r\n\r\n private toggleRedo() {\r\n document.execCommand(\"redo\");\r\n }\r\n\r\n private setFont(font: string) {\r\n document.execCommand(\"fontName\", false, font);\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleStrikeout() {\r\n document.execCommand(\"strikeThrough\");\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlign(align: string) {\r\n if(this.isIE) {\r\n this.toggleAlignIE(align);\r\n return;\r\n }\r\n document.execCommand(\"styleWithCSS\", false, 'true');\r\n switch (align) {\r\n case 'center':\r\n document.execCommand('justifyCenter');\r\n break;\r\n case 'full':\r\n document.execCommand('justifyFull');\r\n break;\r\n case 'left':\r\n document.execCommand('justifyLeft');\r\n break;\r\n case 'right':\r\n document.execCommand('justifyRight');\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n\r\n private toggleAlignIE(align: string) {\r\n this._selectionService.restoreSelection()\r\n this._selectionService.captureSelection()\r\n const selection = window.getSelection().focusNode.parentNode.parentNode;\r\n if(align === \"full\"){\r\n align = \"justify\";\r\n }\r\n $(selection).css(\"text-align\", align);\r\n this._selectionService.refreshSelection()\r\n }\r\n\r\n private toggleList(list: string, remove: boolean) {\r\n switch (list) {\r\n case 'unordered':\r\n document.execCommand('insertUnorderedList', remove);\r\n break;\r\n case 'ordered':\r\n document.execCommand('insertOrderedList', remove);\r\n break;\r\n }\r\n this._selectionService.refreshSelection();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-success-modal',\r\n templateUrl: './success-modal.component.html',\r\n styleUrls: ['./success-modal.component.less']\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditHtmlService {\r\n private _observer: Subject = new Subject();\r\n private readonly _htmlContent: Observable = this._observer.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n get observer(): Subject {\r\n return this._observer;\r\n }\r\n\r\n get htmlContent(): Observable {\r\n return this._htmlContent;\r\n }\r\n\r\n}\r\n","import {Directive, HostListener, Input} from '@angular/core';\r\nimport {SelectionService} from './selection.service';\r\nimport {EditHtmlService} from \"./edit-html.service\";\r\n\r\n@Directive({\r\n selector: '[gdEditor]'\r\n})\r\nexport class EditorDirective {\r\n @Input() text: any;\r\n\r\n private isIE: boolean = /*@cc_on!@*/false || !!/(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\r\n\r\n constructor(private _selectionService: SelectionService, private _htmlService: EditHtmlService) {\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onInput(event) {\r\n this.text = event.target;\r\n if(this.isIE){\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseleave(event) {\r\n this._selectionService.captureSelection();\r\n // this code is required to fix IE11 issue - it doesn't trigger blur event, since that we need to save updated HTML here\r\n if(this.isIE){\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(event) {\r\n event.preventDefault();\r\n this._selectionService.restoreSelection();\r\n if (this.text.innerHTML) {\r\n const html = this.text.innerHTML.toString();\r\n this._htmlService.observer.next(html);\r\n } else {\r\n this._htmlService.observer.next(event.target.innerHTML.toString());\r\n }\r\n }\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core'\r\nimport {HttpRequest} from '@angular/common/http';\r\nimport {Api} from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class LoadingMaskService {\r\n onLoadingChanged: EventEmitter = new EventEmitter();\r\n\r\n private stopList = [];\r\n private requests: HttpRequest[] = [];\r\n\r\n constructor() {\r\n this.stopList.push(Api.SAVE_TEXT);\r\n this.stopList.push(Api.SAVE_OPTICAL_CODE);\r\n this.stopList.push(Api.LOAD_DOCUMENT_PAGE);\r\n this.stopList.push(Api.LOAD_THUMBNAILS);\r\n this.stopList.push(Api.GET_FILE_STATUS);\r\n this.stopList.push(Api.LOAD_PRINT);\r\n }\r\n\r\n onRequestStart(req: HttpRequest): void {\r\n const stop = this.stopList.find(x => req.url.includes(x));\r\n if (!stop) {\r\n this.requests.push(req);\r\n this.notify();\r\n }\r\n }\r\n\r\n onRequestFinish(req: HttpRequest): void {\r\n const index = this.requests.indexOf(req);\r\n if (index !== -1) {\r\n this.requests.splice(index, 1);\r\n }\r\n this.notify();\r\n }\r\n\r\n addStopUrl(url: string) {\r\n this.stopList.push(url);\r\n }\r\n\r\n private notify(): void {\r\n this.onLoadingChanged.emit(this.requests.length !== 0);\r\n }\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {LoadingMaskService} from \"../loading-mask.service\";\r\n\r\n@Component({\r\n selector: 'gd-loading-mask',\r\n templateUrl: './loading-mask.component.html',\r\n styleUrls: ['./loading-mask.component.less']\r\n})\r\n\r\nexport class LoadingMaskComponent implements OnInit, AfterViewInit {\r\n @Input() loadingMask = false;\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._loadingMaskService\r\n .onLoadingChanged\r\n .subscribe((loading: boolean) => this.loadingMask = loading);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs\";\r\nimport {finalize} from 'rxjs/operators'\r\nimport {LoadingMaskService} from \"./loading-mask.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingMaskInterceptorService implements HttpInterceptor {\r\n\r\n constructor(private _loadingMaskService: LoadingMaskService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this._loadingMaskService.onRequestStart(req);\r\n const callback = () => this._loadingMaskService.onRequestFinish(req);\r\n return next.handle(req).pipe( finalize( callback));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n\r\nconst horizontalAlignment = {\r\n center : {\r\n right: 'auto'\r\n },\r\n left : {\r\n right: '100%'\r\n },\r\n right : {\r\n right: '-100%'\r\n }\r\n};\r\n\r\nconst verticalAlignment = {\r\n center : {\r\n top : '0px',\r\n },\r\n top : {\r\n top : '-100%',\r\n right: '100%'\r\n },\r\n bottom : {\r\n top: 'autos'\r\n }\r\n};\r\n\r\n/**\r\n * DropDownToggleComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-toggle',\r\n template: '',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownToggleComponent{\r\n @HostListener('click',['$event'])\r\n click = (event: any) => this.dropdown.toggle(event);\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n}\r\n\r\n/**\r\n * DropDownItemsComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-items',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownItemsComponent{\r\n\r\n get horizontalAlign(){\r\n return horizontalAlignment[this.dropdown.getPlacement().h].right;\r\n }\r\n\r\n get verticalAlign(){\r\n return verticalAlignment[this.dropdown.getPlacement().v].top;\r\n }\r\n\r\n get isOpen(){\r\n return this.dropdown.open;\r\n }\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n onClickOutside(event : Event ){\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownItemComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down-item',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n})\r\nexport class DropDownItemComponent{\r\n @HostBinding('class')\r\n class = 'drop-down-item';\r\n\r\n @Output()\r\n selected = new EventEmitter();\r\n\r\n @HostListener('click')\r\n click = () => this.selectEntry();\r\n\r\n constructor(@Inject(forwardRef(() => DropDownComponent)) public dropdown) {}\r\n\r\n selectEntry(){\r\n this.selected.next();\r\n this.dropdown.close();\r\n }\r\n}\r\n\r\n/**\r\n * DropDownComponent\r\n */\r\n@Component({\r\n selector: 'gd-drop-down',\r\n template: '
',\r\n styleUrls: ['./drop-down.component.less'],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class DropDownComponent{\r\n @Input()\r\n placement = {\r\n h: \"center\",\r\n v: \"bottom\"\r\n };\r\n\r\n\r\n @Input()\r\n @HostBinding('class.show')\r\n open = false;\r\n\r\n @HostBinding('class')\r\n class = 'drop-down';\r\n\r\n close(){\r\n this.open = false;\r\n }\r\n\r\n toggle(event : MouseEvent){\r\n event.stopPropagation();\r\n this.open = !this.open;\r\n document.body.click();\r\n }\r\n\r\n getPlacement(){\r\n return this.placement;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gd-left-side-bar',\r\n templateUrl: './left-side-bar.component.html',\r\n styleUrls: ['./left-side-bar.component.less']\r\n})\r\nexport class LeftSideBarComponent implements OnInit {\r\n @Input() showSpinner = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[gdTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n\r\n @Output() showToolTip = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n public onHovering() {\r\n this.showToolTip.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave')\r\n public onUnhovering() {\r\n this.showToolTip.emit(false);\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Injectable,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddDynamicComponentService {\r\n\r\n constructor(private _factoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef) {\r\n }\r\n\r\n addDynamicComponent(viewContainerRef: ViewContainerRef, component: any) {\r\n const factory = this._factoryResolver.resolveComponentFactory(component);\r\n const componentRef = viewContainerRef.createComponent(factory);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n return componentRef;\r\n }\r\n\r\n}\r\n","import {HostDynamicDirective} from \"./host-dynamic.directive\";\r\n\r\nexport class HostingDynamicComponentService {\r\n private hosts: HostDynamicDirective[];\r\n\r\n constructor() {\r\n this.hosts = [];\r\n }\r\n\r\n add(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n this.hosts.push(host);\r\n }\r\n\r\n remove(host: HostDynamicDirective) {\r\n this.hosts = this.hosts.filter(function (h) {\r\n return h.ident !== host.ident;\r\n });\r\n }\r\n\r\n find(ident: number) {\r\n return this.hosts.find(function (h) {\r\n return h.ident === ident;\r\n });\r\n }\r\n}\r\n","import {AfterViewInit, Directive, Input, OnDestroy, ViewContainerRef} from '@angular/core';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\n\r\n@Directive({\r\n selector: '[gdHostDynamic]'\r\n})\r\nexport class HostDynamicDirective implements AfterViewInit, OnDestroy {\r\n @Input() ident: number;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private _hostingService: HostingDynamicComponentService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._hostingService.add(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._hostingService.remove(this);\r\n this.viewContainerRef.clear();\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport * as jquery from \"jquery\";\r\nimport {Utils} from \"../file.service\";\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-resizing',\r\n templateUrl: './resizing.component.html',\r\n styleUrls: ['./resizing.component.less']\r\n})\r\nexport class ResizingComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() init: boolean;\r\n @Input() id: number;\r\n @Input() se = false;\r\n @Input() ne = false;\r\n @Input() sw = false;\r\n @Input() nw = false;\r\n @Input() pageWidth: number;\r\n @Input() pageHeight: number;\r\n SE = 'se';\r\n NE = 'ne';\r\n SW = 'sw';\r\n NW = 'nw';\r\n\r\n @Output() offsetX = new EventEmitter();\r\n @Output() offsetY = new EventEmitter();\r\n @Output() offsetTop = new EventEmitter();\r\n @Output() offsetLeft = new EventEmitter();\r\n @Output() release = new EventEmitter();\r\n\r\n private grab = false;\r\n private oldPosition: { x: number, y: number };\r\n\r\n constructor() {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const elSE = $(this.getElementId(this.SE));\r\n const elNW = $(this.getElementId(this.NW));\r\n if (this.init && elSE && elNW && elSE.offset() && elNW.offset()) {\r\n let width = elSE.offset().left - elNW.offset().left;\r\n let height = elSE.offset().top - elNW.offset().top;\r\n while (width >= this.pageWidth || height >= this.pageHeight) {\r\n width = width / 2;\r\n height = height / 2;\r\n }\r\n setTimeout(() => {\r\n this.offsetX.emit(width);\r\n this.offsetY.emit(height);\r\n }, 100);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n catchUp($event: DragEvent) {\r\n // ff\r\n $event.preventDefault();\r\n if ($event.dataTransfer) { // ff\r\n $event.dataTransfer.setData('text', 'foo');\r\n }\r\n this.grab = true;\r\n this.oldPosition = Utils.getMousePosition($event);\r\n }\r\n\r\n resize($event: DragEvent, el: string) {\r\n if (!this.grab) {\r\n return;\r\n }\r\n const position = Utils.getMousePosition($event);\r\n if (position.x === 0 && position.y === 0) {\r\n return;\r\n }\r\n const notSW = this.NE === el || this.NW === el;\r\n const notNE = this.SW === el || this.NW === el;\r\n this.setOffsets(position, notNE, notSW);\r\n if (notSW) {\r\n this.offsetTop.emit(position.y - this.oldPosition.y);\r\n }\r\n if (notNE) {\r\n this.offsetLeft.emit(position.x - this.oldPosition.x);\r\n }\r\n this.oldPosition = position;\r\n }\r\n\r\n private setOffsets(position, x: boolean, y: boolean) {\r\n const offsetX = x ? this.oldPosition.x - position.x : position.x - this.oldPosition.x;\r\n const offsetY = y ? this.oldPosition.y - position.y : position.y - this.oldPosition.y;\r\n this.offsetX.emit(offsetX);\r\n this.offsetY.emit(offsetY);\r\n }\r\n\r\n end($event: DragEvent, el: string) {\r\n // ff\r\n this.resize($event, el);\r\n this.release.emit(true);\r\n this.grab = false;\r\n }\r\n\r\n start($event: DragEvent) {\r\n this.drop($event);\r\n }\r\n\r\n drop($event: DragEvent) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n\r\n private getElementId(el: string) {\r\n return \"#\" + el + \"-\" + this.id;\r\n }\r\n}\r\n","import {TabActivatorService} from \"./tab-activator.service\";\r\n\r\nexport class TopTabActivatorService extends TabActivatorService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ExceptionMessageService} from \"../exception-message.service\";\r\nimport {TopTabActivatorService} from \"../top-tab-activator.service\";\r\nimport {ModalService, CommonModals} from \"../modal.service\";\r\n\r\n@Component({\r\n selector: 'gd-top-tab',\r\n templateUrl: './top-tab.component.html',\r\n styleUrls: ['./top-tab.component.less']\r\n})\r\nexport class TopTabComponent implements OnInit {\r\n @Input() id: string;\r\n @Input() icon: string;\r\n @Input() disabled = false;\r\n @Input() tooltip: string;\r\n @Output() activeTab = new EventEmitter();\r\n @Input() elementPosition = 0;\r\n public active = false;\r\n public showToolTip = false;\r\n\r\n constructor(private _tabActivatorService: TopTabActivatorService,\r\n private _modalService: ModalService,\r\n private _excMessageService: ExceptionMessageService) {\r\n this._tabActivatorService.activeTabChange.subscribe((tabId: string) => {\r\n this.activation(tabId);\r\n if (tabId === null) {\r\n this.activeTab.emit(\"\");\r\n }\r\n });\r\n }\r\n\r\n private activation(tabId: string) {\r\n if (this.id === tabId) {\r\n this.active = !this.active;\r\n if (this.active) {\r\n this.activeTab.emit(this.id);\r\n } else {\r\n this.activeTab.emit(\"\");\r\n }\r\n } else {\r\n this.active = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleTab() {\r\n if (this.disabled) {\r\n this._modalService.open(CommonModals.ErrorMessage);\r\n this._excMessageService.changeMessage(\"Please open document first\");\r\n return;\r\n }\r\n this._tabActivatorService.changeActiveTab(this.id);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ElementRef, Renderer2} from '@angular/core';\r\nimport * as jquery from 'jquery';\r\nimport {FormattingService} from \"../formatting.service\";\r\nimport {OnCloseService} from \"../on-close.service\";\r\nimport {Option} from \"../select/select.component\";\r\nimport { ZoomService } from '../zoom.service';\r\nimport { WindowService } from '../window.service';\r\n\r\nconst $ = jquery;\r\n\r\n@Component({\r\n selector: 'gd-text-menu',\r\n templateUrl: './text-menu.component.html',\r\n styleUrls: ['./text-menu.component.less']\r\n})\r\nexport class TextMenuComponent implements OnInit {\r\n @Input() blur: boolean;\r\n @Input() fontSize: number;\r\n @Input() font: string;\r\n @Input() bold: boolean;\r\n @Input() italic: boolean;\r\n @Input() underline: boolean;\r\n @Input() color: string;\r\n @Input() decoration = true;\r\n @Input() showTooltips = true;\r\n\r\n @Output() outFontSize = new EventEmitter();\r\n @Output() outFont = new EventEmitter();\r\n @Output() outBold = new EventEmitter();\r\n @Output() outItalic = new EventEmitter();\r\n @Output() outUnderline = new EventEmitter();\r\n @Output() outColor = new EventEmitter();\r\n\r\n fontSizeOptions = FormattingService.getFontSizeOptions();\r\n fontOptions = FormattingService.getFontOptions();\r\n colorPickerShow = false;\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _onCloseService: OnCloseService,\r\n private _zoomService: ZoomService,\r\n private _windowService: WindowService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n \r\n _onCloseService.onClose.subscribe(() => {\r\n this.colorPickerShow = false;\r\n });\r\n\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changePosition(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changePosition(val: number) {\r\n const top = (window.innerHeight - 24 - this._elementRef.nativeElement.parentElement.getBoundingClientRect().top - this._elementRef.nativeElement.parentElement.getBoundingClientRect().height);\r\n const left = this._elementRef.nativeElement.parentElement.getBoundingClientRect().left;\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'width', window.innerWidth + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'top', top + 'px');\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-text-menu'), 'left', -left + 'px');\r\n }\r\n\r\n selectFontSize($event: Option) {\r\n $(\".gd-wrapper\").off(\"keyup\");\r\n this.outFontSize.emit($event.value);\r\n $(\".gd-wrapper\").on(\"keyup\", () => {\r\n const fontElements = document.getElementsByTagName(\"font\");\r\n for (let i = 0, len = fontElements.length; i < len; ++i) {\r\n if (fontElements[i].getAttribute('size') === \"7\") {\r\n fontElements[i].removeAttribute(\"size\");\r\n fontElements[i].style.fontSize = $event + \"px\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectFont($event: Option) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outFont.emit($event.value);\r\n }\r\n\r\n toggleColorPicker($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.colorPickerShow = !this.colorPickerShow;\r\n }\r\n\r\n selectColor($event: string) {\r\n this.colorPickerShow = false;\r\n this.outColor.emit($event);\r\n }\r\n\r\n toggleBold(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outBold.emit(!this.bold);\r\n }\r\n\r\n toggleItalic(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outItalic.emit(!this.italic);\r\n }\r\n\r\n toggleUnderline(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.outUnderline.emit(!this.underline);\r\n }\r\n\r\n closePicker($event) {\r\n this.colorPickerShow = !$event;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, Renderer2, ElementRef} from '@angular/core';\r\nimport {Formatting} from \"../formatting.service\";\r\nimport {WindowService} from \"../window.service\";\r\nimport { ZoomService } from '../zoom.service';\r\n\r\nexport class MenuType {\r\n public static FOR_SIGNATURE = \"signature\";\r\n public static FOR_ANNOTATION = \"annotation\";\r\n}\r\n\r\n@Component({\r\n selector: 'gd-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less']\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() formatting: Formatting = Formatting.default();\r\n @Input() textMenu: boolean;\r\n @Input() topPosition: number;\r\n @Input() lock = false;\r\n @Input() translation = 0;\r\n @Input() menuType: string;\r\n @Output() changeFormatting = new EventEmitter();\r\n @Output() removeItem = new EventEmitter();\r\n @Output() copySign = new EventEmitter();\r\n @Output() lockOut = new EventEmitter();\r\n @Output() comment = new EventEmitter();\r\n\r\n isMobile: boolean;\r\n\r\n constructor(private _windowService: WindowService,\r\n private _zoomService: ZoomService,\r\n protected _elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n this.isMobile = _windowService.isMobile();\r\n _windowService.onResize.subscribe((w) => {\r\n this.isMobile = _windowService.isMobile();\r\n });\r\n\r\n _zoomService.zoomChange.subscribe((val: number) => {\r\n if (this.isMobile)\r\n {\r\n this.changeScale(val);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeScale(val: number){\r\n this.renderer.setStyle(this._elementRef.nativeElement.querySelector('.gd-context-menu'), 'transform', 'scale(' + 1/(val/100) + ')');\r\n }\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 {ExcelDocumentComponent} from './excel-document/excel-document.component';\r\nimport {PageComponent} from './page/page.component';\r\nimport {ExcelPageComponent} from './excel-page/excel-page.component';\r\nimport {HighlightSearchPipe, SanitizeHtmlPipe, SanitizeResourceHtmlPipe, SanitizeStylePipe} from \"./pipes\";\r\nimport {UploadFileZoneComponent} from './upload-file-zone/upload-file-zone.component';\r\nimport {UploadFilesService} from \"./upload-files.service\";\r\nimport {DndDirective} from './dnd.directive';\r\nimport {ScrollableDirective} from './scrollable.directive';\r\nimport {MouseWheelDirective} from './mousewheel.directive';\r\nimport {NavigateService} from \"./navigate.service\";\r\nimport {PagePreloadService} from \"./page-preload.service\";\r\nimport {ZoomDirective} from './zoom.directive';\r\nimport {ZoomService} from \"./zoom.service\";\r\nimport {SelectComponent} from './select/select.component';\r\nimport {DisabledCursorDirective} from './disabled-cursor.directive';\r\nimport {RotationDirective} from './rotation.directive';\r\nimport {InitStateComponent} from './init-state/init-state.component';\r\nimport {RenderPrintService} from \"./render-print.service\";\r\nimport {RenderPrintDirective} from './render-print.directive';\r\nimport {ErrorModalComponent} from './error-modal/error-modal.component';\r\nimport {PasswordRequiredComponent} from './password-required/password-required.component';\r\nimport {ExceptionMessageService} from \"./exception-message.service\";\r\nimport {PasswordService} from \"./password.service\";\r\nimport {ErrorInterceptorService} from \"./error-interceptor.service\";\r\nimport {SearchComponent} from './search/search.component';\r\nimport {SearchableDirective} from './searchable.directive';\r\nimport {SearchService} from \"./search.service\";\r\nimport {WindowService} from \"./window.service\";\r\nimport {ViewportService} from \"./viewport.service\";\r\nimport {TabbedToolbarsComponent} from './tabbed-toolbars/tabbed-toolbars.component';\r\nimport {TabComponent} from \"./tab/tab.component\";\r\nimport {TabsComponent} from \"./tabs/tabs.component\";\r\nimport {FormattingService} from \"./formatting.service\";\r\nimport {ColorPickerComponent} from './color-picker/color-picker.component';\r\nimport {FormattingDirective} from './formatting.directive';\r\nimport {BackFormattingService} from \"./back-formatting.service\";\r\nimport {OnCloseService} from \"./on-close.service\";\r\nimport {SuccessModalComponent} from './success-modal/success-modal.component';\r\nimport {EditorDirective} from './editor.directive';\r\nimport {LoadingMaskComponent} from './loading-mask/loading-mask.component';\r\nimport {LoadingMaskService} from './loading-mask.service';\r\nimport {LoadingMaskInterceptorService} from \"./loading-mask-interceptor.service\";\r\nimport {TabActivatorService} from \"./tab-activator.service\";\r\nimport {\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent\r\n} from './drop-down/drop-down.component';\r\nimport {ClickOutsideModule} from 'ng-click-outside';\r\nimport {LeftSideBarComponent} from './left-side-bar/left-side-bar.component';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {AddDynamicComponentService} from \"./add-dynamic-component.service\";\r\nimport {HostDynamicDirective} from './host-dynamic.directive';\r\nimport {HostingDynamicComponentService} from \"./hosting-dynamic-component.service\";\r\nimport {ResizingComponent} from './resizing/resizing.component';\r\nimport {TopTabComponent} from './top-tab/top-tab.component';\r\nimport {ExcelPageService} from \"./excel-page.service\";\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 ExcelPageService];\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 ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeHtmlPipe,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n UploadFileZoneComponent,\r\n DndDirective,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n ZoomDirective,\r\n SelectComponent,\r\n DisabledCursorDirective,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n EditorDirective,\r\n LoadingMaskComponent,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent\r\n ],\r\n exports: [\r\n TopToolbarComponent,\r\n SidePanelComponent,\r\n ButtonComponent,\r\n LogoComponent,\r\n TooltipComponent,\r\n ModalComponent,\r\n BrowseFilesModalComponent,\r\n DocumentComponent,\r\n ExcelDocumentComponent,\r\n PageComponent,\r\n ExcelPageComponent,\r\n SanitizeResourceHtmlPipe,\r\n SanitizeStylePipe,\r\n HighlightSearchPipe,\r\n SanitizeHtmlPipe,\r\n UploadFileZoneComponent,\r\n ScrollableDirective,\r\n MouseWheelDirective,\r\n SelectComponent,\r\n RotationDirective,\r\n InitStateComponent,\r\n RenderPrintDirective,\r\n ErrorModalComponent,\r\n PasswordRequiredComponent,\r\n SearchComponent,\r\n SearchableDirective,\r\n TabbedToolbarsComponent,\r\n TabComponent,\r\n TabsComponent,\r\n ColorPickerComponent,\r\n FormattingDirective,\r\n SuccessModalComponent,\r\n LoadingMaskComponent,\r\n DndDirective,\r\n DropDownComponent,\r\n DropDownItemComponent,\r\n DropDownItemsComponent,\r\n DropDownToggleComponent,\r\n ZoomDirective,\r\n DropDownToggleComponent,\r\n LeftSideBarComponent,\r\n TooltipDirective,\r\n HostDynamicDirective,\r\n ResizingComponent,\r\n TopTabComponent,\r\n TextMenuComponent,\r\n ContextMenuComponent,\r\n EditorDirective,\r\n FormattingDirective ],\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 b6a7c3609..232c50b29 100644 --- a/dist/libs/common-components/groupdocs.examples.angular-common-components.metadata.json +++ b/dist/libs/common-components/groupdocs.examples.angular-common-components.metadata.json @@ -1 +1 @@ -{"__symbolic":"module","version":4,"metadata":{"CommonComponentsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":108,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":109,"character":12},{"__symbolic":"reference","module":"@fortawesome/angular-fontawesome","name":"FontAwesomeModule","line":109,"character":26},{"__symbolic":"reference","module":"ng-click-outside","name":"ClickOutsideModule","line":109,"character":45}],"declarations":[{"__symbolic":"reference","name":"TopToolbarComponent"},{"__symbolic":"reference","name":"SidePanelComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"LogoComponent"},{"__symbolic":"reference","name":"TooltipComponent"},{"__symbolic":"reference","name":"ModalComponent"},{"__symbolic":"reference","name":"BrowseFilesModalComponent"},{"__symbolic":"reference","name":"DocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"DisabledCursorDirective"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"EditorDirective"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"}],"exports":[{"__symbolic":"reference","name":"TopToolbarComponent"},{"__symbolic":"reference","name":"SidePanelComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"LogoComponent"},{"__symbolic":"reference","name":"TooltipComponent"},{"__symbolic":"reference","name":"ModalComponent"},{"__symbolic":"reference","name":"BrowseFilesModalComponent"},{"__symbolic":"reference","name":"DocumentComponent"},{"__symbolic":"reference","name":"PageComponent"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"UploadFileZoneComponent"},{"__symbolic":"reference","name":"ScrollableDirective"},{"__symbolic":"reference","name":"MouseWheelDirective"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"RotationDirective"},{"__symbolic":"reference","name":"InitStateComponent"},{"__symbolic":"reference","name":"RenderPrintDirective"},{"__symbolic":"reference","name":"ErrorModalComponent"},{"__symbolic":"reference","name":"PasswordRequiredComponent"},{"__symbolic":"reference","name":"SearchComponent"},{"__symbolic":"reference","name":"SearchableDirective"},{"__symbolic":"reference","name":"TabbedToolbarsComponent"},{"__symbolic":"reference","name":"TabComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ColorPickerComponent"},{"__symbolic":"reference","name":"FormattingDirective"},{"__symbolic":"reference","name":"SuccessModalComponent"},{"__symbolic":"reference","name":"LoadingMaskComponent"},{"__symbolic":"reference","name":"DndDirective"},{"__symbolic":"reference","name":"DropDownComponent"},{"__symbolic":"reference","name":"DropDownItemComponent"},{"__symbolic":"reference","name":"DropDownItemsComponent"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"ZoomDirective"},{"__symbolic":"reference","name":"DropDownToggleComponent"},{"__symbolic":"reference","name":"LeftSideBarComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"HostDynamicDirective"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"TextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuComponent"}],"providers":[{"__symbolic":"reference","name":"ConfigService"},{"__symbolic":"reference","name":"Api"},{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"FileService"},{"__symbolic":"reference","name":"FileModel"},{"__symbolic":"reference","name":"FileUtil"},{"__symbolic":"reference","name":"Utils"},{"__symbolic":"reference","name":"SanitizeHtmlPipe"},{"__symbolic":"reference","name":"SanitizeResourceHtmlPipe"},{"__symbolic":"reference","name":"SanitizeStylePipe"},{"__symbolic":"reference","name":"HighlightSearchPipe"},{"__symbolic":"reference","name":"UploadFilesService"},{"__symbolic":"reference","name":"RenderPrintService"},{"__symbolic":"reference","name":"NavigateService"},{"__symbolic":"reference","name":"PagePreloadService"},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"ExceptionMessageService"},{"__symbolic":"reference","name":"PasswordService"},{"__symbolic":"reference","name":"ErrorInterceptorService"},{"__symbolic":"reference","name":"SearchService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"ViewportService"},{"__symbolic":"reference","name":"FormattingService"},{"__symbolic":"reference","name":"BackFormattingService"},{"__symbolic":"reference","name":"OnCloseService"},{"__symbolic":"reference","name":"LoadingMaskInterceptorService"},{"__symbolic":"reference","name":"LoadingMaskService"},{"__symbolic":"reference","name":"TabActivatorService"},{"__symbolic":"reference","name":"AddDynamicComponentService"},{"__symbolic":"reference","name":"HostingDynamicComponentService"},{"__symbolic":"reference","name":"TopTabActivatorService"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Api":{"__symbolic":"class","members":{},"statics":{"VIEWER_APP":"/viewer","SIGNATURE_APP":"/signature","ANNOTATION_APP":"/annotation","SEARCH_APP":"/search","EDITOR_APP":"/editor","COMPARISON_APP":"/comparison","CONVERSION_APP":"/conversion","METADATA_APP":"/metadata","DEFAULT_API_ENDPOINT":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"window"},"member":"location"},"member":"href"},"LOAD_FILE_TREE":"/loadFileTree","LOAD_CONFIG":"/loadConfig","LOAD_DOCUMENT_DESCRIPTION":"/loadDocumentDescription","LOAD_DOCUMENT_PAGE":"/loadDocumentPage","LOAD_DOCUMENT_PROPERTIES":"/loadProperties","LOAD_DOCUMENT_PROPERTIES_NAMES":"/loadPropertiesNames","SAVE_PROPERTY":"/saveProperty","REMOVE_PROPERTY":"/removeProperty","ROTATE_DOCUMENT_PAGE":"/rotateDocumentPages","UPLOAD_DOCUMENTS":"/uploadDocument","DOWNLOAD_DOCUMENTS":"/downloadDocument","DOWNLOAD_ANNOTATED":"/downloadAnnotated","LOAD_PRINT":"/loadPrint","LOAD_PRINT_PDF":"/printPdf","LOAD_THUMBNAILS":"/loadThumbnails","LOAD_FORMATS":"/loadFormats","SAVE_FILE":"/saveFile","CREATE_FILE":"/createFile","COMPARE_FILES":"/compare","CONVERT_FILE":"/convert","DELETE_SIGNATURE_FILE":"/deleteSignatureFile","REMOVE_FROM_INDEX":"/removeFromIndex","GET_FILE_STATUS":"/getFileStatus","SAVE_OPTICAL_CODE":"/saveOpticalCode","SAVE_TEXT":"/saveText","SAVE_IMAGE":"/saveImage","SAVE_STAMP":"/saveStamp","SIGN":"/sign","DOWNLOAD_SIGNED":"/downloadSigned","LOAD_SIGNATURE_IMAGE":"/loadSignatureImage","ANNOTATE":"/annotate","SEARCH":"/search","ADD_FILES_TO_INDEX":"/addFilesToIndex","CLEAN_METADATA":"/clean","EXPORT_METADATA":"/export","httpOptionsJson":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":50,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]}},"httpOptionsJsonResponseTypeBlob":{"headers":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHeaders","line":55,"character":17},"arguments":[{"Content-Type":"application/json","$quoted$":["Content-Type"]}]},"responseType":"blob"}}},"ConfigService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":62,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getConfigEndpoint":[{"__symbolic":"method"}],"getViewerApiEndpoint":[{"__symbolic":"method"}],"getEditorApiEndpoint":[{"__symbolic":"method"}],"getComparisonApiEndpoint":[{"__symbolic":"method"}],"getConversionApiEndpoint":[{"__symbolic":"method"}],"getMetadataApiEndpoint":[{"__symbolic":"method"}],"getSignatureApiEndpoint":[{"__symbolic":"method"}],"getAnnotationApiEndpoint":[{"__symbolic":"method"}],"getSearchApiEndpoint":[{"__symbolic":"method"}]}},"CommonModals":{"__symbolic":"class","members":{},"statics":{"PasswordRequired":"gd-password-required","ErrorMessage":"gd-error-message","BrowseFiles":"gd-browse-files","CreateDocument":"gd-create-document","OperationSuccess":"gd-success-modal","DrawHandSignature":"gd-draw-hand-signature","DrawStampSignature":"gd-draw-stamp-signature","InformationMessage":"gd-information-message"}},"ModalService":{"__symbolic":"class","members":{"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"PageModel":{"__symbolic":"class","members":{}},"RotatedPage":{"__symbolic":"class","members":{}},"FileCredentials":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"SaveFile":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FileCredentials"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"FileDescription":{"__symbolic":"class","members":{}},"FileModel":{"__symbolic":"class","members":{}},"HttpError":{"__symbolic":"class","members":{},"statics":{"BadRequest":400,"Unauthorized":401,"Forbidden":403,"NotFound":404,"TimeOut":408,"Conflict":409,"InternalServerError":500}},"Utils":{"__symbolic":"class","members":{}},"FileUtil":{"__symbolic":"class","members":{},"statics":{"map":{"folder":{"format":"","icon":"folder","$quoted$":["format","icon"]},"pdf":{"format":"Portable Document Format","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"doc":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"docx":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"docm":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dot":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dotx":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dotm":{"format":"Microsoft Word","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xls":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsx":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsm":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xlsb":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xls2003":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xltx":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"xltm":{"format":"Microsoft Excel","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"ppt":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pptx":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pps":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ppsx":{"format":"Microsoft PowerPoint","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"vsd":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vdx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vss":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vsx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vst":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vtx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vsdx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vdw":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vstx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"vssx":{"format":"Microsoft Visio","icon":"file-code","unit":"px","$quoted$":["format","icon","unit"]},"mpp":{"format":"Microsoft Project","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"mpt":{"format":"Microsoft Project","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"msg":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"eml":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"emlx":{"format":"Microsoft Outlook","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"one":{"format":"Microsoft OneNote","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"odt":{"format":"Open Document Text","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"ott":{"format":"Open Document Text Template","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"ods":{"format":"Open Document Spreadsheet","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"odp":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"otp":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ots":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"potx":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"potm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"pptm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"ppsm":{"format":"Open Document Presentation","icon":"file-powerpoint","unit":"pt","$quoted$":["format","icon","unit"]},"rtf":{"format":"Rich Text Format","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"txt":{"format":"Plain Text File","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"csv":{"format":"Comma-Separated Values","icon":"file-excel","unit":"px","$quoted$":["format","icon","unit"]},"html":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"mht":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"mhtml":{"format":"HyperText Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xml":{"format":"Extensible Markup Language","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"xps":{"format":"XML Paper Specification","icon":"file-word","unit":"pt","$quoted$":["format","icon","unit"]},"dxf":{"format":"AutoCAD Drawing File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"dwg":{"format":"AutoCAD Drawing File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"bmp":{"format":"Bitmap Picture","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"gif":{"format":"Graphics Interchange Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpg":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpe":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jpeg":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jfif":{"format":"Joint Photographic Experts Group","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"png":{"format":"Portable Network Graphics","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"tiff":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"tif":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"psd":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"svg":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"jp2":{"format":"Tagged Image File Format","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"epub":{"format":"Electronic Publication","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"ico":{"format":"Windows Icon","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"webp":{"format":"Compressed Image","icon":"file-image","unit":"px","$quoted$":["format","icon","unit"]},"mobi":{"format":"Mobipocket eBook","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"tex":{"format":"LaTeX Source Document","icon":"file-pdf","unit":"pt","$quoted$":["format","icon","unit"]},"djvu":{"format":"Multi-Layer Raster Image","icon":"file-alt","unit":"pt","$quoted$":["format","icon","unit"]},"unknown":{"format":"This format is not supported","icon":"file","$quoted$":["format","icon"]},"$quoted$":["folder","pdf","doc","docx","docm","dot","dotx","dotm","xls","xlsx","xlsm","xlsb","xls2003","xltx","xltm","ppt","pptx","pps","ppsx","vsd","vdx","vss","vsx","vst","vtx","vsdx","vdw","vstx","vssx","mpp","mpt","msg","eml","emlx","one","odt","ott","ods","odp","otp","ots","potx","potm","pptm","ppsm","rtf","txt","csv","html","mht","mhtml","xml","xps","dxf","dwg","bmp","gif","jpg","jpe","jpeg","jfif","png","tiff","tif","psd","svg","jp2","epub","ico","webp","mobi","tex","djvu","unknown"]}}},"FileService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"UploadFilesService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeFilesList":[{"__symbolic":"method"}]}},"SanitizeHtmlPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"safeHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"SanitizeResourceHtmlPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":13,"character":1},"arguments":[{"name":"safeResourceHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"SanitizeStylePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":23,"character":1},"arguments":[{"name":"safeStyle"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"HighlightSearchPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":33,"character":1},"arguments":[{"name":"highlight"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"NavigateService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PagePreloadService"}]}],"nextPage":[{"__symbolic":"method"}],"prevPage":[{"__symbolic":"method"}],"toLastPage":[{"__symbolic":"method"}],"toFirstPage":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"PagePreloadService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeLastPageInView":[{"__symbolic":"method"}]}},"ZoomService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeZoom":[{"__symbolic":"method"}],"createZoomOption":[{"__symbolic":"method"}],"zoomOptions":[{"__symbolic":"method"}]}},"RenderPrintService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changePages":[{"__symbolic":"method"}],"changeBlob":[{"__symbolic":"method"}]}},"ErrorInterceptorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ModalService"},{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"intercept":[{"__symbolic":"method"}]},"statics":{"ErrorMessageWindowName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./modal.service","name":"CommonModals","line":13,"character":48},"member":"ErrorMessage"},"ngInjectableDef":{}}},"ExceptionMessageService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changeMessage":[{"__symbolic":"method"}],"changeHttpEvent":[{"__symbolic":"method"}]}},"PasswordService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"setPassword":[{"__symbolic":"method"}]}},"WindowService":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"isMobile":[{"__symbolic":"method"}],"isTablet":[{"__symbolic":"method"}],"isDesktop":[{"__symbolic":"method"}],"getWidth":[{"__symbolic":"method"}],"getHeight":[{"__symbolic":"method"}],"isEdge":[{"__symbolic":"method"}],"isFirefox":[{"__symbolic":"method"}]}},"ViewportService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"checkInViewport":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"BrowseFilesModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"gd-browse-files-modal","template":"\n
\n
\n \n Drop file here to upload\n
\n
\n
\n \n
\n
\n \n \n \n Upload file\n \n \n \n \n \n
{{item.name}}
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
FILE
\n
SIZE
\n
\n
\n
\n
\n
\n
\n \n
\n
..
\n
\n
\n
\n \n
\n
{{file?.name}}
\n
{{getFormatName(file)}}
\n
\n
\n
\n {{getSize(file?.size)}}\n
\n
\n
\n
\n
\n \n  Loading... Please wait.\n
\n
\n
\n","styles":[".gd-modal-table{width:100%;text-align:left}#gd-browse-section{width:1036px;height:561px;overflow-y:auto}.list-files-header{height:60px;color:#6e6e6e;font-size:13px;font-weight:700;background-color:#f4f4f4;margin-top:24px}.list-files-header.upload-url{margin-top:20px}.header-name{padding-left:24px;width:90%;line-height:60px}.header-size{padding-right:27px;line-height:60px}.file-size,.header-size{width:10%;color:#777;text-align:right}.file-description{display:-webkit-box;display:flex;width:90%;padding:18px 0 18px 24px;font-size:14px;-webkit-box-flex:1;flex:1;cursor:pointer;overflow:hidden}.file-size{font-size:12px;padding:0 27px 0 0;width:10%;line-height:79px}.list-files-header,.list-files-lines{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:justify;justify-content:space-between}.gd-modal-spinner{background-color:#fff;width:100%;height:20px;text-align:center;font-size:16px}.gd-cancel-button{padding:7px;background:0 0;width:28px;overflow:hidden}.gd-cancel-button i{font-size:21px}.gd-file-name{white-space:nowrap;overflow:hidden;width:100%;text-overflow:ellipsis}.go-up{display:-webkit-box;display:flex;font-size:26px;cursor:pointer;color:#4b566c;height:79px}.go-up-dots{margin-left:20px;margin-top:22px;font-size:16px}.go-up-icon{display:block;padding:18px 0 18px 24px}.upload-panel{display:-webkit-box;display:flex;position:relative;width:100%}.upload-panel .context{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;margin-left:24px;margin-top:24px;margin-right:24px}.upload-panel .context .context-actions{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-actions :last-child{margin-right:0}.upload-panel .context .context-actions ::ng-deep .button{height:37px;width:96px;padding:0;-webkit-box-pack:center;justify-content:center}.upload-panel .context .context-actions ::ng-deep .button ::ng-deep .text{font-size:10px}.upload-panel .context .context-panel{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;margin-top:20px}.upload-panel .context .context-panel .upload-url{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%}.upload-panel .context .context-panel .upload-url .url-input{width:100%;height:27px;border:1px solid #25c2d4;font-size:14px;padding-left:6px}.upload-panel .context .context-panel .upload-url .url-check{width:31px;height:31px;color:#fff;font-size:15px;background-color:#25c2d4}.upload-panel .context .context-panel .upload-url .url-check .ng-fa-icon{display:block;padding:8px}.upload-panel gd-drop-down{margin-right:10px}.file-description .ng-fa-icon.fa-file-pdf{color:#e04e4e}.file-description .ng-fa-icon.fa-file-word{color:#539cf0}.file-description .ng-fa-icon.fa-file-powerpoint{color:#e29e1e}.file-description .ng-fa-icon.fa-file-excel{color:#7cbc46}.file-description .ng-fa-icon.fa-file-image{color:#c375ed}.file-description .ng-fa-icon.fa-file,.file-description .ng-fa-icon.fa-file-alt,.file-description .ng-fa-icon.fa-file-text .fa-folder{color:#4b566c}.file-description .ng-fa-icon{font-size:32px}.file-name{font-size:16px;color:#6e6e6e;overflow:hidden;text-overflow:ellipsis}.file-name-format{padding-left:11px;overflow:hidden}.file-format{font-size:10px;padding-top:3px;color:#acacac}.go-up,.list-files-lines{border-bottom:1px solid #e7e7e7}.list-files-lines:hover{background-color:#e5e5e5}.gd-dnd-wrap{background-color:#fff;cursor:default;position:absolute;width:100%;height:calc(100% - 60px);background:rgba(255,255,255,.7);z-index:1;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dnd-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;top:259px;position:absolute}.dnd-wrapper .text{color:#6e6e6e;font-size:14px}.dnd-wrapper .icon{display:-webkit-box;display:flex;width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}@media (max-width:1037px){.file-size,.header-size{width:18%}.gd-dnd-wrap{width:95%}#gd-browse-section{width:100%;height:calc(100% - 146px)}}"]}]}],"members":{"files":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"uploadConfig":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"selectedFileGuid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"selectedDirectory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"urlForUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"closing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getSize":[{"__symbolic":"method"}],"getFormatName":[{"__symbolic":"method"}],"getFormatIcon":[{"__symbolic":"method"}],"choose":[{"__symbolic":"method"}],"goUp":[{"__symbolic":"method"}],"selectUpload":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"showSpinner":[{"__symbolic":"method"}],"uploadUrl":[{"__symbolic":"method"}],"handleFileInput":[{"__symbolic":"method"}],"cleanUpload":[{"__symbolic":"method"}]}},"ButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-button","template":"
\n \n \n
\n \n
\n
\n","styles":[".icon-button{padding:0!important;margin:0 7px}.button{padding:0 10px;font-size:14px;color:#959da5;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:center;align-items:center;align-content:center;-webkit-box-pack:center;justify-content:center;min-width:37px;height:37px;text-align:center;position:relative;white-space:nowrap}.button.inactive{cursor:not-allowed;opacity:.4}.button.active *{color:#ccd0d4}.button.primary{background-color:#3e4e5a;color:#fff}.button.primary.active{color:#fff;background-color:#688296}.button.brand{background-color:#25c2d4;color:#fff}.button.brand.active{color:#fff;background-color:#688296}.button .text{font-size:13px;padding-left:10px}.button .button-tooltip{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media (max-width:1037px){.button{font-size:22px}.arrow-button{margin:5px}}"]}]}],"members":{"iconOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"intent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"iconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"className":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"toggle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"iconSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"iconRegular":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"elementPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WindowService"}]}],"iconButtonClass":[{"__symbolic":"method"}],"onHovering":[{"__symbolic":"method"}],"onUnhovering":[{"__symbolic":"method"}],"cleanAll":[{"__symbolic":"method"}]}},"DisabledCursorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[gdDisabledCursor]"}]}],"members":{"dis":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"cursor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":3},"arguments":["class.inactive"]}]}],"updateCursor":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}]}},"DndDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[gdDnd]"}]}],"members":{"closing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"opening":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":9,"character":3}}]}],"dropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":3},"arguments":["class.active"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"UploadFilesService"}]}],"onDragEnter":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":19,"character":3},"arguments":["dragenter",["$event"]]}]}],"onDragOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":28,"character":3},"arguments":["dragover",["$event"]]}]}],"onDragLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":35,"character":3},"arguments":["dragleave",["$event"]]}]}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":46,"character":3},"arguments":["drop",["$event"]]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":59,"character":3},"arguments":["click",["$event"]]}]}],"closeArea":[{"__symbolic":"method"}]}},"DocumentComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"gd-document","template":"
Please wait...
\n
\n
\n
\n \n
\n
\n \n
\n","styles":[":host{-webkit-box-flex:1;flex:1;-webkit-transition:.4s;transition:.4s;background-color:#e7e7e7;height:100%;overflow:scroll;touch-action:auto!important}:host .document{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;touch-action:auto!important}.page{display:inline-block;background-color:#fff;margin:20px;box-shadow:0 3px 6px rgba(0,0,0,.16);-webkit-transition:.3s;transition:.3s}.page.excel{overflow:auto}.page.presentation{margin:0;-webkit-transition:unset;transition:unset}.page.presentation.active{margin:20px}.wait{position:absolute;top:55px;left:Calc(30%)}.panzoom{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-pack:center;justify-content:center;align-content:flex-start}@media (max-width:1037px){.page{min-width:unset!important;min-height:unset!important;margin:5px 0}}"]}]}],"members":{"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"preloadPageCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"file":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"selectedPage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"showActiveSlide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":51,"character":48,"context":{"typeName":"HTMLElement"},"module":"./lib/document/document.component"}]},{"__symbolic":"reference","name":"ZoomService"},{"__symbolic":"reference","name":"WindowService"},{"__symbolic":"reference","name":"NavigateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ifExcel":[{"__symbolic":"method"}],"ifPresentation":[{"__symbolic":"method"}],"getDimensionWithUnit":[{"__symbolic":"method"}],"ifEdge":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"isVisible":[{"__symbolic":"method"}]}},"ErrorModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-error-modal","template":"\n
\n \n
\n
Something went wrong
\n
{{message ? message : 'Server is not available'}}
\n
\n
\n
\n","styles":[".gd-modal-error{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1}.gd-modal-error .gd-modal-error-message{font-size:12px;margin:0 24px 24px 0;word-break:break-word}.gd-modal-error .gd-modal-error-title{font-size:16px;font-weight:700;margin:14px 0 10px}#gd-error-section{max-width:468px;max-height:204px;display:-webkit-box;display:flex}#gd-error-section fa-icon{-webkit-box-flex:1;flex:1;color:#e04e4e;font-size:40px;margin:13px 23px 90px;text-align:center;max-width:46px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ExceptionMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"InitStateComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-init-state","template":"
\n
\n \n \n \n \n
\n
\n \n {{text}}\n
\n
\n","styles":[".wrapper{color:#959da5;background-color:#e7e7e7;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.icon{font-size:65px;margin-bottom:43px;display:-webkit-box;display:flex;color:#959da5}.start{font-size:15px;text-align:center;color:#959da5}.gd-drag-n-drop-wrap.active{background-color:#fff;position:fixed;top:0;background:rgba(255,255,255,.8)}.gd-drag-n-drop-wrap.active .init-state-wrapper{position:absolute;opacity:.2;top:unset}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper{top:0;z-index:999}.gd-drag-n-drop-wrap.active .init-state-dnd-wrapper .icon{width:113px;height:90px;font-size:90px;color:#3e4e5a;margin-bottom:30px}.gd-drag-n-drop-wrap.active .text{color:#6e6e6e;font-size:14px}.init-state-dnd-wrapper,.init-state-wrapper{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:250px;height:250px;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.init-state-wrapper{top:-60px;position:relative}"]}]}],"members":{"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"fileDropped":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"dropped":[{"__symbolic":"method"}]}},"LogoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"gd-logo","template":"
\n \n \n
\n\n","styles":[".logo{background-color:#25c2d4;height:60px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.text{color:#fff;font-size:15px;text-transform:uppercase;margin:0 14px}.icon{display:none;font-size:32px;color:rgba(255,255,255,.5);margin:14px}@media (max-width:1037px){.logo{width:60px;height:60px}.logo .text{display:none}.logo .icon{display:block}}"]}]}],"members":{"logo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"gd-modal","template":"
\n
\n
\n
\n\n
\n
×
\n

{{title}}

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

Drag & Drop your files here

\n

OR

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

{{title}}

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

Drag & Drop your files here

\r\n

OR

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