@bizdoc/core 1.7.0-next.3 → 1.7.0-next.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/assets/fonts/MaterialIcons-Regular.svg +2373 -2373
- package/assets/fonts/README.md +9 -9
- package/assets/fonts/codepoints +932 -932
- package/assets/fonts/material-icons.css +36 -36
- package/assets/themes/brown.min.css +83 -81
- package/assets/themes/dark.min.css +77 -75
- package/assets/themes/default.min.css +90 -88
- package/assets/themes/green.min.css +83 -81
- package/assets/themes/indigo.min.css +83 -81
- package/bundles/bizdoc-core.umd.js +1086 -1600
- package/bundles/bizdoc-core.umd.js.map +1 -1
- package/esm2015/lib/app.component.js +7 -13
- package/esm2015/lib/bizdoc.module.js +2 -37
- package/esm2015/lib/browse/filter/filter.component.js +2 -2
- package/esm2015/lib/core/configuration.js +1 -1
- package/esm2015/lib/core/controls/combination-picker-body.js +2 -2
- package/esm2015/lib/core/models.js +1 -1
- package/esm2015/lib/core/session.service.js +5 -9
- package/esm2015/lib/core/slots/slots.component.js +6 -4
- package/esm2015/lib/cube/accum/accum.component.js +4 -7
- package/esm2015/lib/cube/chart/chart.component.js +6 -3
- package/esm2015/lib/cube/cube-info.service.js +100 -0
- package/esm2015/lib/cube/cube-view.component.js +11 -30
- package/esm2015/lib/cube/declarations.js +1 -1
- package/esm2015/lib/cube/explore/explore-items.component.js +5 -7
- package/esm2015/lib/cube/explore/explore.pane.component.js +2 -5
- package/esm2015/lib/cube/filter/filter-tags.component.exp.js +8 -8
- package/esm2015/lib/cube/filter/filter.component.js +14 -11
- package/esm2015/lib/cube/grid/grid.component.js +4 -3
- package/esm2015/lib/cube/grid/spreadsheet.component.js +4 -4
- package/esm2015/lib/cube/matrix/matrix.base.js +130 -0
- package/esm2015/lib/cube/matrix/matrix.component.js +68 -0
- package/esm2015/lib/cube/matrix/matrix.mobile.component.js +62 -0
- package/esm2015/lib/cube/matrix/matrix.pane.component.js +70 -0
- package/esm2015/lib/cube/matrix/table.component.js +254 -0
- package/esm2015/lib/cube/pivot/pivot.component.js +4 -4
- package/esm2015/lib/cube/view-base.js +76 -0
- package/esm2015/lib/cube/view.mobile.component.js +31 -54
- package/esm2015/lib/cube/view.pane.component.js +26 -58
- package/esm2015/lib/dashboard/cube/accum-cube.widget.js +2 -2
- package/esm2015/lib/dashboard/cube/cube-analysis.base.js +2 -2
- package/esm2015/lib/dashboard/cube/cube-chart.widget.js +2 -2
- package/esm2015/lib/dashboard/cube/filter/filter.component.js +3 -3
- package/esm2015/lib/desktop.module.js +6 -6
- package/esm2015/lib/home/sign/sign.component.js +2 -2
- package/esm2015/lib/impersonate/impersonate.component.js +69 -0
- package/esm2015/lib/mobile.module.js +9 -9
- package/esm2015/lib/reports/cube/grid-documents.component.js +10 -9
- package/esm2015/lib/reports/cube/usage-args.component.js +2 -2
- package/esm2015/lib/routes.desktop.js +3 -3
- package/esm2015/lib/routes.mobile.js +5 -5
- package/esm2015/lib/scheduler/schedule.component.js +21 -17
- package/esm2015/lib/shared.module.js +26 -26
- package/esm2015/lib/system.module.js +8 -10
- package/esm2015/lib/views/cube/cube-base.js +10 -5
- package/esm2015/lib/views/cube/matrix.component.js +95 -0
- package/esm2015/lib/views/cube/view.component.js +19 -21
- package/esm2015/lib/views/document-view-ref.js +3 -2
- package/esm2015/lib/views/timeline/timeline.component.exp.js +317 -0
- package/esm2015/lib/views/view-item.component.js +11 -7
- package/esm2015/lib/views/views.component.js +10 -11
- package/esm2015/public-api.js +4 -8
- package/fesm2015/bizdoc-core.js +902 -1382
- package/fesm2015/bizdoc-core.js.map +1 -1
- package/lib/app.component.d.ts +1 -4
- package/lib/core/configuration.d.ts +1 -17
- package/lib/core/controls/combination-picker-body.d.ts +1 -1
- package/lib/core/models.d.ts +1 -0
- package/lib/core/session.service.d.ts +0 -5
- package/lib/core/slots/slots.component.d.ts +1 -1
- package/lib/cube/accum/accum.component.d.ts +3 -7
- package/lib/cube/chart/chart.component.d.ts +1 -1
- package/lib/cube/{info/cube-info.service.d.ts → cube-info.service.d.ts} +6 -6
- package/lib/cube/cube-view.component.d.ts +4 -9
- package/lib/cube/declarations.d.ts +3 -5
- package/lib/cube/explore/explore-items.component.d.ts +1 -4
- package/lib/cube/explore/explore.pane.component.d.ts +0 -1
- package/lib/cube/filter/filter-tags.component.exp.d.ts +2 -2
- package/lib/cube/filter/filter.component.d.ts +4 -3
- package/lib/cube/grid/grid.component.d.ts +2 -1
- package/lib/cube/grid/spreadsheet.component.d.ts +1 -1
- package/lib/cube/{info/cube-info.base.d.ts → matrix/matrix.base.d.ts} +5 -5
- package/lib/cube/{info/cube-info.component.d.ts → matrix/matrix.component.d.ts} +8 -8
- package/lib/cube/{info/cube-info.mobile.component.d.ts → matrix/matrix.mobile.component.d.ts} +4 -4
- package/lib/cube/{info/cube-info.pane.component.d.ts → matrix/matrix.pane.component.d.ts} +5 -5
- package/lib/cube/{info → matrix}/table.component.d.ts +4 -5
- package/lib/cube/pivot/pivot.component.d.ts +2 -4
- package/lib/cube/view-base.d.ts +39 -0
- package/lib/cube/view.mobile.component.d.ts +8 -25
- package/lib/cube/view.pane.component.d.ts +8 -26
- package/lib/dashboard/cube/accum-cube.widget.d.ts +1 -1
- package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -1
- package/lib/dashboard/cube/cube-chart.widget.d.ts +1 -1
- package/lib/dashboard/cube/filter/filter.component.d.ts +1 -1
- package/lib/desktop.module.d.ts +2 -2
- package/lib/{login/impersonate → impersonate}/impersonate.component.d.ts +3 -3
- package/lib/mobile.module.d.ts +2 -2
- package/lib/scheduler/schedule.component.d.ts +4 -1
- package/lib/shared.module.d.ts +48 -50
- package/lib/system.module.d.ts +25 -26
- package/lib/views/cube/cube-base.d.ts +16 -10
- package/lib/views/cube/{table.component.d.ts → matrix.component.d.ts} +2 -15
- package/lib/views/cube/view.component.d.ts +2 -9
- package/lib/views/document-view-ref.d.ts +3 -1
- package/lib/views/timeline/timeline.component.exp.d.ts +64 -0
- package/lib/views/view-item.component.d.ts +4 -2
- package/lib/views/views.component.d.ts +3 -5
- package/package.json +15 -17
- package/public-api.d.ts +4 -8
- package/esm2015/lib/admin/users/users.component.js +0 -155
- package/esm2015/lib/admin/users/users.service.js +0 -29
- package/esm2015/lib/cube/info/cube-info.base.js +0 -128
- package/esm2015/lib/cube/info/cube-info.component.js +0 -69
- package/esm2015/lib/cube/info/cube-info.mobile.component.js +0 -62
- package/esm2015/lib/cube/info/cube-info.pane.component.js +0 -70
- package/esm2015/lib/cube/info/cube-info.service.js +0 -100
- package/esm2015/lib/cube/info/table.component.js +0 -258
- package/esm2015/lib/login/forgot/forgot.component.js +0 -50
- package/esm2015/lib/login/form.authentication.js +0 -71
- package/esm2015/lib/login/form.interceptor.js +0 -26
- package/esm2015/lib/login/impersonate/impersonate.component.js +0 -69
- package/esm2015/lib/login/login.component.js +0 -130
- package/esm2015/lib/login/okta.authentication.js +0 -41
- package/esm2015/lib/login/okta.component.js +0 -84
- package/esm2015/lib/login/okta.interceptor.js +0 -30
- package/esm2015/lib/login/prompt/prompt.component.js +0 -194
- package/esm2015/lib/login/signin-info.service.js +0 -49
- package/esm2015/lib/views/cube/table.component.js +0 -107
- package/lib/admin/users/users.component.d.ts +0 -41
- package/lib/admin/users/users.service.d.ts +0 -30
- package/lib/login/forgot/forgot.component.d.ts +0 -20
- package/lib/login/form.authentication.d.ts +0 -29
- package/lib/login/form.interceptor.d.ts +0 -11
- package/lib/login/login.component.d.ts +0 -18
- package/lib/login/okta.authentication.d.ts +0 -13
- package/lib/login/okta.component.d.ts +0 -18
- package/lib/login/okta.interceptor.d.ts +0 -11
- package/lib/login/prompt/prompt.component.d.ts +0 -45
- package/lib/login/signin-info.service.d.ts +0 -18
- package/src/assets/.gitkeep +0 -0
- package/src/assets/animations/13194-message.json +0 -1
- package/src/assets/animations/1408-network-lost.json +0 -1
- package/src/assets/animations/19560-loading.json +0 -1
- package/src/assets/animations/21928-folder.json +0 -1
- package/src/assets/animations/21941-airplane-animation-movement.json +0 -1
- package/src/assets/animations/2252-broken-stick-error.json +0 -1
- package/src/assets/animations/24910-new-message-notification.json +0 -1
- package/src/assets/animations/25974-paper-plane.json +0 -1
- package/src/assets/animations/36395-lonely-404.json +0 -1
- package/src/assets/animations/36499-page-not-found.json +0 -1
- package/src/assets/animations/37211-google-icons-forms.json +0 -1
- package/src/assets/animations/41896-application.json +0 -1
- package/src/assets/animations/4958-404-not-found.json +0 -1
- package/src/assets/animations/51956-success-icon.json +0 -1
- package/src/assets/animations/53402-bell.json +0 -1
- package/src/assets/animations/5371-volaris-tickets.json +0 -1
- package/src/assets/animations/58266-quad-cube-shifter-1.json +0 -1
- package/src/assets/animations/58509-shifting-cubes-2.json +0 -1
- package/src/assets/animations/8318-loader.json +0 -1
- package/src/assets/animations/lf20_isphoahq.json +0 -1
- package/src/assets/animations/lf30_editor_6kz6oezn.json +0 -1
- package/src/assets/animations/lf30_editor_b6axvtp7.json +0 -1
- package/src/assets/animations/lf30_editor_cq62rpyv.json +0 -1
- package/src/assets/animations/lf30_editor_fbytfhvg.json +0 -1
- package/src/assets/animations/lf30_editor_h1xoyem7.json +0 -1
- package/src/assets/animations/lf30_editor_qr7zgmcs.json +0 -1
- package/src/assets/animations/lf30_editor_rxee1cqy.json +0 -1
- package/src/assets/animations/lf30_editor_yxy6fuei.json +0 -1
- package/src/assets/bizdoc-schema.json +0 -1238
- package/src/assets/favicon.ico +0 -0
- package/src/assets/fonts/LICENSE.txt +0 -202
- package/src/assets/fonts/MaterialIcons-Outlined.woff2 +0 -0
- package/src/assets/fonts/MaterialIcons-Regular.eot +0 -0
- package/src/assets/fonts/MaterialIcons-Regular.ijmap +0 -1
- package/src/assets/fonts/MaterialIcons-Regular.svg +0 -2373
- package/src/assets/fonts/MaterialIcons-Regular.ttf +0 -0
- package/src/assets/fonts/MaterialIcons-Regular.woff +0 -0
- package/src/assets/fonts/MaterialIcons-Regular.woff2 +0 -0
- package/src/assets/fonts/MaterialIcons.css +0 -55
- package/src/assets/fonts/README.md +0 -9
- package/src/assets/fonts/Roboto-Black.ttf +0 -0
- package/src/assets/fonts/Roboto-BlackItalic.ttf +0 -0
- package/src/assets/fonts/Roboto-Bold.ttf +0 -0
- package/src/assets/fonts/Roboto-BoldItalic.ttf +0 -0
- package/src/assets/fonts/Roboto-Italic.ttf +0 -0
- package/src/assets/fonts/Roboto-Light.ttf +0 -0
- package/src/assets/fonts/Roboto-LightItalic.ttf +0 -0
- package/src/assets/fonts/Roboto-Medium.ttf +0 -0
- package/src/assets/fonts/Roboto-MediumItalic.ttf +0 -0
- package/src/assets/fonts/Roboto-Regular.ttf +0 -0
- package/src/assets/fonts/Roboto-Thin.ttf +0 -0
- package/src/assets/fonts/Roboto-ThinItalic.ttf +0 -0
- package/src/assets/fonts/codepoints +0 -932
- package/src/assets/fonts/material-icons.css +0 -36
- package/src/assets/i18n/cldr-data/main/he/ca-buddhist.json +0 -532
- package/src/assets/i18n/cldr-data/main/he/ca-chinese.json +0 -1255
- package/src/assets/i18n/cldr-data/main/he/ca-coptic.json +0 -541
- package/src/assets/i18n/cldr-data/main/he/ca-dangi.json +0 -1255
- package/src/assets/i18n/cldr-data/main/he/ca-ethiopic-amete-alem.json +0 -538
- package/src/assets/i18n/cldr-data/main/he/ca-ethiopic.json +0 -541
- package/src/assets/i18n/cldr-data/main/he/ca-generic.json +0 -535
- package/src/assets/i18n/cldr-data/main/he/ca-gregorian.json +0 -552
- package/src/assets/i18n/cldr-data/main/he/ca-hebrew.json +0 -557
- package/src/assets/i18n/cldr-data/main/he/ca-indian.json +0 -532
- package/src/assets/i18n/cldr-data/main/he/ca-islamic-civil.json +0 -532
- package/src/assets/i18n/cldr-data/main/he/ca-islamic-rgsa.json +0 -532
- package/src/assets/i18n/cldr-data/main/he/ca-islamic-tbla.json +0 -532
- package/src/assets/i18n/cldr-data/main/he/ca-islamic-umalqura.json +0 -532
- package/src/assets/i18n/cldr-data/main/he/ca-islamic.json +0 -532
- package/src/assets/i18n/cldr-data/main/he/ca-japanese.json +0 -1240
- package/src/assets/i18n/cldr-data/main/he/ca-persian.json +0 -532
- package/src/assets/i18n/cldr-data/main/he/ca-roc.json +0 -535
- package/src/assets/i18n/cldr-data/main/he/characters.json +0 -53
- package/src/assets/i18n/cldr-data/main/he/currencies.json +0 -1982
- package/src/assets/i18n/cldr-data/main/he/dateFields.json +0 -860
- package/src/assets/i18n/cldr-data/main/he/delimiters.json +0 -19
- package/src/assets/i18n/cldr-data/main/he/languages.json +0 -555
- package/src/assets/i18n/cldr-data/main/he/layout.json +0 -19
- package/src/assets/i18n/cldr-data/main/he/listPatterns.json +0 -69
- package/src/assets/i18n/cldr-data/main/he/localeDisplayNames.json +0 -231
- package/src/assets/i18n/cldr-data/main/he/measurementSystemNames.json +0 -20
- package/src/assets/i18n/cldr-data/main/he/numbers.json +0 -233
- package/src/assets/i18n/cldr-data/main/he/posix.json +0 -19
- package/src/assets/i18n/cldr-data/main/he/scripts.json +0 -191
- package/src/assets/i18n/cldr-data/main/he/territories.json +0 -324
- package/src/assets/i18n/cldr-data/main/he/timeZoneNames.json +0 -2301
- package/src/assets/i18n/cldr-data/main/he/units.json +0 -3408
- package/src/assets/i18n/cldr-data/main/he/variants.json +0 -119
- package/src/assets/i18n/cldr-data/supplemental/aliases.json +0 -4391
- package/src/assets/i18n/cldr-data/supplemental/calendarData.json +0 -865
- package/src/assets/i18n/cldr-data/supplemental/calendarPreferenceData.json +0 -50
- package/src/assets/i18n/cldr-data/supplemental/characterFallbacks.json +0 -888
- package/src/assets/i18n/cldr-data/supplemental/codeMappings.json +0 -1932
- package/src/assets/i18n/cldr-data/supplemental/currencyData.json +0 -3589
- package/src/assets/i18n/cldr-data/supplemental/dayPeriods.json +0 -2008
- package/src/assets/i18n/cldr-data/supplemental/gender.json +0 -67
- package/src/assets/i18n/cldr-data/supplemental/languageData.json +0 -6450
- package/src/assets/i18n/cldr-data/supplemental/languageGroups.json +0 -115
- package/src/assets/i18n/cldr-data/supplemental/languageMatching.json +0 -1864
- package/src/assets/i18n/cldr-data/supplemental/likelySubtags.json +0 -1844
- package/src/assets/i18n/cldr-data/supplemental/measurementData.json +0 -44
- package/src/assets/i18n/cldr-data/supplemental/metaZones.json +0 -7049
- package/src/assets/i18n/cldr-data/supplemental/numberingSystems.json +0 -343
- package/src/assets/i18n/cldr-data/supplemental/ordinals.json +0 -371
- package/src/assets/i18n/cldr-data/supplemental/parentLocales.json +0 -180
- package/src/assets/i18n/cldr-data/supplemental/plurals.json +0 -884
- package/src/assets/i18n/cldr-data/supplemental/primaryZones.json +0 -22
- package/src/assets/i18n/cldr-data/supplemental/references.json +0 -1181
- package/src/assets/i18n/cldr-data/supplemental/territoryContainment.json +0 -753
- package/src/assets/i18n/cldr-data/supplemental/territoryInfo.json +0 -6604
- package/src/assets/i18n/cldr-data/supplemental/timeData.json +0 -1031
- package/src/assets/i18n/cldr-data/supplemental/unitPreferenceData.json +0 -290
- package/src/assets/i18n/cldr-data/supplemental/weekData.json +0 -316
- package/src/assets/i18n/cldr-data/supplemental/windowsZones.json +0 -3520
- package/src/assets/icons/icon-128x128.png +0 -0
- package/src/assets/icons/icon-144x144.png +0 -0
- package/src/assets/icons/icon-152x152.png +0 -0
- package/src/assets/icons/icon-192x192.png +0 -0
- package/src/assets/icons/icon-256x256.png +0 -0
- package/src/assets/icons/icon-32x32.png +0 -0
- package/src/assets/icons/icon-512x512.png +0 -0
- package/src/assets/js/app-sw.js +0 -16
- package/src/assets/js/firebase-messaging-sw.js +0 -1
- package/src/assets/js/logo.js +0 -31
- package/src/assets/logo.json +0 -1
- package/src/assets/logo.svg +0 -38
- package/src/assets/manifest.json +0 -43
- package/src/assets/sounds/alert_error-03.ogg +0 -0
- package/src/assets/sounds/navigation_hover-tap.ogg +0 -0
- package/src/assets/sounds/notification_simple-01.ogg +0 -0
- package/src/assets/themes/brown.min.css +0 -81
- package/src/assets/themes/dark.min.css +0 -76
- package/src/assets/themes/default.min.css +0 -88
- package/src/assets/themes/green.min.css +0 -81
- package/src/assets/themes/indigo.min.css +0 -81
- package/src/assets/themes/okta-sign-in.min.css +0 -17
@@ -0,0 +1,317 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { Component, Inject, HostBinding } from '@angular/core';
|
3
|
+
import { forkJoin } from 'rxjs';
|
4
|
+
import { tap, map } from 'rxjs/operators';
|
5
|
+
import { BIZDOC_CONFIG } from '../../core/configuration';
|
6
|
+
import { BizDoc } from '../../core/decorators';
|
7
|
+
import { DayMarkersService, Gantt, SelectionService } from '@syncfusion/ej2-angular-gantt';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
import * as i1 from "../../core/prompt.service";
|
10
|
+
import * as i2 from "../document-view-ref";
|
11
|
+
import * as i3 from "../../core/account.service";
|
12
|
+
import * as i4 from "../../core/session.service";
|
13
|
+
import * as i5 from "../../core/translate.service";
|
14
|
+
import * as i6 from "../../core/router";
|
15
|
+
const moment = require('moment');
|
16
|
+
let TimelineViewComponent = class TimelineViewComponent {
|
17
|
+
/** timeline-view ctor */
|
18
|
+
constructor(_ps, viewRef, config, _users, _session, _translate, _router, _element) {
|
19
|
+
this._ps = _ps;
|
20
|
+
this._users = _users;
|
21
|
+
this._session = _session;
|
22
|
+
this._translate = _translate;
|
23
|
+
this._router = _router;
|
24
|
+
this._element = _element;
|
25
|
+
this.dir = this._session.direction;
|
26
|
+
this.locale = this._session.language;
|
27
|
+
this.selectionSettings = {};
|
28
|
+
this.taskFields = {
|
29
|
+
id: 'id',
|
30
|
+
name: 'title',
|
31
|
+
startDate: 'time',
|
32
|
+
endDate: 'ending',
|
33
|
+
duration: 'duration',
|
34
|
+
dependency: 'dependencies',
|
35
|
+
child: 'subtasks'
|
36
|
+
};
|
37
|
+
this.tooltipSettings = { showTooltip: false };
|
38
|
+
this.timelineSettings = {
|
39
|
+
timelineUnitSize: 60,
|
40
|
+
topTier: {
|
41
|
+
format: 'MMM dd, yyyy',
|
42
|
+
unit: 'Day',
|
43
|
+
},
|
44
|
+
bottomTier: {
|
45
|
+
unit: 'Hour',
|
46
|
+
format: 'h.mm a'
|
47
|
+
}
|
48
|
+
};
|
49
|
+
this.eventMarkers = [];
|
50
|
+
this.labelSettings = {
|
51
|
+
rightLabel: 'name', leftLabel: 'title'
|
52
|
+
};
|
53
|
+
this.splitterSettings = {
|
54
|
+
columnIndex: 3,
|
55
|
+
view: 'Chart',
|
56
|
+
separatorSize: 0
|
57
|
+
};
|
58
|
+
this.dayWorkingTime = [{ from: 0, to: 24 }];
|
59
|
+
this.columns = [
|
60
|
+
{ field: 'title', headerText: _translate.get('Task') },
|
61
|
+
{ field: 'name', headerText: _translate.get('Who') },
|
62
|
+
{ field: 'time', headerText: _translate.get('When') }
|
63
|
+
];
|
64
|
+
this.dateFormat = config && config.formats && config.formats.dateTime || 'MMMM d, yyyy hh:mm';
|
65
|
+
this.holidays = _session.profile.holidays &&
|
66
|
+
_session.profile.holidays.map(h => ({ from: h.startDate, to: h.fromDate, label: h.title }));
|
67
|
+
viewRef.resize.subscribe(d => {
|
68
|
+
this.width = d.width;
|
69
|
+
if (this.gantt) {
|
70
|
+
this.gantt.width = d.width;
|
71
|
+
this.gantt.windowResize();
|
72
|
+
}
|
73
|
+
});
|
74
|
+
}
|
75
|
+
onBind(model) {
|
76
|
+
this.item = model;
|
77
|
+
this._prepare(model).subscribe(tasks => {
|
78
|
+
this._draw(tasks);
|
79
|
+
//this.gantt.scrollToDate(new Date().toString());
|
80
|
+
});
|
81
|
+
}
|
82
|
+
_draw(tasks) {
|
83
|
+
this.gantt && this.gantt.destroy();
|
84
|
+
this.gantt = new Gantt({
|
85
|
+
dataSource: tasks,
|
86
|
+
taskFields: this.taskFields,
|
87
|
+
columns: this.columns,
|
88
|
+
// timelineSettings: this.timelineSettings,
|
89
|
+
labelSettings: this.labelSettings,
|
90
|
+
eventMarkers: this.eventMarkers,
|
91
|
+
readOnly: true,
|
92
|
+
selectionSettings: this.selectionSettings,
|
93
|
+
allowSelection: true,
|
94
|
+
dateFormat: this.dateFormat,
|
95
|
+
tooltipSettings: this.tooltipSettings,
|
96
|
+
rowSelecting: this.rowSelecting.bind(this),
|
97
|
+
holidays: this.holidays,
|
98
|
+
// includeWeekend: true,
|
99
|
+
splitterSettings: this.splitterSettings,
|
100
|
+
// durationUnit: 'Hour',
|
101
|
+
taskbarHeight: 30,
|
102
|
+
rowHeight: 40,
|
103
|
+
width: this.width
|
104
|
+
// dayWorkingTime: this.dayWorkingTime
|
105
|
+
}, this._element.nativeElement);
|
106
|
+
this.columns.forEach(c => this.gantt.hideColumn(c.field));
|
107
|
+
}
|
108
|
+
_prepare(model) {
|
109
|
+
const promisses = [];
|
110
|
+
let i = 0;
|
111
|
+
const tasks = [];
|
112
|
+
const chain = (c) => {
|
113
|
+
c.parent && chain(c.parent);
|
114
|
+
};
|
115
|
+
model.parent && chain(model.parent);
|
116
|
+
model.children.forEach(c => {
|
117
|
+
});
|
118
|
+
model.log.forEach(l => {
|
119
|
+
let task;
|
120
|
+
switch (l.type) {
|
121
|
+
case 'Submit':
|
122
|
+
this.eventMarkers.push({
|
123
|
+
day: moment(l.time),
|
124
|
+
label: this._translate.get('Submition')
|
125
|
+
});
|
126
|
+
return;
|
127
|
+
case 'StateChange':
|
128
|
+
{
|
129
|
+
const state = this._session.profile.states.find(s => s.name === l.state);
|
130
|
+
task = {
|
131
|
+
id: i++,
|
132
|
+
type: l.type,
|
133
|
+
nodeId: l.nodeId,
|
134
|
+
time: moment(l.time).toDate(),
|
135
|
+
title: state ? state.past || state.title : l.state
|
136
|
+
};
|
137
|
+
if (l.duration) {
|
138
|
+
task.ending = new Date(task.time.valueOf() + l.duration * 1000);
|
139
|
+
task.duration = l.duration * 1000;
|
140
|
+
}
|
141
|
+
else
|
142
|
+
task.ending = model.completed ? moment(l.time).toDate() : new Date();
|
143
|
+
tasks.push(task);
|
144
|
+
break;
|
145
|
+
}
|
146
|
+
case 'ModelChange':
|
147
|
+
{
|
148
|
+
task = {
|
149
|
+
id: i++,
|
150
|
+
type: l.type,
|
151
|
+
nodeId: l.nodeId,
|
152
|
+
time: moment(l.time).toDate(),
|
153
|
+
title: this._translate.get('Edited')
|
154
|
+
};
|
155
|
+
if (l.duration) {
|
156
|
+
task.ending = new Date(task.time.valueOf() + l.duration * 1000);
|
157
|
+
task.duration = l.duration * 1000;
|
158
|
+
}
|
159
|
+
else
|
160
|
+
task.ending = moment().toDate();
|
161
|
+
const state = tasks.find(t => t.type === 'StateChange' && t.time <= task.time && (!t.ending || t.ending >= task.ending));
|
162
|
+
if (state) {
|
163
|
+
if (!state.subtasks)
|
164
|
+
state.subtasks = [];
|
165
|
+
state.subtasks.push(task);
|
166
|
+
}
|
167
|
+
else
|
168
|
+
tasks.push(task);
|
169
|
+
break;
|
170
|
+
}
|
171
|
+
case 'ActionTaken':
|
172
|
+
{
|
173
|
+
const action = this._session.profile.actions.find(a => a.name === l.action);
|
174
|
+
if (l.action === 'delete')
|
175
|
+
return;
|
176
|
+
const time = moment(l.time);
|
177
|
+
task = {
|
178
|
+
id: i++,
|
179
|
+
type: l.type,
|
180
|
+
nodeId: l.nodeId,
|
181
|
+
ending: time.toDate(),
|
182
|
+
time: time.add(-l.duration, 's').toDate(),
|
183
|
+
duration: l.duration * 1000,
|
184
|
+
title: action ? action.past || action.title : l.action
|
185
|
+
};
|
186
|
+
if (l.nodeId) {
|
187
|
+
model.workflow.connectors.filter(c => c.targetId === l.nodeId).forEach(c => {
|
188
|
+
const dependencies = tasks.filter(l => l.nodeId === c.sourceId).map(l => `FS${l.id}`);
|
189
|
+
if (dependencies.length)
|
190
|
+
task.dependencies = dependencies.join(',');
|
191
|
+
});
|
192
|
+
}
|
193
|
+
const state = tasks.find(t => t.type === 'StateChange' && t.time <= task.time && (!t.ending || t.ending >= task.ending));
|
194
|
+
if (state) {
|
195
|
+
if (!state.subtasks)
|
196
|
+
state.subtasks = [];
|
197
|
+
state.subtasks.push(task);
|
198
|
+
}
|
199
|
+
else
|
200
|
+
tasks.push(task);
|
201
|
+
break;
|
202
|
+
}
|
203
|
+
default:
|
204
|
+
return;
|
205
|
+
}
|
206
|
+
if (l.byId) {
|
207
|
+
const who = this._users.get(l.userId), by = this._users.get(l.byId);
|
208
|
+
const promise = forkJoin(who, by).pipe(tap(ns => {
|
209
|
+
const [who, by] = ns;
|
210
|
+
task.name = this._translate.get('By', who.name, by.name);
|
211
|
+
// if (l.role) {
|
212
|
+
// const role = this.session.profile.roles.find(o => o.name === l.role);
|
213
|
+
// if (role) task.name += `, ${role.name}`;
|
214
|
+
// }
|
215
|
+
}, () => this._ps.error()));
|
216
|
+
promisses.push(promise);
|
217
|
+
}
|
218
|
+
else if (l.userId) {
|
219
|
+
const promise = this._users.get(l.userId).pipe(tap(u => {
|
220
|
+
task.name = u.name;
|
221
|
+
// if (l.role) {
|
222
|
+
// const role = this.session.profile.roles.find(o => o.name === l.role);
|
223
|
+
// if (role) task.name += `, ${role.name}`;
|
224
|
+
// }
|
225
|
+
}, () => this._ps.error()));
|
226
|
+
promisses.push(promise);
|
227
|
+
}
|
228
|
+
});
|
229
|
+
model.events.forEach(e => {
|
230
|
+
this.eventMarkers.push({
|
231
|
+
day: moment(e.starting),
|
232
|
+
label: e.title
|
233
|
+
});
|
234
|
+
});
|
235
|
+
model.recipients.forEach(r => {
|
236
|
+
if (!r.pending)
|
237
|
+
return;
|
238
|
+
const task = {
|
239
|
+
id: i++,
|
240
|
+
type: 'pending',
|
241
|
+
time: moment(r.received).toDate(),
|
242
|
+
title: this._translate.get('IsPending')
|
243
|
+
};
|
244
|
+
if (r.substitutingId) {
|
245
|
+
const byPromise = this._users.get(r.substitutingId);
|
246
|
+
const whoPromise = this._users.get(r.userId);
|
247
|
+
const promise = forkJoin(whoPromise, byPromise).pipe(tap(n => {
|
248
|
+
task.name = this._translate.get('WhoSubstituting', n[0].name, n[1].name);
|
249
|
+
if (r.role) {
|
250
|
+
const role = this._session.profile.roles.find(o => o.name === r.role);
|
251
|
+
if (role)
|
252
|
+
task.name += `, ${role.name}`;
|
253
|
+
}
|
254
|
+
}, () => this._ps.error()));
|
255
|
+
promisses.push(promise);
|
256
|
+
}
|
257
|
+
else {
|
258
|
+
const promise = this._users.get(r.userId).pipe(tap(u => {
|
259
|
+
task.name = u.name;
|
260
|
+
if (r.role) {
|
261
|
+
const role = this._session.profile.roles.find(o => o.name === r.role);
|
262
|
+
if (role)
|
263
|
+
task.name += `, ${role.name}`;
|
264
|
+
}
|
265
|
+
}, () => this._ps.error()));
|
266
|
+
promisses.push(promise);
|
267
|
+
}
|
268
|
+
if (r.nodeId) {
|
269
|
+
model.workflow.connectors.filter(c => c.targetId === r.nodeId).forEach(c => {
|
270
|
+
const predecessors = tasks.filter(l => l.nodeId === c.sourceId).map(l => l.id);
|
271
|
+
if (predecessors.length)
|
272
|
+
task.dependencies = predecessors.join(',');
|
273
|
+
});
|
274
|
+
}
|
275
|
+
const state = tasks.find(t => t.type === 'StateChange' && t.time <= task.time && (!t.ending || t.ending >= task.time));
|
276
|
+
if (state) {
|
277
|
+
if (!state.subtasks)
|
278
|
+
state.subtasks = [];
|
279
|
+
state.subtasks.push(task);
|
280
|
+
}
|
281
|
+
else
|
282
|
+
tasks.push(task);
|
283
|
+
});
|
284
|
+
return forkJoin(promisses).
|
285
|
+
pipe(map(() => tasks.sort((t0, t1) => t0.time > t1.time ? 1 : -1)));
|
286
|
+
}
|
287
|
+
rowSelecting(r) {
|
288
|
+
if (r.data.taskData.type === 'ModelChange')
|
289
|
+
this._compare(r.data);
|
290
|
+
}
|
291
|
+
_compare(task) {
|
292
|
+
this._router.navigate(['mailbox/d', this.item.documentId.encodeId(), 'version', task.time.valueOf().encodeId()], { state: { item: this.item } });
|
293
|
+
}
|
294
|
+
};
|
295
|
+
TimelineViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TimelineViewComponent, deps: [{ token: i1.PromptService }, { token: i2.DocumentViewRef }, { token: BIZDOC_CONFIG }, { token: i3.AccountService }, { token: i4.SessionService }, { token: i5.TranslateService }, { token: i6.RouterImpl }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
296
|
+
TimelineViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TimelineViewComponent, selector: "bizdoc-timeline", host: { properties: { "dir": "this.dir" }, classAttribute: "view" }, providers: [SelectionService, DayMarkersService], ngImport: i0, template: '', isInline: true, styles: [":host{padding:8px}:host ::ng-deep .e-split-bar{display:none!important}\n"] });
|
297
|
+
TimelineViewComponent = __decorate([
|
298
|
+
BizDoc({ selector: 'bizdoc-timeline' })
|
299
|
+
/** timeline-view component*/
|
300
|
+
], TimelineViewComponent);
|
301
|
+
export { TimelineViewComponent };
|
302
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TimelineViewComponent, decorators: [{
|
303
|
+
type: Component,
|
304
|
+
args: [{
|
305
|
+
selector: 'bizdoc-timeline',
|
306
|
+
template: '',
|
307
|
+
styleUrls: ['timeline.component.scss'],
|
308
|
+
host: { class: 'view' },
|
309
|
+
providers: [SelectionService, DayMarkersService]
|
310
|
+
}]
|
311
|
+
}], ctorParameters: function () { return [{ type: i1.PromptService }, { type: i2.DocumentViewRef }, { type: undefined, decorators: [{
|
312
|
+
type: Inject,
|
313
|
+
args: [BIZDOC_CONFIG]
|
314
|
+
}] }, { type: i3.AccountService }, { type: i4.SessionService }, { type: i5.TranslateService }, { type: i6.RouterImpl }, { type: i0.ElementRef }]; }, propDecorators: { dir: [{
|
315
|
+
type: HostBinding
|
316
|
+
}] } });
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmV4cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3MvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50LmV4cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSy9ELE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcxQyxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQWUsaUJBQWlCLEVBQXlDLEtBQUssRUFBb0MsZ0JBQWdCLEVBQXlGLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7O0FBSXhRLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQVdwQixxQkFBcUIsU0FBckIscUJBQXFCO0lBV2hDLHlCQUF5QjtJQUN6QixZQUNVLEdBQWtCLEVBQzFCLE9BQWlDLEVBQ1YsTUFBb0IsRUFDbkMsTUFBc0IsRUFDdEIsUUFBd0IsRUFDeEIsVUFBNEIsRUFDNUIsT0FBbUIsRUFDbkIsUUFBb0I7UUFQcEIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUdsQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVk7UUFqQnJCLFFBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUM5QixX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LENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ2xKLENBQUM7Q0FrQ0YsQ0FBQTtrSEFoU1kscUJBQXFCLDhFQWV0QixhQUFhO3NHQWZaLHFCQUFxQiwrR0FKckIsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQywwQkFIdEMsRUFBRTtBQU9ELHFCQUFxQjtJQUZqQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztJQUN4Qyw2QkFBNkI7R0FDaEIscUJBQXFCLENBZ1NqQztTQWhTWSxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFUakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsRUFBRTtvQkFDWixTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDdEMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtvQkFDdkIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUM7aUJBQ2pEOzswQkFrQkksTUFBTTsyQkFBQyxhQUFhO3VMQVpkLEdBQUc7c0JBRFgsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRG9jdW1lbnRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgQ2hhaW4sIERvY3VtZW50TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IENvbHVtbk1vZGVsLCBEYXlNYXJrZXJzU2VydmljZSwgRGF5V29ya2luZ1RpbWVNb2RlbCwgRXZlbnRNYXJrZXJNb2RlbCwgR2FudHQsIEhvbGlkYXlNb2RlbCwgTGFiZWxTZXR0aW5nc01vZGVsLCBTZWxlY3Rpb25TZXJ2aWNlLCBTZWxlY3Rpb25TZXR0aW5nc01vZGVsLCBTcGxpdHRlclNldHRpbmdzTW9kZWwsIFRhc2tGaWVsZHNNb2RlbCwgVGltZWxpbmVTZXR0aW5nc01vZGVsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZ2FudHQnO1xyXG5pbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tICcuLi8uLi9jb3JlL3JvdXRlcic7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld1JlZiB9IGZyb20gJy4uL2RvY3VtZW50LXZpZXctcmVmJztcclxuY29uc3QgbW9tZW50ID0gcmVxdWlyZSgnbW9tZW50Jyk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy10aW1lbGluZScsXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIHN0eWxlVXJsczogWyd0aW1lbGluZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICd2aWV3JyB9LFxyXG4gIHByb3ZpZGVyczogW1NlbGVjdGlvblNlcnZpY2UsIERheU1hcmtlcnNTZXJ2aWNlXVxyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdiaXpkb2MtdGltZWxpbmUnIH0pXHJcbi8qKiB0aW1lbGluZS12aWV3IGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBEb2N1bWVudFZpZXdDb21wb25lbnQge1xyXG4gIGRhdGE6IFRhc2tbXTtcclxuICBASG9zdEJpbmRpbmcoKVxyXG4gIHJlYWRvbmx5IGRpciA9IHRoaXMuX3Nlc3Npb24uZGlyZWN0aW9uO1xyXG4gIHJlYWRvbmx5IGxvY2FsZSA9IHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2U7XHJcbiAgaXRlbTogRG9jdW1lbnRNb2RlbDxhbnk+O1xyXG4gIGdhbnR0OiBHYW50dDtcclxuICBkYXRlRm9ybWF0OiBzdHJpbmc7XHJcbiAgaG9saWRheXM6IEhvbGlkYXlNb2RlbFtdO1xyXG4gIHdpZHRoOiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgc2VsZWN0aW9uU2V0dGluZ3MgPSB7fSBhcyBTZWxlY3Rpb25TZXR0aW5nc01vZGVsO1xyXG4gIC8qKiB0aW1lbGluZS12aWV3IGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BzOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgdmlld1JlZjogRG9jdW1lbnRWaWV3UmVmPE9wdGlvbnM+LFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBjb25maWc6IEJpekRvY0NvbmZpZyxcclxuICAgIHByaXZhdGUgX3VzZXJzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5jb2x1bW5zID0gW1xyXG4gICAgICB7IGZpZWxkOiAndGl0bGUnLCBoZWFkZXJUZXh0OiBfdHJhbnNsYXRlLmdldCgnVGFzaycpIH0sXHJcbiAgICAgIHsgZmllbGQ6ICduYW1lJywgaGVhZGVyVGV4dDogX3RyYW5zbGF0ZS5nZXQoJ1dobycpIH0sXHJcbiAgICAgIHsgZmllbGQ6ICd0aW1lJywgaGVhZGVyVGV4dDogX3RyYW5zbGF0ZS5nZXQoJ1doZW4nKSB9XHJcbiAgICBdO1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0ID0gY29uZmlnICYmIGNvbmZpZy5mb3JtYXRzICYmIGNvbmZpZy5mb3JtYXRzLmRhdGVUaW1lIHx8ICdNTU1NIGQsIHl5eXkgaGg6bW0nO1xyXG4gICAgdGhpcy5ob2xpZGF5cyA9IF9zZXNzaW9uLnByb2ZpbGUuaG9saWRheXMgJiZcclxuICAgICAgX3Nlc3Npb24ucHJvZmlsZS5ob2xpZGF5cy5tYXAoaCA9PiAoeyBmcm9tOiBoLnN0YXJ0RGF0ZSwgdG86IGguZnJvbURhdGUsIGxhYmVsOiBoLnRpdGxlIH0pKVxyXG4gICAgdmlld1JlZi5yZXNpemUuc3Vic2NyaWJlKGQgPT4ge1xyXG4gICAgICB0aGlzLndpZHRoID0gZC53aWR0aDtcclxuICAgICAgaWYgKHRoaXMuZ2FudHQpIHtcclxuICAgICAgICB0aGlzLmdhbnR0LndpZHRoID0gZC53aWR0aDtcclxuICAgICAgICB0aGlzLmdhbnR0LndpbmRvd1Jlc2l6ZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb25CaW5kKG1vZGVsOiBEb2N1bWVudE1vZGVsPGFueT4pIHtcclxuICAgIHRoaXMuaXRlbSA9IG1vZGVsO1xyXG4gICAgdGhpcy5fcHJlcGFyZShtb2RlbCkuc3Vic2NyaWJlKHRhc2tzID0+IHtcclxuICAgICAgdGhpcy5fZHJhdyh0YXNrcyk7XHJcbiAgICAgIC8vdGhpcy5nYW50dC5zY3JvbGxUb0RhdGUobmV3IERhdGUoKS50b1N0cmluZygpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kcmF3KHRhc2tzOiBUYXNrW10pIHtcclxuICAgIHRoaXMuZ2FudHQgJiYgdGhpcy5nYW50dC5kZXN0cm95KCk7XHJcbiAgICB0aGlzLmdhbnR0ID0gbmV3IEdhbnR0KHtcclxuICAgICAgZGF0YVNvdXJjZTogdGFza3MsXHJcbiAgICAgIHRhc2tGaWVsZHM6IHRoaXMudGFza0ZpZWxkcyxcclxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICAvLyAgdGltZWxpbmVTZXR0aW5nczogdGhpcy50aW1lbGluZVNldHRpbmdzLFxyXG4gICAgICBsYWJlbFNldHRpbmdzOiB0aGlzLmxhYmVsU2V0dGluZ3MsXHJcbiAgICAgIGV2ZW50TWFya2VyczogdGhpcy5ldmVudE1hcmtlcnMsXHJcbiAgICAgIHJlYWRPbmx5OiB0cnVlLFxyXG4gICAgICBzZWxlY3Rpb25TZXR0aW5nczogdGhpcy5zZWxlY3Rpb25TZXR0aW5ncyxcclxuICAgICAgYWxsb3dTZWxlY3Rpb246IHRydWUsXHJcbiAgICAgIGRhdGVGb3JtYXQ6IHRoaXMuZGF0ZUZvcm1hdCxcclxuICAgICAgdG9vbHRpcFNldHRpbmdzOiB0aGlzLnRvb2x0aXBTZXR0aW5ncyxcclxuICAgICAgcm93U2VsZWN0aW5nOiB0aGlzLnJvd1NlbGVjdGluZy5iaW5kKHRoaXMpLFxyXG4gICAgICBob2xpZGF5czogdGhpcy5ob2xpZGF5cyxcclxuICAgICAgLy8gIGluY2x1ZGVXZWVrZW5kOiB0cnVlLFxyXG4gICAgICBzcGxpdHRlclNldHRpbmdzOiB0aGlzLnNwbGl0dGVyU2V0dGluZ3MsXHJcbiAgICAgIC8vICBkdXJhdGlvblVuaXQ6ICdIb3VyJyxcclxuICAgICAgdGFza2JhckhlaWdodDogMzAsXHJcbiAgICAgIHJvd0hlaWdodDogNDAsXHJcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoXHJcbiAgICAgIC8vICBkYXlXb3JraW5nVGltZTogdGhpcy5kYXlXb3JraW5nVGltZVxyXG4gICAgfSwgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50KVxyXG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goYyA9PlxyXG4gICAgICB0aGlzLmdhbnR0LmhpZGVDb2x1bW4oYy5maWVsZClcclxuICAgIClcclxuICB9XHJcbiAgcHJpdmF0ZSBfcHJlcGFyZShtb2RlbDogRG9jdW1lbnRNb2RlbDxhbnk+KTogT2JzZXJ2YWJsZTxUYXNrW10+IHtcclxuICAgIGNvbnN0IHByb21pc3NlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgIGxldCBpID0gMDtcclxuICAgIGNvbnN0IHRhc2tzOiBUYXNrW10gPSBbXTtcclxuXHJcbiAgICBjb25zdCBjaGFpbiA9IChjOiBDaGFpbikgPT4ge1xyXG5cclxuICAgICAgYy5wYXJlbnQgJiYgY2hhaW4oYy5wYXJlbnQpO1xyXG4gICAgfTtcclxuICAgIG1vZGVsLnBhcmVudCAmJiBjaGFpbihtb2RlbC5wYXJlbnQpO1xyXG4gICAgbW9kZWwuY2hpbGRyZW4uZm9yRWFjaChjID0+IHtcclxuICAgIH0pO1xyXG4gICAgbW9kZWwubG9nLmZvckVhY2gobCA9PiB7XHJcbiAgICAgIGxldCB0YXNrOiBUYXNrO1xyXG4gICAgICBzd2l0Y2ggKGwudHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ1N1Ym1pdCc6XHJcbiAgICAgICAgICB0aGlzLmV2ZW50TWFya2Vycy5wdXNoKHtcclxuICAgICAgICAgICAgZGF5OiBtb21lbnQobC50aW1lKSxcclxuICAgICAgICAgICAgbGFiZWw6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N1Ym1pdGlvbicpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBjYXNlICdTdGF0ZUNoYW5nZSc6XHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnN0YXRlcy5maW5kKHMgPT4gcy5uYW1lID09PSBsLnN0YXRlKTtcclxuICAgICAgICAgICAgdGFzayA9IHtcclxuICAgICAgICAgICAgICBpZDogaSsrLFxyXG4gICAgICAgICAgICAgIHR5cGU6IGwudHlwZSxcclxuICAgICAgICAgICAgICBub2RlSWQ6IGwubm9kZUlkLFxyXG4gICAgICAgICAgICAgIHRpbWU6IG1vbWVudChsLnRpbWUpLnRvRGF0ZSgpLFxyXG4gICAgICAgICAgICAgIHRpdGxlOiBzdGF0ZSA/IHN0YXRlLnBhc3QgfHwgc3RhdGUudGl0bGUgOiBsLnN0YXRlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGlmIChsLmR1cmF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgdGFzay5lbmRpbmcgPSBuZXcgRGF0ZSh0YXNrLnRpbWUudmFsdWVPZigpICsgbC5kdXJhdGlvbiAqIDEwMDApO1xyXG4gICAgICAgICAgICAgIHRhc2suZHVyYXRpb24gPSBsLmR1cmF0aW9uICogMTAwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgdGFzay5lbmRpbmcgPSBtb2RlbC5jb21wbGV0ZWQgPyBtb21lbnQobC50aW1lKS50b0RhdGUoKSA6IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgICAgIHRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgJ01vZGVsQ2hhbmdlJzpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGFzayA9IHtcclxuICAgICAgICAgICAgICBpZDogaSsrLFxyXG4gICAgICAgICAgICAgIHR5cGU6IGwudHlwZSxcclxuICAgICAgICAgICAgICBub2RlSWQ6IGwubm9kZUlkLFxyXG4gICAgICAgICAgICAgIHRpbWU6IG1vbWVudChsLnRpbWUpLnRvRGF0ZSgpLFxyXG4gICAgICAgICAgICAgIHRpdGxlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdFZGl0ZWQnKVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBpZiAobC5kdXJhdGlvbikge1xyXG4gICAgICAgICAgICAgIHRhc2suZW5kaW5nID0gbmV3IERhdGUodGFzay50aW1lLnZhbHVlT2YoKSArIGwuZHVyYXRpb24gKiAxMDAwKTtcclxuICAgICAgICAgICAgICB0YXNrLmR1cmF0aW9uID0gbC5kdXJhdGlvbiAqIDEwMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB0YXNrLmVuZGluZyA9IG1vbWVudCgpLnRvRGF0ZSgpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSB0YXNrcy5maW5kKHQgPT4gdC50eXBlID09PSAnU3RhdGVDaGFuZ2UnICYmIHQudGltZSA8PSB0YXNrLnRpbWUgJiYgKCF0LmVuZGluZyB8fCB0LmVuZGluZyA+PSB0YXNrLmVuZGluZykpO1xyXG4gICAgICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICBpZiAoIXN0YXRlLnN1YnRhc2tzKSBzdGF0ZS5zdWJ0YXNrcyA9IFtdO1xyXG4gICAgICAgICAgICAgIHN0YXRlLnN1YnRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIHRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgJ0FjdGlvblRha2VuJzpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gbC5hY3Rpb24pO1xyXG4gICAgICAgICAgICBpZiAobC5hY3Rpb24gPT09ICdkZWxldGUnKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnN0IHRpbWUgPSBtb21lbnQobC50aW1lKTtcclxuICAgICAgICAgICAgdGFzayA9IHtcclxuICAgICAgICAgICAgICBpZDogaSsrLFxyXG4gICAgICAgICAgICAgIHR5cGU6IGwudHlwZSxcclxuICAgICAgICAgICAgICBub2RlSWQ6IGwubm9kZUlkLFxyXG4gICAgICAgICAgICAgIGVuZGluZzogdGltZS50b0RhdGUoKSxcclxuICAgICAgICAgICAgICB0aW1lOiB0aW1lLmFkZCgtIGwuZHVyYXRpb24sICdzJykudG9EYXRlKCksXHJcbiAgICAgICAgICAgICAgZHVyYXRpb246IGwuZHVyYXRpb24gKiAxMDAwLFxyXG4gICAgICAgICAgICAgIHRpdGxlOiBhY3Rpb24gPyBhY3Rpb24ucGFzdCB8fCBhY3Rpb24udGl0bGUgOiBsLmFjdGlvblxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBpZiAobC5ub2RlSWQpIHtcclxuICAgICAgICAgICAgICBtb2RlbC53b3JrZmxvdy5jb25uZWN0b3JzLmZpbHRlcihjID0+IGMudGFyZ2V0SWQgPT09IGwubm9kZUlkKS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGVwZW5kZW5jaWVzID0gdGFza3MuZmlsdGVyKGwgPT4gbC5ub2RlSWQgPT09IGMuc291cmNlSWQpLm1hcChsID0+IGBGUyR7bC5pZH1gKTtcclxuICAgICAgICAgICAgICAgIGlmIChkZXBlbmRlbmNpZXMubGVuZ3RoKSB0YXNrLmRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llcy5qb2luKCcsJyk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSB0YXNrcy5maW5kKHQgPT4gdC50eXBlID09PSAnU3RhdGVDaGFuZ2UnICYmIHQudGltZSA8PSB0YXNrLnRpbWUgJiYgKCF0LmVuZGluZyB8fCB0LmVuZGluZyA+PSB0YXNrLmVuZGluZykpO1xyXG4gICAgICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICBpZiAoIXN0YXRlLnN1YnRhc2tzKSBzdGF0ZS5zdWJ0YXNrcyA9IFtdO1xyXG4gICAgICAgICAgICAgIHN0YXRlLnN1YnRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIHRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGwuYnlJZCkge1xyXG4gICAgICAgIGNvbnN0IHdobyA9IHRoaXMuX3VzZXJzLmdldChsLnVzZXJJZCksXHJcbiAgICAgICAgICBieSA9IHRoaXMuX3VzZXJzLmdldChsLmJ5SWQpO1xyXG4gICAgICAgIGNvbnN0IHByb21pc2UgPSBmb3JrSm9pbih3aG8sIGJ5KS5waXBlKHRhcChucyA9PiB7XHJcbiAgICAgICAgICBjb25zdCBbd2hvLCBieV0gPSBucztcclxuICAgICAgICAgIHRhc2submFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5Jywgd2hvLm5hbWUsIGJ5Lm5hbWUpO1xyXG4gICAgICAgICAgLy8gICAgaWYgKGwucm9sZSkge1xyXG4gICAgICAgICAgLy8gICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLnNlc3Npb24ucHJvZmlsZS5yb2xlcy5maW5kKG8gPT4gby5uYW1lID09PSBsLnJvbGUpO1xyXG4gICAgICAgICAgLy8gICAgICAgIGlmIChyb2xlKSB0YXNrLm5hbWUgKz0gYCwgJHtyb2xlLm5hbWV9YDtcclxuICAgICAgICAgIC8vICAgIH1cclxuICAgICAgICB9LCAoKSA9PiB0aGlzLl9wcy5lcnJvcigpKSk7XHJcblxyXG4gICAgICAgIHByb21pc3Nlcy5wdXNoKHByb21pc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGwudXNlcklkKSB7XHJcbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX3VzZXJzLmdldChsLnVzZXJJZCkucGlwZSh0YXAodSA9PiB7XHJcbiAgICAgICAgICB0YXNrLm5hbWUgPSB1Lm5hbWU7XHJcbiAgICAgICAgICAvLyAgICBpZiAobC5yb2xlKSB7XHJcbiAgICAgICAgICAvLyAgICAgICAgY29uc3Qgcm9sZSA9IHRoaXMuc2Vzc2lvbi5wcm9maWxlLnJvbGVzLmZpbmQobyA9PiBvLm5hbWUgPT09IGwucm9sZSk7XHJcbiAgICAgICAgICAvLyAgICAgICAgaWYgKHJvbGUpIHRhc2submFtZSArPSBgLCAke3JvbGUubmFtZX1gO1xyXG4gICAgICAgICAgLy8gICAgfVxyXG4gICAgICAgIH0sICgpID0+IHRoaXMuX3BzLmVycm9yKCkpKTtcclxuICAgICAgICBwcm9taXNzZXMucHVzaChwcm9taXNlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBtb2RlbC5ldmVudHMuZm9yRWFjaChlID0+IHtcclxuICAgICAgdGhpcy5ldmVudE1hcmtlcnMucHVzaCh7XHJcbiAgICAgICAgZGF5OiBtb21lbnQoZS5zdGFydGluZyksXHJcbiAgICAgICAgbGFiZWw6IGUudGl0bGVcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIG1vZGVsLnJlY2lwaWVudHMuZm9yRWFjaChyID0+IHtcclxuICAgICAgaWYgKCFyLnBlbmRpbmcpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCB0YXNrOiBUYXNrID0ge1xyXG4gICAgICAgIGlkOiBpKyssXHJcbiAgICAgICAgdHlwZTogJ3BlbmRpbmcnLFxyXG4gICAgICAgIHRpbWU6IG1vbWVudChyLnJlY2VpdmVkKS50b0RhdGUoKSxcclxuICAgICAgICB0aXRsZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnSXNQZW5kaW5nJylcclxuICAgICAgfTtcclxuICAgICAgaWYgKHIuc3Vic3RpdHV0aW5nSWQpIHtcclxuICAgICAgICBjb25zdCBieVByb21pc2UgPSB0aGlzLl91c2Vycy5nZXQoci5zdWJzdGl0dXRpbmdJZCk7XHJcbiAgICAgICAgY29uc3Qgd2hvUHJvbWlzZSA9IHRoaXMuX3VzZXJzLmdldChyLnVzZXJJZCk7XHJcbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IGZvcmtKb2luKHdob1Byb21pc2UsIGJ5UHJvbWlzZSkucGlwZSh0YXAobiA9PiB7XHJcbiAgICAgICAgICB0YXNrLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdXaG9TdWJzdGl0dXRpbmcnLCBuWzBdLm5hbWUsIG5bMV0ubmFtZSk7XHJcbiAgICAgICAgICBpZiAoci5yb2xlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUucm9sZXMuZmluZChvID0+IG8ubmFtZSA9PT0gci5yb2xlKTtcclxuICAgICAgICAgICAgaWYgKHJvbGUpIHRhc2submFtZSArPSBgLCAke3JvbGUubmFtZX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sICgpID0+IHRoaXMuX3BzLmVycm9yKCkpKTtcclxuXHJcbiAgICAgICAgcHJvbWlzc2VzLnB1c2gocHJvbWlzZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX3VzZXJzLmdldChyLnVzZXJJZCkucGlwZSh0YXAodSA9PiB7XHJcbiAgICAgICAgICB0YXNrLm5hbWUgPSB1Lm5hbWU7XHJcbiAgICAgICAgICBpZiAoci5yb2xlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUucm9sZXMuZmluZChvID0+IG8ubmFtZSA9PT0gci5yb2xlKTtcclxuICAgICAgICAgICAgaWYgKHJvbGUpIHRhc2submFtZSArPSBgLCAke3JvbGUubmFtZX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sICgpID0+IHRoaXMuX3BzLmVycm9yKCkpKTtcclxuICAgICAgICBwcm9taXNzZXMucHVzaChwcm9taXNlKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoci5ub2RlSWQpIHtcclxuICAgICAgICBtb2RlbC53b3JrZmxvdy5jb25uZWN0b3JzLmZpbHRlcihjID0+IGMudGFyZ2V0SWQgPT09IHIubm9kZUlkKS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcHJlZGVjZXNzb3JzID0gdGFza3MuZmlsdGVyKGwgPT4gbC5ub2RlSWQgPT09IGMuc291cmNlSWQpLm1hcChsID0+IGwuaWQpO1xyXG4gICAgICAgICAgaWYgKHByZWRlY2Vzc29ycy5sZW5ndGgpIHRhc2suZGVwZW5kZW5jaWVzID0gcHJlZGVjZXNzb3JzLmpvaW4oJywnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBzdGF0ZSA9IHRhc2tzLmZpbmQodCA9PiB0LnR5cGUgPT09ICdTdGF0ZUNoYW5nZScgJiYgdC50aW1lIDw9IHRhc2sudGltZSAmJiAoIXQuZW5kaW5nIHx8IHQuZW5kaW5nID49IHRhc2sudGltZSkpO1xyXG4gICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICBpZiAoIXN0YXRlLnN1YnRhc2tzKSBzdGF0ZS5zdWJ0YXNrcyA9IFtdO1xyXG4gICAgICAgIHN0YXRlLnN1YnRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRhc2tzLnB1c2godGFzayk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBmb3JrSm9pbihwcm9taXNzZXMpLlxyXG4gICAgICBwaXBlKG1hcCgoKSA9PiB0YXNrcy5zb3J0KCh0MCwgdDEpID0+IHQwLnRpbWUgPiB0MS50aW1lID8gMSA6IC0xKSkpO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpbmcocikge1xyXG4gICAgaWYgKHIuZGF0YS50YXNrRGF0YS50eXBlID09PSAnTW9kZWxDaGFuZ2UnKVxyXG4gICAgICB0aGlzLl9jb21wYXJlKHIuZGF0YSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBfY29tcGFyZSh0YXNrOiBUYXNrKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2QnLCB0aGlzLml0ZW0uZG9jdW1lbnRJZC5lbmNvZGVJZCgpLCAndmVyc2lvbicsIHRhc2sudGltZS52YWx1ZU9mKCkuZW5jb2RlSWQoKV0sIHsgc3RhdGU6IHsgaXRlbTogdGhpcy5pdGVtIH0gfSlcclxuICB9XHJcbiAgcmVhZG9ubHkgdGFza0ZpZWxkczogVGFza0ZpZWxkc01vZGVsID0ge1xyXG4gICAgaWQ6ICdpZCcsXHJcbiAgICBuYW1lOiAndGl0bGUnLFxyXG4gICAgc3RhcnREYXRlOiAndGltZScsXHJcbiAgICBlbmREYXRlOiAnZW5kaW5nJyxcclxuICAgIGR1cmF0aW9uOiAnZHVyYXRpb24nLFxyXG4gICAgZGVwZW5kZW5jeTogJ2RlcGVuZGVuY2llcycsXHJcbiAgICBjaGlsZDogJ3N1YnRhc2tzJ1xyXG4gIH07XHJcbiAgY29sdW1uczogQ29sdW1uTW9kZWxbXTtcclxuICByZWFkb25seSB0b29sdGlwU2V0dGluZ3MgPSB7IHNob3dUb29sdGlwOiBmYWxzZSB9O1xyXG4gIHJlYWRvbmx5IHRpbWVsaW5lU2V0dGluZ3M6IFRpbWVsaW5lU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIHRpbWVsaW5lVW5pdFNpemU6IDYwLFxyXG4gICAgdG9wVGllcjoge1xyXG4gICAgICBmb3JtYXQ6ICdNTU0gZGQsIHl5eXknLFxyXG4gICAgICB1bml0OiAnRGF5JyxcclxuICAgIH0sXHJcbiAgICBib3R0b21UaWVyOiB7XHJcbiAgICAgIHVuaXQ6ICdIb3VyJyxcclxuICAgICAgZm9ybWF0OiAnaC5tbSBhJ1xyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgZXZlbnRNYXJrZXJzOiBFdmVudE1hcmtlck1vZGVsW10gPSBbXHJcbiAgXTtcclxuICBwdWJsaWMgbGFiZWxTZXR0aW5nczogTGFiZWxTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgcmlnaHRMYWJlbDogJ25hbWUnLCBsZWZ0TGFiZWw6ICd0aXRsZSdcclxuICB9O1xyXG4gIHB1YmxpYyBzcGxpdHRlclNldHRpbmdzOiBTcGxpdHRlclNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICBjb2x1bW5JbmRleDogMyxcclxuICAgIHZpZXc6ICdDaGFydCcsXHJcbiAgICBzZXBhcmF0b3JTaXplOiAwXHJcbiAgfTtcclxuICBwdWJsaWMgZGF5V29ya2luZ1RpbWU6IERheVdvcmtpbmdUaW1lTW9kZWxbXSA9IFt7IGZyb206IDAsIHRvOiAyNCB9XTtcclxufVxyXG5pbnRlcmZhY2UgVGFzayB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbm9kZUlkPzogc3RyaW5nO1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICBlbmRpbmc/OiBEYXRlO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIHN1YnRhc2tzPzogVGFza1tdO1xyXG4gIGRlcGVuZGVuY2llcz86IHN0cmluZztcclxuICBkZXBlbmRlbmN5Pzogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBPcHRpb25zIHtcclxuXHJcbn1cclxuIl19
|
@@ -1,12 +1,14 @@
|
|
1
|
-
import { Component, HostListener, Injector, Input } from "@angular/core";
|
1
|
+
import { Component, HostListener, Injector, Input, Optional } from "@angular/core";
|
2
2
|
import { takeUntil } from "rxjs";
|
3
3
|
import { Subject } from "rxjs";
|
4
4
|
import { debounceTime } from "rxjs/operators";
|
5
5
|
import { DocumentViewRef } from "./document-view-ref";
|
6
6
|
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "../core/
|
7
|
+
import * as i1 from "../core/slots/pane-ref";
|
8
|
+
import * as i2 from "../core/component-factory-resolver";
|
8
9
|
export class ViewItemComponent {
|
9
|
-
constructor(_vc, _injector, _cf) {
|
10
|
+
constructor(_pane, _vc, _injector, _cf) {
|
11
|
+
this._pane = _pane;
|
10
12
|
this._vc = _vc;
|
11
13
|
this._injector = _injector;
|
12
14
|
this._cf = _cf;
|
@@ -18,7 +20,7 @@ export class ViewItemComponent {
|
|
18
20
|
}
|
19
21
|
ngAfterViewInit() {
|
20
22
|
const factory = this._cf.resolve(this.view.template);
|
21
|
-
this._viewRef = new DocumentViewRef(this.model, this.view, this._dim());
|
23
|
+
this._viewRef = new DocumentViewRef(this.model, this.view, this._dim(), !this._pane || !this._pane.tab);
|
22
24
|
const injector = Injector.create([{ provide: DocumentViewRef, useValue: this._viewRef }], this._injector);
|
23
25
|
this._instance = this._vc.createComponent(factory, null, injector).instance;
|
24
26
|
this._instance.onBind(this.model);
|
@@ -37,7 +39,7 @@ export class ViewItemComponent {
|
|
37
39
|
this._destroy.complete();
|
38
40
|
}
|
39
41
|
}
|
40
|
-
ViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: ViewItemComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token:
|
42
|
+
ViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: ViewItemComponent, deps: [{ token: i1.PaneRef, optional: true }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i2.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
|
41
43
|
ViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: ViewItemComponent, selector: "bizdoc-document-view-item", inputs: { model: "model", view: "view" }, host: { listeners: { "window:resize": "resize()" } }, ngImport: i0, template: '', isInline: true });
|
42
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: ViewItemComponent, decorators: [{
|
43
45
|
type: Component,
|
@@ -45,7 +47,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
45
47
|
selector: 'bizdoc-document-view-item',
|
46
48
|
template: ''
|
47
49
|
}]
|
48
|
-
}], ctorParameters: function () { return [{ type:
|
50
|
+
}], ctorParameters: function () { return [{ type: i1.PaneRef, decorators: [{
|
51
|
+
type: Optional
|
52
|
+
}] }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i2.BizDocComponentFactoryResolver }]; }, propDecorators: { model: [{
|
49
53
|
type: Input
|
50
54
|
}], view: [{
|
51
55
|
type: Input
|
@@ -53,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
53
57
|
type: HostListener,
|
54
58
|
args: ['window:resize']
|
55
59
|
}] } });
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3Mvdmlldy1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU10RCxNQUFNLE9BQU8saUJBQWlCO0lBVTVCLFlBQ3NCLEtBQW9CLEVBQ2hDLEdBQXFCLEVBQ3JCLFNBQW1CLEVBQ25CLEdBQW1DO1FBSHZCLFVBQUssR0FBTCxLQUFLLENBQWU7UUFDaEMsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixRQUFHLEdBQUgsR0FBRyxDQUFnQztRQU41QixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNoQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU1oRCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQXNDLENBQUM7UUFDMUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUMzQyxDQUFDO0lBQ08sSUFBSTtRQUNWLE9BQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBZ0MsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNsRyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs4R0F2Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsaUtBRmxCLEVBQUU7MkZBRUQsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSxFQUFFO2lCQUNiOzswQkFZSSxRQUFROytJQVRYLEtBQUs7c0JBREosS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBNkJOLE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld0NvbXBvbmVudCB9IGZyb20gXCIuLi9jb3JlL2Jhc2VcIjtcclxuaW1wb3J0IHsgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSBcIi4uL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXJcIjtcclxuaW1wb3J0IHsgcXVlcnlQYXJhbXMgfSBmcm9tIFwiLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRNb2RlbCwgVmlldyB9IGZyb20gXCIuLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gXCIuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmXCI7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld1JlZiB9IGZyb20gXCIuL2RvY3VtZW50LXZpZXctcmVmXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1kb2N1bWVudC12aWV3LWl0ZW0nLFxyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld0l0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICBtb2RlbDogRG9jdW1lbnRNb2RlbDtcclxuICBASW5wdXQoKVxyXG4gIHZpZXc6IFZpZXc7XHJcbiAgYXJnczogYW55O1xyXG4gIHByaXZhdGUgX3ZpZXdSZWY6IERvY3VtZW50Vmlld1JlZjx1bmtub3duPjtcclxuICBwcml2YXRlIF9pbnN0YW5jZTogRG9jdW1lbnRWaWV3Q29tcG9uZW50PGFueSwgYW55LCBhbnk+O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc2l6aW5nID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3BhbmUgOiBQYW5lUmVmPGFueT4sXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX2NmOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXNpemluZy5waXBlKGRlYm91bmNlVGltZSgxNTApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl92aWV3UmVmLl9yZXNpemUubmV4dCh0aGlzLl9kaW0oKSkpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuX2NmLnJlc29sdmUodGhpcy52aWV3LnRlbXBsYXRlKTtcclxuICAgIHRoaXMuX3ZpZXdSZWYgPSBuZXcgRG9jdW1lbnRWaWV3UmVmKHRoaXMubW9kZWwsIHRoaXMudmlldywgdGhpcy5fZGltKCksICF0aGlzLl9wYW5lIHx8ICF0aGlzLl9wYW5lLnRhYik7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShbeyBwcm92aWRlOiBEb2N1bWVudFZpZXdSZWYsIHVzZVZhbHVlOiB0aGlzLl92aWV3UmVmIH1dLCB0aGlzLl9pbmplY3Rvcik7XHJcbiAgICB0aGlzLl9pbnN0YW5jZSA9IHRoaXMuX3ZjLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5LCBudWxsLCBpbmplY3RvcikuaW5zdGFuY2UgYXMgRG9jdW1lbnRWaWV3Q29tcG9uZW50PGFueT47XHJcbiAgICB0aGlzLl9pbnN0YW5jZS5vbkJpbmQodGhpcy5tb2RlbCk7XHJcbiAgICBpZih0aGlzLl92aWV3UmVmLmhpZGRlbikgdGhpcy5fdmMuY2xlYXIoKVxyXG4gIH1cclxuICBwcml2YXRlIF9kaW0oKTogeyBoZWlnaHQ6IG51bWJlcjsgd2lkdGg6IG51bWJlcjsgfSB7XHJcbiAgICByZXR1cm4gKHRoaXMuX3ZjLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudCkucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXHJcbiAgcmVzaXplKCkge1xyXG4gICAgdGhpcy5fcmVzaXppbmcubmV4dCgpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3ZpZXdSZWYuX2Rlc3Ryb3koKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -1,21 +1,20 @@
|
|
1
1
|
import { Component, Input } from "@angular/core";
|
2
2
|
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "../core/
|
4
|
-
import * as i2 from "
|
5
|
-
import * as i3 from "
|
6
|
-
import * as i4 from "@angular/common";
|
3
|
+
import * as i1 from "../core/session.service";
|
4
|
+
import * as i2 from "./view-item.component";
|
5
|
+
import * as i3 from "@angular/common";
|
7
6
|
export class DocumentViewsComponent {
|
8
|
-
constructor(
|
9
|
-
this.
|
10
|
-
this.vc = vc;
|
7
|
+
constructor(_cd, _session) {
|
8
|
+
this._cd = _cd;
|
11
9
|
this._session = _session;
|
12
10
|
}
|
13
11
|
ngOnChanges(_) {
|
14
12
|
this.views = this._session.profile.views.filter(v => !v.forms || v.forms.indexOf(this.model.formId) > -1);
|
13
|
+
this._cd.detectChanges();
|
15
14
|
}
|
16
15
|
}
|
17
|
-
DocumentViewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: DocumentViewsComponent, deps: [{ token:
|
18
|
-
DocumentViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: DocumentViewsComponent, selector: "bizdoc-document-views", inputs: { model: "model" }, usesOnChanges: true, ngImport: i0, template: "<div *ngFor=\"let v of views; let last = last;\">\r\n <bizdoc-document-view-item [model]=\"model\" [view]=\"v\" #view></bizdoc-document-view-item>\r\n <hr *ngIf=\"!last\"/>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column}hr{opacity:.4;margin:4px}:host ::ng-deep .view{display:flex;flex-direction:column;position:relative}:host ::ng-deep .loading-view{position:absolute;width:100%;height:100%;text-align:-webkit-center}\n"], components: [{ type:
|
16
|
+
DocumentViewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: DocumentViewsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Component });
|
17
|
+
DocumentViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: DocumentViewsComponent, selector: "bizdoc-document-views", inputs: { model: "model" }, usesOnChanges: true, ngImport: i0, template: "<div *ngFor=\"let v of views; let last = last;\">\r\n <bizdoc-document-view-item [model]=\"model\" [view]=\"v\" #view></bizdoc-document-view-item>\r\n <hr *ngIf=\"!last\"/>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column}hr{opacity:.4;margin:4px 8px}:host ::ng-deep .view{display:flex;flex-direction:column;position:relative}:host ::ng-deep .loading-view{position:absolute;width:100%;height:100%;text-align:-webkit-center}\n"], components: [{ type: i2.ViewItemComponent, selector: "bizdoc-document-view-item", inputs: ["model", "view"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
19
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: DocumentViewsComponent, decorators: [{
|
20
19
|
type: Component,
|
21
20
|
args: [{
|
@@ -23,7 +22,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
23
22
|
templateUrl: 'views.component.html',
|
24
23
|
styleUrls: ['views.component.scss']
|
25
24
|
}]
|
26
|
-
}], ctorParameters: function () { return [{ type:
|
25
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SessionService }]; }, propDecorators: { model: [{
|
27
26
|
type: Input
|
28
27
|
}] } });
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi92aWV3cy92aWV3cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3ZpZXdzL3ZpZXdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTM0UsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLEdBQXNCLEVBQ3RCLFFBQXdCO1FBRHhCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWdCO0lBQ2xDLENBQUM7SUFDRCxXQUFXLENBQUMsQ0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O21IQVhVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDhHQ1ZuQyw4TEFJQTsyRkRNYSxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLHNCQUFzQjtvQkFDbkMsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDO3FJQUdDLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRNb2RlbCwgVmlldyB9IGZyb20gXCIuLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtZG9jdW1lbnQtdmlld3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAndmlld3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyd2aWV3cy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2N1bWVudFZpZXdzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKVxyXG4gIG1vZGVsOiBEb2N1bWVudE1vZGVsO1xyXG4gIHZpZXdzOiBWaWV3W107XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdzID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnZpZXdzLmZpbHRlcih2ID0+ICF2LmZvcm1zIHx8IHYuZm9ybXMuaW5kZXhPZih0aGlzLm1vZGVsLmZvcm1JZCkgPiAtMSk7XHJcbiAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCB2IG9mIHZpZXdzOyBsZXQgbGFzdCA9IGxhc3Q7XCI+XHJcbiAgPGJpemRvYy1kb2N1bWVudC12aWV3LWl0ZW0gW21vZGVsXT1cIm1vZGVsXCIgW3ZpZXddPVwidlwiICN2aWV3PjwvYml6ZG9jLWRvY3VtZW50LXZpZXctaXRlbT5cclxuICA8aHIgKm5nSWY9XCIhbGFzdFwiLz5cclxuPC9kaXY+XHJcbiJdfQ==
|