@simpleangularcontrols/sac-common 10.0.0-rc.29 → 10.0.0-rc.30
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/bundles/simpleangularcontrols-sac-common.umd.js +1848 -1249
- package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -1
- package/bundles/simpleangularcontrols-sac-common.umd.min.js +1 -1
- package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -1
- package/common/basedatetimecontrol.d.ts +47 -21
- package/common/baseinputcontrol.d.ts +10 -8
- package/common/baselistcontrol.d.ts +15 -15
- package/common/basemodelcontrol.d.ts +59 -43
- package/common/baseselectcontrol.d.ts +5 -5
- package/common/baseuploadcontrol.d.ts +77 -57
- package/components/browser/browser.d.ts +86 -89
- package/components/browser/models/browserfile.d.ts +6 -6
- package/components/browser/models/browserfiledeleterequest.d.ts +7 -7
- package/components/browser/models/browserfilerenamerequest.d.ts +10 -10
- package/components/browser/models/browserfileresponse.d.ts +2 -2
- package/components/browser/models/browserfilesaverequest.d.ts +7 -7
- package/components/browser/models/browsernode.d.ts +13 -13
- package/components/browser/models/browsernodedeleterequest.d.ts +6 -6
- package/components/browser/models/browsernodenewrequest.d.ts +7 -7
- package/components/browser/models/browsernoderenamerequest.d.ts +7 -7
- package/components/browser/models/browsernoderequest.d.ts +7 -7
- package/components/browser/models/browsernoderesponse.d.ts +1 -1
- package/controls/buttons/button.d.ts +25 -19
- package/controls/checkbox/checkbox.d.ts +3 -3
- package/controls/checkbox/radiobutton.d.ts +19 -13
- package/controls/checkbox/radiobuttons.d.ts +13 -10
- package/controls/confirm/confirm.button.d.ts +3 -3
- package/controls/confirm/confirm.d.ts +13 -12
- package/controls/confirm/confirm.service.d.ts +14 -14
- package/controls/contextmenu/contextmenu.d.ts +33 -27
- package/controls/contextmenu/contextmenu.interface.d.ts +6 -0
- package/controls/contextmenu/contextmenuanchor.d.ts +4 -4
- package/controls/contextmenu/contextmenucontainer.d.ts +4 -4
- package/controls/contextmenu/contextmenuitembutton.d.ts +12 -12
- package/controls/datetime/date.d.ts +11 -11
- package/controls/datetime/dateselector.d.ts +47 -40
- package/controls/datetime/datetime.d.ts +15 -14
- package/controls/datetime/time.d.ts +22 -12
- package/controls/dialog/dialog.d.ts +28 -22
- package/controls/form/form.d.ts +17 -12
- package/controls/grid/grid.d.ts +1 -0
- package/controls/grid/gridbutton.d.ts +1 -0
- package/controls/grid/gridcolumn.d.ts +5 -1
- package/controls/grid/gridcolumnaction.d.ts +1 -1
- package/controls/grid/gridcolumnbase.d.ts +8 -3
- package/controls/grid/model.d.ts +5 -2
- package/controls/grid/paging.d.ts +2 -3
- package/controls/input/input.d.ts +7 -7
- package/controls/input/inputarea.d.ts +8 -6
- package/controls/input/inputcurrency.d.ts +4 -1
- package/controls/input/inputdecimal.d.ts +14 -14
- package/controls/input/inputemail.d.ts +4 -4
- package/controls/input/inputinteger.d.ts +14 -14
- package/controls/input/inputpassword.d.ts +3 -3
- package/controls/input/inputsearch.d.ts +8 -5
- package/controls/layout/formlayout.d.ts +8 -5
- package/controls/list/buildvaluestring.d.ts +2 -2
- package/controls/list/dropdown.d.ts +23 -22
- package/controls/list/dropdownoptions.d.ts +10 -10
- package/controls/list/listbox.d.ts +25 -23
- package/controls/multilanguage/multilanguageinput.d.ts +25 -25
- package/controls/multilanguage/multilanguageinputarea.d.ts +27 -27
- package/controls/static/formcontainer.d.ts +8 -8
- package/controls/static/staticlabel.d.ts +5 -5
- package/controls/tabs/tab.d.ts +2 -2
- package/controls/tabs/tabitem.d.ts +7 -7
- package/controls/tinymce/tinymce.d.ts +37 -37
- package/controls/tinymce/tinymcedialogsettings.d.ts +6 -6
- package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +2 -2
- package/controls/tinymce/tinymceinstance.d.ts +2 -2
- package/controls/tooltip/tooltip.d.ts +10 -5
- package/controls/treeview/treeview.d.ts +50 -5
- package/controls/upload/dropzonemultiple.d.ts +16 -16
- package/controls/upload/dropzonesingle.d.ts +11 -11
- package/controls/upload/uploadmultiple.d.ts +12 -12
- package/controls/upload/uploadsingle.d.ts +7 -7
- package/controls/validation/validationsummary.d.ts +12 -11
- package/controls/wizard/wizard.d.ts +25 -18
- package/controls/wizard/wizarditem.d.ts +5 -5
- package/enums/ButtonRoleType.d.ts +26 -1
- package/enums/ControlHeight.d.ts +1 -1
- package/enums/IconType.d.ts +1 -1
- package/esm2015/common/basedatetimecontrol.js +47 -22
- package/esm2015/common/baseinputcontrol.js +13 -11
- package/esm2015/common/baselistcontrol.js +21 -17
- package/esm2015/common/basemodelcontrol.js +72 -49
- package/esm2015/common/baseselectcontrol.js +11 -9
- package/esm2015/common/baseuploadcontrol.js +69 -49
- package/esm2015/components/browser/browser.js +93 -105
- package/esm2015/components/browser/models/browserfile.js +1 -1
- package/esm2015/components/browser/models/browserfiledeleterequest.js +6 -4
- package/esm2015/components/browser/models/browserfilerenamerequest.js +6 -4
- package/esm2015/components/browser/models/browserfileresponse.js +1 -1
- package/esm2015/components/browser/models/browserfilesaverequest.js +5 -3
- package/esm2015/components/browser/models/browsernode.js +1 -1
- package/esm2015/components/browser/models/browsernodedeleterequest.js +6 -4
- package/esm2015/components/browser/models/browsernodenewrequest.js +6 -4
- package/esm2015/components/browser/models/browsernoderenamerequest.js +6 -4
- package/esm2015/components/browser/models/browsernoderequest.js +6 -4
- package/esm2015/components/browser/models/browsernoderesponse.js +1 -1
- package/esm2015/controls/buttons/button.js +26 -20
- package/esm2015/controls/checkbox/checkbox.js +3 -3
- package/esm2015/controls/checkbox/radiobutton.js +21 -15
- package/esm2015/controls/checkbox/radiobuttons.js +14 -11
- package/esm2015/controls/confirm/confirm.button.js +4 -4
- package/esm2015/controls/confirm/confirm.js +14 -13
- package/esm2015/controls/confirm/confirm.service.js +21 -21
- package/esm2015/controls/contextmenu/contextmenu.interface.js +1 -1
- package/esm2015/controls/contextmenu/contextmenu.js +29 -23
- package/esm2015/controls/contextmenu/contextmenuanchor.js +4 -4
- package/esm2015/controls/contextmenu/contextmenucontainer.js +4 -4
- package/esm2015/controls/contextmenu/contextmenuitembutton.js +10 -10
- package/esm2015/controls/datetime/date.js +13 -13
- package/esm2015/controls/datetime/dateselector.js +55 -54
- package/esm2015/controls/datetime/datetime.js +17 -16
- package/esm2015/controls/datetime/time.js +24 -14
- package/esm2015/controls/dialog/dialog.js +31 -24
- package/esm2015/controls/form/form.js +18 -13
- package/esm2015/controls/grid/grid.js +2 -1
- package/esm2015/controls/grid/gridbutton.js +2 -1
- package/esm2015/controls/grid/gridcolumn.js +6 -2
- package/esm2015/controls/grid/gridcolumnaction.js +2 -2
- package/esm2015/controls/grid/gridcolumnbase.js +9 -4
- package/esm2015/controls/grid/model.js +5 -2
- package/esm2015/controls/grid/paging.js +6 -7
- package/esm2015/controls/input/input.js +8 -8
- package/esm2015/controls/input/inputarea.js +9 -7
- package/esm2015/controls/input/inputcurrency.js +6 -3
- package/esm2015/controls/input/inputdecimal.js +21 -27
- package/esm2015/controls/input/inputemail.js +5 -5
- package/esm2015/controls/input/inputinteger.js +19 -23
- package/esm2015/controls/input/inputpassword.js +4 -4
- package/esm2015/controls/input/inputsearch.js +9 -6
- package/esm2015/controls/layout/formlayout.js +10 -7
- package/esm2015/controls/list/buildvaluestring.js +6 -6
- package/esm2015/controls/list/dropdown.js +28 -27
- package/esm2015/controls/list/dropdownoptions.js +12 -12
- package/esm2015/controls/list/listbox.js +26 -24
- package/esm2015/controls/multilanguage/multilanguageinput.js +29 -29
- package/esm2015/controls/multilanguage/multilanguageinputarea.js +31 -31
- package/esm2015/controls/static/formcontainer.js +10 -10
- package/esm2015/controls/static/staticlabel.js +7 -7
- package/esm2015/controls/tabs/tab.js +2 -2
- package/esm2015/controls/tabs/tabitem.js +5 -5
- package/esm2015/controls/tinymce/tinymce.js +35 -35
- package/esm2015/controls/tinymce/tinymcedialogsettings.js +4 -4
- package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.js +1 -1
- package/esm2015/controls/tinymce/tinymceinstance.js +1 -1
- package/esm2015/controls/tooltip/tooltip.js +13 -8
- package/esm2015/controls/treeview/treeview.js +52 -7
- package/esm2015/controls/upload/dropzonemultiple.js +18 -18
- package/esm2015/controls/upload/dropzonesingle.js +12 -12
- package/esm2015/controls/upload/uploadmultiple.js +14 -14
- package/esm2015/controls/upload/uploadsingle.js +8 -8
- package/esm2015/controls/validation/validationsummary.js +14 -13
- package/esm2015/controls/wizard/wizard.js +24 -17
- package/esm2015/controls/wizard/wizarditem.js +4 -4
- package/esm2015/enums/ButtonRoleType.js +1 -1
- package/esm2015/enums/ControlHeight.js +2 -2
- package/esm2015/enums/IconType.js +2 -2
- package/esm2015/interfaces/ISacConfigurationService.js +1 -1
- package/esm2015/interfaces/ISacFileBrowserService.js +1 -1
- package/esm2015/interfaces/ISacLabelSizes.js +1 -1
- package/esm2015/interfaces/ISacLanguageService.js +1 -1
- package/esm2015/interfaces/ISacLocalisationService.js +1 -1
- package/esm2015/interfaces/ISacUploadEventCompleteState.js +1 -1
- package/esm2015/interfaces/iabstractcontrollabel.js +1 -1
- package/esm2015/interfaces/iconfirmcomponent.js +1 -1
- package/esm2015/interfaces/idatetimecontrol.js +1 -1
- package/esm2015/interfaces/iuploadcontrol.js +1 -1
- package/esm2015/interfaces/treeviewaction.interface.js +1 -1
- package/esm2015/models/languagemodel.js +5 -3
- package/esm2015/public_api.js +3 -2
- package/esm2015/services/index.js +4 -4
- package/esm2015/services/sac-configuration.service.js +7 -1
- package/esm2015/services/sac-filebrowser.service.js +46 -38
- package/esm2015/services/sac-localisation.service.js +11 -7
- package/esm2015/services/sac-validationkey.service.js +148 -1
- package/esm2015/utilities/convertion.js +7 -5
- package/esm2015/utilities/datatypes.js +6 -4
- package/esm2015/utilities/enums.js +9 -8
- package/esm2015/utilities/guid.js +2 -2
- package/esm2015/utilities/interpolation.js +16 -9
- package/esm2015/utilities/popuphelper.js +62 -25
- package/esm2015/utilities/positioncalculator.js +209 -0
- package/esm2015/utilities/positioncalculator.ngfactory.js +7 -0
- package/esm2015/utilities/positionelements.js +108 -0
- package/esm2015/utilities/positionelements.ngfactory.js +7 -0
- package/esm2015/utilities/testingattribute.pipe.js +17 -2
- package/esm2015/validation/email.validator.js +11 -2
- package/esm2015/validation/equals.validator.js +11 -1
- package/esm2015/validation/index.js +1 -1
- package/esm2015/validation/invaliddate.validator.js +11 -2
- package/esm2015/validation/isDateValid.js +11 -10
- package/esm2015/validation/maxdate.validator.js +14 -4
- package/esm2015/validation/maxtime.validator.js +14 -4
- package/esm2015/validation/maxvalue.validator.js +12 -2
- package/esm2015/validation/mindate.validator.js +14 -4
- package/esm2015/validation/minfiles.validator.js +12 -2
- package/esm2015/validation/mintextlength.validator.js +9 -1
- package/esm2015/validation/mintime.validator.js +14 -4
- package/esm2015/validation/minvalue.validator.js +12 -2
- package/esm2015/validation/multilanguagerequired.validator.js +11 -1
- package/esm2015/validation/multilanguagerequiredany.validator.js +11 -1
- package/esm2015/validation/notequals.validator.js +11 -1
- package/esm2015/validation/pattern.validator.js +12 -2
- package/esm2015/validation/required.validator.js +11 -2
- package/esm2015/validation/validation.class.js +84 -101
- package/esm2015/validation/validationerrorcreator.js +12 -1
- package/esm2015/validation/validationerroritem.js +11 -9
- package/fesm2015/simpleangularcontrols-sac-common.js +1823 -1226
- package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -1
- package/interfaces/ISacConfigurationService.d.ts +9 -1
- package/interfaces/ISacFileBrowserService.d.ts +43 -43
- package/interfaces/ISacLabelSizes.d.ts +15 -12
- package/interfaces/ISacLanguageService.d.ts +3 -3
- package/interfaces/ISacLocalisationService.d.ts +2 -2
- package/interfaces/ISacUploadEventCompleteState.d.ts +6 -0
- package/interfaces/iabstractcontrollabel.d.ts +4 -1
- package/interfaces/iconfirmcomponent.d.ts +6 -6
- package/interfaces/idatetimecontrol.d.ts +10 -1
- package/interfaces/treeviewaction.interface.d.ts +9 -0
- package/models/languagemodel.d.ts +9 -9
- package/package.json +1 -1
- package/public_api.d.ts +2 -1
- package/services/index.d.ts +3 -3
- package/services/sac-configuration.service.d.ts +8 -0
- package/services/sac-filebrowser.service.d.ts +78 -70
- package/services/sac-localisation.service.d.ts +11 -7
- package/services/sac-validationkey.service.d.ts +147 -0
- package/simpleangularcontrols-sac-common-10.0.0-rc.30.tgz +0 -0
- package/simpleangularcontrols-sac-common.metadata.json +1 -1
- package/utilities/convertion.d.ts +4 -4
- package/utilities/datatypes.d.ts +3 -3
- package/utilities/enums.d.ts +8 -1
- package/utilities/guid.d.ts +1 -1
- package/utilities/interpolation.d.ts +9 -8
- package/utilities/popuphelper.d.ts +47 -10
- package/utilities/positioncalculator.d.ts +82 -0
- package/utilities/positionelements.d.ts +30 -0
- package/utilities/positionelements.ngfactory.d.ts +1 -0
- package/utilities/testingattribute.pipe.d.ts +16 -1
- package/validation/email.validator.d.ts +7 -0
- package/validation/equals.validator.d.ts +8 -0
- package/validation/invaliddate.validator.d.ts +7 -0
- package/validation/isDateValid.d.ts +5 -2
- package/validation/maxdate.validator.d.ts +8 -0
- package/validation/maxtime.validator.d.ts +8 -0
- package/validation/maxvalue.validator.d.ts +8 -0
- package/validation/mindate.validator.d.ts +8 -0
- package/validation/minfiles.validator.d.ts +8 -0
- package/validation/mintextlength.validator.d.ts +8 -0
- package/validation/mintime.validator.d.ts +8 -0
- package/validation/minvalue.validator.d.ts +8 -0
- package/validation/multilanguagerequired.validator.d.ts +9 -1
- package/validation/multilanguagerequiredany.validator.d.ts +9 -1
- package/validation/notequals.validator.d.ts +8 -0
- package/validation/pattern.validator.d.ts +8 -0
- package/validation/required.validator.d.ts +7 -0
- package/validation/validation.class.d.ts +83 -100
- package/validation/validationerrorcreator.d.ts +9 -0
- package/validation/validationerroritem.d.ts +16 -16
- package/esm2015/utilities/positioning.js +0 -301
- package/esm2015/utilities/positioning.ngfactory.js +0 -7
- package/simpleangularcontrols-sac-common-10.0.0-rc.29.tgz +0 -0
- package/utilities/positioning.d.ts +0 -82
- /package/utilities/{positioning.ngfactory.d.ts → positioncalculator.ngfactory.d.ts} +0 -0
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { SACICON_SERVICE, SacDefaultIconService } from '../../services';
|
|
2
2
|
import { createGuid } from '../../utilities/guid';
|
|
3
|
-
import { positionElements } from '../../utilities/
|
|
3
|
+
import { positionElements } from '../../utilities/positionelements';
|
|
4
4
|
import { SacContextmenuAnchorCommon } from './contextmenuanchor';
|
|
5
5
|
import { SacContextMenuContrainerCommon } from './contextmenucontainer';
|
|
6
6
|
import { SacContextmenuItemCommon } from './contextmenuitem';
|
|
7
7
|
import { DOCUMENT } from '@angular/common';
|
|
8
8
|
import { ContentChild, ContentChildren, Directive, ElementRef, HostListener, Inject, Injector, Input, NgZone, QueryList, Renderer2, TemplateRef, ViewChild, } from '@angular/core';
|
|
9
9
|
/**
|
|
10
|
-
* Base
|
|
10
|
+
* Base context menu element. The logic was taken from NG-BOOTSTRAP.
|
|
11
11
|
*/
|
|
12
12
|
export class SacContextmenuCommon {
|
|
13
13
|
// #endregion Properties
|
|
14
14
|
// #region Constructors
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
* @param document HTML
|
|
18
|
-
* @param ngZone Angular
|
|
19
|
-
* @param elementRef HTML
|
|
20
|
-
* @param renderer Angular
|
|
21
|
-
* @param injector
|
|
16
|
+
* Constructor
|
|
17
|
+
* @param document HTML document element
|
|
18
|
+
* @param ngZone Angular zone service
|
|
19
|
+
* @param elementRef HTML element of the current control
|
|
20
|
+
* @param renderer Angular rendering service
|
|
21
|
+
* @param injector Injector to resolve the icon service
|
|
22
22
|
*/
|
|
23
23
|
constructor(document, ngZone, elementRef, renderer, injector) {
|
|
24
24
|
this.document = document;
|
|
@@ -30,11 +30,11 @@ export class SacContextmenuCommon {
|
|
|
30
30
|
*/
|
|
31
31
|
this.bodyContainer = null;
|
|
32
32
|
/**
|
|
33
|
-
* Container
|
|
33
|
+
* Container to which the position is aligned. Currently only body is supported.
|
|
34
34
|
*/
|
|
35
35
|
this.container = 'body';
|
|
36
36
|
/**
|
|
37
|
-
* Extra CSS
|
|
37
|
+
* Extra CSS classes for the control
|
|
38
38
|
*/
|
|
39
39
|
this.cssclass = '';
|
|
40
40
|
/**
|
|
@@ -42,7 +42,7 @@ export class SacContextmenuCommon {
|
|
|
42
42
|
*/
|
|
43
43
|
this.e2eidentifier = null;
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
45
|
+
* Defines whether the dropdown is open.
|
|
46
46
|
*/
|
|
47
47
|
this.isopen = false;
|
|
48
48
|
/**
|
|
@@ -71,7 +71,7 @@ export class SacContextmenuCommon {
|
|
|
71
71
|
// #endregion Constructors
|
|
72
72
|
// #region Public Getters And Setters
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
74
|
+
* Icon for default context menu button
|
|
75
75
|
*/
|
|
76
76
|
get IconContextMenu() {
|
|
77
77
|
return this.iconService.ContextMenuOpenIcon;
|
|
@@ -79,17 +79,23 @@ export class SacContextmenuCommon {
|
|
|
79
79
|
// #endregion Public Getters And Setters
|
|
80
80
|
// #region Public Methods
|
|
81
81
|
/**
|
|
82
|
-
*
|
|
82
|
+
* Closes the dropdown
|
|
83
83
|
*/
|
|
84
84
|
close() {
|
|
85
85
|
this._resetContainer();
|
|
86
86
|
this.isopen = false;
|
|
87
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Lifecycle hook that is called after content projection is completed.
|
|
90
|
+
*
|
|
91
|
+
* Associates each menu item with this context menu instance so that item
|
|
92
|
+
* events can delegate to the parent menu.
|
|
93
|
+
*/
|
|
88
94
|
ngAfterContentInit() {
|
|
89
95
|
this.menuitems.forEach((button) => (button.contextmenu = this));
|
|
90
96
|
}
|
|
91
97
|
/**
|
|
92
|
-
* Event
|
|
98
|
+
* Event when component is destroyed.
|
|
93
99
|
*/
|
|
94
100
|
ngOnDestroy() {
|
|
95
101
|
if (this.isopen) {
|
|
@@ -98,7 +104,7 @@ export class SacContextmenuCommon {
|
|
|
98
104
|
this.zoneSubscription.unsubscribe();
|
|
99
105
|
}
|
|
100
106
|
/**
|
|
101
|
-
* HostListener
|
|
107
|
+
* HostListener to close the dropdown when clicking outside the element.
|
|
102
108
|
*/
|
|
103
109
|
onClick(targetElement) {
|
|
104
110
|
const anchor = this._anchor || this._anchorTemplate;
|
|
@@ -109,14 +115,14 @@ export class SacContextmenuCommon {
|
|
|
109
115
|
}
|
|
110
116
|
}
|
|
111
117
|
/**
|
|
112
|
-
*
|
|
118
|
+
* Opens the dropdown / shows the menu.
|
|
113
119
|
*/
|
|
114
120
|
open() {
|
|
115
121
|
this._applyContainer(this.container);
|
|
116
122
|
this.isopen = true;
|
|
117
123
|
}
|
|
118
124
|
/**
|
|
119
|
-
* Toggle
|
|
125
|
+
* Toggle dropdown
|
|
120
126
|
*/
|
|
121
127
|
toggle() {
|
|
122
128
|
if (this.isopen) {
|
|
@@ -129,7 +135,7 @@ export class SacContextmenuCommon {
|
|
|
129
135
|
// #endregion Public Methods
|
|
130
136
|
// #region Protected Methods
|
|
131
137
|
/**
|
|
132
|
-
*
|
|
138
|
+
* Sets the position of the menu in the markup
|
|
133
139
|
*/
|
|
134
140
|
_positionMenu() {
|
|
135
141
|
const anchor = this._anchor || this._anchorTemplate;
|
|
@@ -140,9 +146,9 @@ export class SacContextmenuCommon {
|
|
|
140
146
|
// #endregion Protected Methods
|
|
141
147
|
// #region Private Methods
|
|
142
148
|
/**
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
* @param container
|
|
149
|
+
* Sets the position of the menu within the page. The alignment happens within the page
|
|
150
|
+
* so that the menu works correctly inside a dialog.
|
|
151
|
+
* @param container Defines where the menu is aligned. Currently only BODY is supported
|
|
146
152
|
*/
|
|
147
153
|
_applyContainer(container = null) {
|
|
148
154
|
// Reset Classes on Container
|
|
@@ -160,7 +166,7 @@ export class SacContextmenuCommon {
|
|
|
160
166
|
}
|
|
161
167
|
}
|
|
162
168
|
/**
|
|
163
|
-
*
|
|
169
|
+
* Resets the CSS classes on the menu container to default
|
|
164
170
|
*/
|
|
165
171
|
_resetContainer() {
|
|
166
172
|
const renderer = this.renderer;
|
|
@@ -201,4 +207,4 @@ SacContextmenuCommon.propDecorators = {
|
|
|
201
207
|
placement: [{ type: Input }],
|
|
202
208
|
onClick: [{ type: HostListener, args: ['document:click', ['$event.target'],] }]
|
|
203
209
|
};
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVILFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUd2Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxvQkFBb0I7SUE2RjdCLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7Ozs7T0FPRztJQUNILFlBQ3VDLFFBQWEsRUFDL0IsTUFBYyxFQUNkLFVBQW1DLEVBQ25DLFFBQW1CLEVBQ3BDLFFBQWtCO1FBSmlCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDL0IsV0FBTSxHQUFO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Jy4uLy4uL2ludGVyZmFjZXMvSVNhY0ljb25TZXJ2aWNlJztcbmltcG9ydCB7IFNBQ0lDT05fU0VSVklDRSwgU2FjRGVmYXVsdEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgY3JlYXRlR3VpZCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9ndWlkJztcbmltcG9ydCB7IFBsYWNlbWVudEFycmF5LCBwb3NpdGlvbkVsZW1lbnRzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3Bvc2l0aW9uaW5nJztcbmltcG9ydCB7IElTYWNDb250ZXh0bWVudUNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudWFuY2hvcic7XG5pbXBvcnQgeyBTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51Y29udGFpbmVyJztcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnVpdGVtJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBCYXNlIENvbnRleHQgTWVuw7wgRWxlbWVudC4gRGllIExvZ2lrIHd1cmRlIGF1cyBORy1CT09UU1RSQVAgw7xiZXJub21tZW4uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51Q29tbW9uIGltcGxlbWVudHMgSVNhY0NvbnRleHRtZW51Q29tbW9uLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogQnV0dG9uIGbDvHIgT3Blbi9DbG9zZSBFdmVudFxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FuY2hvcjogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb247XG5cbiAgICAvKipcbiAgICAgKiBCdXR0b24gZsO8ciBPcGVuL0Nsb3NlIEV2ZW50IGF1cyBUZW1wbGF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FuY2hvclRlbXBsYXRlOiBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbjtcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5lciBFbGVtZW50IGbDvHIgRHJvcGRvd25cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWVudTogU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uO1xuXG4gICAgLyoqXG4gICAgICogWm9uZSBTdWJzY3JpcHRpb24gZsO8ciBQb3N0aXRvbmllcnVuZyBkZXMgRWxlbWVudHNcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqIEJvZHkgSFRNTCBFbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBib2R5Q29udGFpbmVyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogaWNvbiBzZXJ2aWNlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGljb25TZXJ2aWNlOiBJU2FjSWNvblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gSFRNTCBUZW1wbGF0ZSBmw7xyIERyb3Bkb3duIEJ1dHRvbi4gQnV0dG9uIG11c3MgZGVuIE1hcmtlciBcIm5nQ29udGV4dG1lbnVBbmNob3JcIiBiZWluaGFsdGVuLCBkYW1pdCBkYXMgQ29udHJvbCBrb3JyZWt0IGZ1bmt0aW9uaWVydC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBidXR0b250ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5lciBhbiB3ZWxjaGVtIGRpZSBQb3NpdGlvbiBhdXNnZXJpY2h0ZXQgd2lyZC4gQWt0dWVsbCB3aXJkIG51biBCb2R5IFN1cHBvcnRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbnRhaW5lcjogbnVsbCB8ICdib2R5JyA9ICdib2R5JztcblxuICAgIC8qKlxuICAgICAqIEV4dHJhIENTUyBLbGFzc2VuIGbDvHIgZGFzIENvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjc3NjbGFzczogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBJZGVudGlmaWVyIHVzZWQgZm9yIHRoZSBFMkUgZGF0YSBhdHRyaWJ1dGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZTJlaWRlbnRpZmllcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmllcnQgb2IgZGFzIERyb3Bkb3duIG9mZmVuIGlzdC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc29wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEFsbCBkaXJlY3RseSBhc3NpZ25lZCBjb250ZXh0IG1lbnUgZWxlbWVudHMgdGhhdCBhcmUgZGVmaW5lZCBpbiB0aGUgZGlyZWN0IHRlbXBsYXRlIGZvciB0aGUgY29udGV4dCBtZW51LlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oU2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uKVxuICAgIHB1YmxpYyBtZW51aXRlbXMhOiBRdWVyeUxpc3Q8U2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uPjtcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgY29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmZXJyZWQgcGxhY2VtZW50IG9mIHRoZSBkcm9wZG93bi5cbiAgICAgKlxuICAgICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgYFwidG9wXCJgLCBgXCJ0b3AtbGVmdFwiYCwgYFwidG9wLXJpZ2h0XCJgLCBgXCJib3R0b21cImAsIGBcImJvdHRvbS1sZWZ0XCJgLFxuICAgICAqIGBcImJvdHRvbS1yaWdodFwiYCwgYFwibGVmdFwiYCwgYFwibGVmdC10b3BcImAsIGBcImxlZnQtYm90dG9tXCJgLCBgXCJyaWdodFwiYCwgYFwicmlnaHQtdG9wXCJgLFxuICAgICAqIGBcInJpZ2h0LWJvdHRvbVwiYFxuICAgICAqXG4gICAgICogQWNjZXB0cyBhbiBhcnJheSBvZiBzdHJpbmdzIG9yIGEgc3RyaW5nIHdpdGggc3BhY2Ugc2VwYXJhdGVkIHBvc3NpYmxlIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIFRoZSBkZWZhdWx0IG9yZGVyIG9mIHByZWZlcmVuY2UgaXMgYFwiYm90dG9tLWxlZnQgYm90dG9tLXJpZ2h0IHRvcC1sZWZ0IHRvcC1yaWdodFwiYFxuICAgICAqXG4gICAgICogUGxlYXNlIHNlZSB0aGUgW3Bvc2l0aW9uaW5nIG92ZXJ2aWV3XSgjL3Bvc2l0aW9uaW5nKSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwbGFjZW1lbnQ6IFBsYWNlbWVudEFycmF5ID0gWydib3R0b20tbGVmdCcsICdib3R0b20tcmlnaHQnLCAndG9wLWxlZnQnLCAndG9wLXJpZ2h0J107XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBLb25zdHJ1a3RvclxuICAgICAqIEBwYXJhbSBkb2N1bWVudCBIVE1MIERvY3VtZW50IEVsZW1lbnRcbiAgICAgKiBAcGFyYW0gbmdab25lIEFuZ3VsYXIgWm9uZSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgSFRNTCBFbGVtZW50IGRlcyBha3R1ZWxsZW4gQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gcmVuZGVyZXIgQW5ndWxhciBSZW5kZXJpbmcgU2VydmljZVxuICAgICAqIEBwYXJhbSBpbmplY3RvciBpbmplY3RvciB0byByZXNvbHZlIHRoZSBpY29uIHNlcnZpY2VcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogYW55LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICB0aGlzLnpvbmVTdWJzY3JpcHRpb24gPSB0aGlzLm5nWm9uZS5vblN0YWJsZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcG9zaXRpb25NZW51KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaWNvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoU0FDSUNPTl9TRVJWSUNFLCBuZXcgU2FjRGVmYXVsdEljb25TZXJ2aWNlKCkpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBpY29uIGZvciBkZWZhdWx0IGNvbnRleHQgbWVuw7wgYnV0dG9uXG4gICAgICovXG4gICAgcHVibGljIGdldCBJY29uQ29udGV4dE1lbnUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQ29udGV4dE1lbnVPcGVuSWNvbjtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBTY2hsaWVzc3QgZGFzIERyb3Bkb3duXG4gICAgICovXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNldENvbnRhaW5lcigpO1xuICAgICAgICB0aGlzLmlzb3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudWl0ZW1zLmZvckVhY2goKGJ1dHRvbikgPT4gKGJ1dHRvbi5jb250ZXh0bWVudSA9IHRoaXMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3ZW5uIENvbXBvbmVudCBlbnRmZXJudCB3aXJkLlxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnpvbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIb3N0TGlzdGVuZXIgdW0gZGFzIERyb3Bkb3duIHp1IHNjaGxpZXNzZW4gd2VubiBuaWNodCBhdWYgZGFzIEVsZW1lbnQgZ2VrbGlja3Qgd2lyZC5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIC8qKlxuICAgICAqIENsaWNrIEV2ZW50XG4gICAgICovXG4gICAgcHVibGljIG9uQ2xpY2sodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID0gdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuX21lbnUgJiZcbiAgICAgICAgICAgICF0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCkgJiZcbiAgICAgICAgICAgICFhbmNob3IubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIMOWZmZuZXQgZGFzIERyb3Bkb3duIC8gWmVpZ3QgZGFzIE1lbsO8IGFuLlxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hcHBseUNvbnRhaW5lcih0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgIHRoaXMuaXNvcGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgdm9uIERyb3Bkb3duXG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIFNldHp0IGRpZSBQb3NpdGlvbiBkZXMgTWVuw7xzIGltIE1hcmt1cFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfcG9zaXRpb25NZW51KCkge1xuICAgICAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID0gdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xuXG4gICAgICAgIGlmIChhbmNob3IgJiYgdGhpcy5fbWVudSkge1xuICAgICAgICAgICAgcG9zaXRpb25FbGVtZW50cyhcbiAgICAgICAgICAgICAgICBhbmNob3IubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmJvZHlDb250YWluZXIgfHwgdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMucGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID09PSAnYm9keSdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2V0enQgZGllIFBvc2l0aW9uIGRlcyBNZW7DvHMgaW5uZXJoYWxiIGRlciBTZWl0ZS4gRGllIEF1c3JpY2h0dW5nIHBhc3NpZXJ0IGlubmVyaGFsYiBkZXIgU2VpdGVcbiAgICAgKiBkYW1pdCBkYXMgTWVuw7wgaW5uZXJoYWxiIGVpbmVzIERpYWxvZ3Mgc2F1YmVyIGZ1bmt0aW9uaW9uaWVydC5cbiAgICAgKiBAcGFyYW0gY29udGFpbmVyIERlZmluaWVydCB3byBkYXMgTWVuw7wgYXVzZ2VyaWNodGV0IHdpcmQuIEltIE1vbWVudCBudXIgQk9EWSBTdXBwb3J0ZWRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9hcHBseUNvbnRhaW5lcihjb250YWluZXI6IG51bGwgfCAnYm9keScgPSBudWxsKSB7XG4gICAgICAgIC8vIFJlc2V0IENsYXNzZXMgb24gQ29udGFpbmVyXG4gICAgICAgIHRoaXMuX3Jlc2V0Q29udGFpbmVyKCk7XG5cbiAgICAgICAgaWYgKGNvbnRhaW5lciA9PT0gJ2JvZHknKSB7XG4gICAgICAgICAgICBjb25zdCByZW5kZXJlciA9IHRoaXMucmVuZGVyZXI7XG4gICAgICAgICAgICBjb25zdCBkcm9wZG93bk1lbnVFbGVtZW50ID0gdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgYm9keUNvbnRhaW5lciA9ICh0aGlzLmJvZHlDb250YWluZXIgPSB0aGlzLmJvZHlDb250YWluZXIgfHwgcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykpO1xuXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBzb21lIHN0eWxlcyB0byBoYXZlIHRoZSBwb3NpdGlvbmluZyB3b3JraW5nXG4gICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShib2R5Q29udGFpbmVyLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICdwb3NpdGlvbicsICdzdGF0aWMnKTtcbiAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGJvZHlDb250YWluZXIsICd6LWluZGV4JywgJzEwNTAnKTtcblxuICAgICAgICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoYm9keUNvbnRhaW5lciwgZHJvcGRvd25NZW51RWxlbWVudCk7XG4gICAgICAgICAgICByZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmRvY3VtZW50LmJvZHksIGJvZHlDb250YWluZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0enQgZGllIENTUyBLbGFzc2VuIGF1ZiBkZW0gTWVuw7wgQ29udGFpbmVyIGF1ZiBkZW4gU3RhbmRhcmQgenVyw7xja1xuICAgICAqL1xuICAgIHByaXZhdGUgX3Jlc2V0Q29udGFpbmVyKCkge1xuICAgICAgICBjb25zdCByZW5kZXJlciA9IHRoaXMucmVuZGVyZXI7XG4gICAgICAgIGlmICh0aGlzLl9tZW51KSB7XG4gICAgICAgICAgICBjb25zdCBkcm9wZG93bkVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duTWVudUVsZW1lbnQgPSB0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGRyb3Bkb3duRWxlbWVudCwgZHJvcGRvd25NZW51RWxlbWVudCk7XG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCAncG9zaXRpb24nKTtcbiAgICAgICAgICAgIHJlbmRlcmVyLnJlbW92ZVN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICd0cmFuc2Zvcm0nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ib2R5Q29udGFpbmVyKSB7XG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmRvY3VtZW50LmJvZHksIHRoaXMuYm9keUNvbnRhaW5lcik7XG4gICAgICAgICAgICB0aGlzLmJvZHlDb250YWluZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdfQ==
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVILFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUd2Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxvQkFBb0I7SUE2RjdCLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7Ozs7T0FPRztJQUNILFlBQ3VDLFFBQWEsRUFDL0IsTUFBYyxFQUNkLFVBQW1DLEVBQ25DLFFBQW1CLEVBQ3BDLFFBQWtCO1FBSmlCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDL0IsV0FBTSxHQUFO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ZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjSWNvblNlcnZpY2UnO1xuaW1wb3J0IHsgU0FDSUNPTl9TRVJWSUNFLCBTYWNEZWZhdWx0SWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVHdWlkIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2d1aWQnO1xuaW1wb3J0IHsgUGxhY2VtZW50QXJyYXksIHBvc2l0aW9uRWxlbWVudHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcG9zaXRpb25lbGVtZW50cyc7XG5pbXBvcnQgeyBJU2FjQ29udGV4dG1lbnVDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnVhbmNob3InO1xuaW1wb3J0IHsgU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudWNvbnRhaW5lcic7XG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUl0ZW1Db21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51aXRlbSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQmFzZSBjb250ZXh0IG1lbnUgZWxlbWVudC4gVGhlIGxvZ2ljIHdhcyB0YWtlbiBmcm9tIE5HLUJPT1RTVFJBUC5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2FjQ29udGV4dG1lbnVDb21tb24gaW1wbGVtZW50cyBJU2FjQ29udGV4dG1lbnVDb21tb24sIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBCdXR0b24gZm9yIG9wZW4vY2xvc2UgZXZlbnRcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uO1xuXG4gICAgLyoqXG4gICAgICogQnV0dG9uIGZvciBvcGVuL2Nsb3NlIGV2ZW50IGZyb20gdGVtcGxhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hbmNob3JUZW1wbGF0ZTogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb247XG5cbiAgICAvKipcbiAgICAgKiBDb250YWluZXIgZWxlbWVudCBmb3IgZHJvcGRvd25cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWVudTogU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uO1xuXG4gICAgLyoqXG4gICAgICogWm9uZSBzdWJzY3JpcHRpb24gZm9yIHBvc2l0aW9uaW5nIHRoZSBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB6b25lU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKipcbiAgICAgKiBCb2R5IEhUTUwgRWxlbWVudFxuICAgICAqL1xuICAgIHByaXZhdGUgYm9keUNvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIGljb24gc2VydmljZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpY29uU2VydmljZTogSVNhY0ljb25TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIEhUTUwgdGVtcGxhdGUgZm9yIGRyb3Bkb3duIGJ1dHRvbi4gQnV0dG9uIG11c3QgY29udGFpbiB0aGUgbWFya2VyIFwibmdDb250ZXh0bWVudUFuY2hvclwiIGZvciB0aGUgY29udHJvbCB0byB3b3JrIGNvcnJlY3RseS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBidXR0b250ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5lciB0byB3aGljaCB0aGUgcG9zaXRpb24gaXMgYWxpZ25lZC4gQ3VycmVudGx5IG9ubHkgYm9keSBpcyBzdXBwb3J0ZWQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udGFpbmVyOiBudWxsIHwgJ2JvZHknID0gJ2JvZHknO1xuXG4gICAgLyoqXG4gICAgICogRXh0cmEgQ1NTIGNsYXNzZXMgZm9yIHRoZSBjb250cm9sXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3NzY2xhc3MgPSAnJztcblxuICAgIC8qKlxuICAgICAqIElkZW50aWZpZXIgdXNlZCBmb3IgdGhlIEUyRSBkYXRhIGF0dHJpYnV0ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlMmVpZGVudGlmaWVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgd2hldGhlciB0aGUgZHJvcGRvd24gaXMgb3Blbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc29wZW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEFsbCBkaXJlY3RseSBhc3NpZ25lZCBjb250ZXh0IG1lbnUgZWxlbWVudHMgdGhhdCBhcmUgZGVmaW5lZCBpbiB0aGUgZGlyZWN0IHRlbXBsYXRlIGZvciB0aGUgY29udGV4dCBtZW51LlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oU2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uKVxuICAgIHB1YmxpYyBtZW51aXRlbXMhOiBRdWVyeUxpc3Q8U2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uPjtcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgY29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmZXJyZWQgcGxhY2VtZW50IG9mIHRoZSBkcm9wZG93bi5cbiAgICAgKlxuICAgICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgYFwidG9wXCJgLCBgXCJ0b3AtbGVmdFwiYCwgYFwidG9wLXJpZ2h0XCJgLCBgXCJib3R0b21cImAsIGBcImJvdHRvbS1sZWZ0XCJgLFxuICAgICAqIGBcImJvdHRvbS1yaWdodFwiYCwgYFwibGVmdFwiYCwgYFwibGVmdC10b3BcImAsIGBcImxlZnQtYm90dG9tXCJgLCBgXCJyaWdodFwiYCwgYFwicmlnaHQtdG9wXCJgLFxuICAgICAqIGBcInJpZ2h0LWJvdHRvbVwiYFxuICAgICAqXG4gICAgICogQWNjZXB0cyBhbiBhcnJheSBvZiBzdHJpbmdzIG9yIGEgc3RyaW5nIHdpdGggc3BhY2Ugc2VwYXJhdGVkIHBvc3NpYmxlIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIFRoZSBkZWZhdWx0IG9yZGVyIG9mIHByZWZlcmVuY2UgaXMgYFwiYm90dG9tLWxlZnQgYm90dG9tLXJpZ2h0IHRvcC1sZWZ0IHRvcC1yaWdodFwiYFxuICAgICAqXG4gICAgICogUGxlYXNlIHNlZSB0aGUgW3Bvc2l0aW9uaW5nIG92ZXJ2aWV3XSgjL3Bvc2l0aW9uaW5nKSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwbGFjZW1lbnQ6IFBsYWNlbWVudEFycmF5ID0gWydib3R0b20tbGVmdCcsICdib3R0b20tcmlnaHQnLCAndG9wLWxlZnQnLCAndG9wLXJpZ2h0J107XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBkb2N1bWVudCBIVE1MIGRvY3VtZW50IGVsZW1lbnRcbiAgICAgKiBAcGFyYW0gbmdab25lIEFuZ3VsYXIgem9uZSBzZXJ2aWNlXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgSFRNTCBlbGVtZW50IG9mIHRoZSBjdXJyZW50IGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gcmVuZGVyZXIgQW5ndWxhciByZW5kZXJpbmcgc2VydmljZVxuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciB0byByZXNvbHZlIHRoZSBpY29uIHNlcnZpY2VcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogYW55LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICB0aGlzLnpvbmVTdWJzY3JpcHRpb24gPSB0aGlzLm5nWm9uZS5vblN0YWJsZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcG9zaXRpb25NZW51KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaWNvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoU0FDSUNPTl9TRVJWSUNFLCBuZXcgU2FjRGVmYXVsdEljb25TZXJ2aWNlKCkpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBJY29uIGZvciBkZWZhdWx0IGNvbnRleHQgbWVudSBidXR0b25cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEljb25Db250ZXh0TWVudSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Db250ZXh0TWVudU9wZW5JY29uO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgZHJvcGRvd25cbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jlc2V0Q29udGFpbmVyKCk7XG4gICAgICAgIHRoaXMuaXNvcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTGlmZWN5Y2xlIGhvb2sgdGhhdCBpcyBjYWxsZWQgYWZ0ZXIgY29udGVudCBwcm9qZWN0aW9uIGlzIGNvbXBsZXRlZC5cbiAgICAgKlxuICAgICAqIEFzc29jaWF0ZXMgZWFjaCBtZW51IGl0ZW0gd2l0aCB0aGlzIGNvbnRleHQgbWVudSBpbnN0YW5jZSBzbyB0aGF0IGl0ZW1cbiAgICAgKiBldmVudHMgY2FuIGRlbGVnYXRlIHRvIHRoZSBwYXJlbnQgbWVudS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVpdGVtcy5mb3JFYWNoKChidXR0b24pID0+IChidXR0b24uY29udGV4dG1lbnUgPSB0aGlzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXZlbnQgd2hlbiBjb21wb25lbnQgaXMgZGVzdHJveWVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnpvbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIb3N0TGlzdGVuZXIgdG8gY2xvc2UgdGhlIGRyb3Bkb3duIHdoZW4gY2xpY2tpbmcgb3V0c2lkZSB0aGUgZWxlbWVudC5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIC8qKlxuICAgICAqIENsaWNrIEV2ZW50XG4gICAgICogQHBhcmFtIHRhcmdldEVsZW1lbnQgVGhlIHRhcmdldCBlbGVtZW50IGZyb20gdGhlIGNsaWNrIGV2ZW50XG4gICAgICovXG4gICAgcHVibGljIG9uQ2xpY2sodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID0gdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuX21lbnUgJiZcbiAgICAgICAgICAgICF0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCkgJiZcbiAgICAgICAgICAgICFhbmNob3IubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIHRoZSBkcm9wZG93biAvIHNob3dzIHRoZSBtZW51LlxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hcHBseUNvbnRhaW5lcih0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgIHRoaXMuaXNvcGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgZHJvcGRvd25cbiAgICAgKi9cbiAgICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc29wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLy8gI3JlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgcG9zaXRpb24gb2YgdGhlIG1lbnUgaW4gdGhlIG1hcmt1cFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfcG9zaXRpb25NZW51KCkge1xuICAgICAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID0gdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xuXG4gICAgICAgIGlmIChhbmNob3IgJiYgdGhpcy5fbWVudSkge1xuICAgICAgICAgICAgcG9zaXRpb25FbGVtZW50cyhcbiAgICAgICAgICAgICAgICBhbmNob3IubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmJvZHlDb250YWluZXIgfHwgdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMucGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID09PSAnYm9keSdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgcG9zaXRpb24gb2YgdGhlIG1lbnUgd2l0aGluIHRoZSBwYWdlLiBUaGUgYWxpZ25tZW50IGhhcHBlbnMgd2l0aGluIHRoZSBwYWdlXG4gICAgICogc28gdGhhdCB0aGUgbWVudSB3b3JrcyBjb3JyZWN0bHkgaW5zaWRlIGEgZGlhbG9nLlxuICAgICAqIEBwYXJhbSBjb250YWluZXIgRGVmaW5lcyB3aGVyZSB0aGUgbWVudSBpcyBhbGlnbmVkLiBDdXJyZW50bHkgb25seSBCT0RZIGlzIHN1cHBvcnRlZFxuICAgICAqL1xuICAgIHByaXZhdGUgX2FwcGx5Q29udGFpbmVyKGNvbnRhaW5lcjogbnVsbCB8ICdib2R5JyA9IG51bGwpIHtcbiAgICAgICAgLy8gUmVzZXQgQ2xhc3NlcyBvbiBDb250YWluZXJcbiAgICAgICAgdGhpcy5fcmVzZXRDb250YWluZXIoKTtcblxuICAgICAgICBpZiAoY29udGFpbmVyID09PSAnYm9keScpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duTWVudUVsZW1lbnQgPSB0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBib2R5Q29udGFpbmVyID0gKHRoaXMuYm9keUNvbnRhaW5lciA9IHRoaXMuYm9keUNvbnRhaW5lciB8fCByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XG5cbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIHNvbWUgc3R5bGVzIHRvIGhhdmUgdGhlIHBvc2l0aW9uaW5nIHdvcmtpbmdcbiAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGJvZHlDb250YWluZXIsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgJ3Bvc2l0aW9uJywgJ3N0YXRpYycpO1xuICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoYm9keUNvbnRhaW5lciwgJ3otaW5kZXgnLCAnMTA1MCcpO1xuXG4gICAgICAgICAgICByZW5kZXJlci5hcHBlbmRDaGlsZChib2R5Q29udGFpbmVyLCBkcm9wZG93bk1lbnVFbGVtZW50KTtcbiAgICAgICAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgYm9keUNvbnRhaW5lcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldHMgdGhlIENTUyBjbGFzc2VzIG9uIHRoZSBtZW51IGNvbnRhaW5lciB0byBkZWZhdWx0XG4gICAgICovXG4gICAgcHJpdmF0ZSBfcmVzZXRDb250YWluZXIoKSB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcbiAgICAgICAgaWYgKHRoaXMuX21lbnUpIHtcbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25NZW51RWxlbWVudCA9IHRoaXMuX21lbnUubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoZHJvcGRvd25FbGVtZW50LCBkcm9wZG93bk1lbnVFbGVtZW50KTtcbiAgICAgICAgICAgIHJlbmRlcmVyLnJlbW92ZVN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICdwb3NpdGlvbicpO1xuICAgICAgICAgICAgcmVuZGVyZXIucmVtb3ZlU3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgJ3RyYW5zZm9ybScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmJvZHlDb250YWluZXIpIHtcbiAgICAgICAgICAgIHJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5ib2R5Q29udGFpbmVyKTtcbiAgICAgICAgICAgIHRoaXMuYm9keUNvbnRhaW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuIl19
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Directive, ElementRef } from '@angular/core';
|
|
2
2
|
/**
|
|
3
|
-
* Base
|
|
3
|
+
* Base context menu anchor component for open/close event
|
|
4
4
|
*/
|
|
5
5
|
export class SacContextmenuAnchorCommon {
|
|
6
6
|
// #endregion Properties
|
|
7
7
|
// #region Constructors
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
* @param elementRef
|
|
9
|
+
* Constructor
|
|
10
|
+
* @param elementRef Reference to the HTML element used as anchor for the context menu
|
|
11
11
|
*/
|
|
12
12
|
constructor(elementRef) {
|
|
13
13
|
this.nativeElement = elementRef.nativeElement;
|
|
@@ -19,4 +19,4 @@ SacContextmenuAnchorCommon.decorators = [
|
|
|
19
19
|
SacContextmenuAnchorCommon.ctorParameters = () => [
|
|
20
20
|
{ type: ElementRef }
|
|
21
21
|
];
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVhbmNob3IuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWFuY2hvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RDs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFRbkMsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7O09BR0c7SUFDSCxZQUFZLFVBQW1DO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDOzs7WUFuQkosU0FBUzs7O1lBTFUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEJhc2UgY29udGV4dCBtZW51IGFuY2hvciBjb21wb25lbnQgZm9yIG9wZW4vY2xvc2UgZXZlbnRcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBuYXRpdmUgSFRNTCBlbGVtZW50XG4gICAgICovXG4gICAgcHVibGljIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiBSZWZlcmVuY2UgdG8gdGhlIEhUTUwgZWxlbWVudCB1c2VkIGFzIGFuY2hvciBmb3IgdGhlIGNvbnRleHQgbWVudVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Directive, ElementRef } from '@angular/core';
|
|
2
2
|
/**
|
|
3
|
-
* Common
|
|
3
|
+
* Common marker class for the menu container
|
|
4
4
|
*/
|
|
5
5
|
export class SacContextMenuContrainerCommon {
|
|
6
6
|
// #endregion Properties
|
|
7
7
|
// #region Constructors
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
* @param elementRef
|
|
9
|
+
* Constructor
|
|
10
|
+
* @param elementRef Reference to the HTML element with the marker directive
|
|
11
11
|
*/
|
|
12
12
|
constructor(elementRef) {
|
|
13
13
|
this.nativeElement = elementRef.nativeElement;
|
|
@@ -19,4 +19,4 @@ SacContextMenuContrainerCommon.decorators = [
|
|
|
19
19
|
SacContextMenuContrainerCommon.ctorParameters = () => [
|
|
20
20
|
{ type: ElementRef }
|
|
21
21
|
];
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVjb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RDs7R0FFRztBQUVILE1BQU0sT0FBTyw4QkFBOEI7SUFRdkMsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7O09BR0c7SUFDSCxZQUFZLFVBQW1DO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDOzs7WUFuQkosU0FBUzs7O1lBTFUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIENvbW1vbiBtYXJrZXIgY2xhc3MgZm9yIHRoZSBtZW51IGNvbnRhaW5lclxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBIVE1MIGVsZW1lbnQgb2YgdGhlIG1lbnUgY29udGFpbmVyXG4gICAgICovXG4gICAgcHVibGljIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiBSZWZlcmVuY2UgdG8gdGhlIEhUTUwgZWxlbWVudCB3aXRoIHRoZSBtYXJrZXIgZGlyZWN0aXZlXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iXX0=
|
|
@@ -13,15 +13,15 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
|
|
|
13
13
|
super();
|
|
14
14
|
// #region Properties
|
|
15
15
|
/**
|
|
16
|
-
* Menu
|
|
16
|
+
* Menu item is disabled
|
|
17
17
|
*/
|
|
18
18
|
this._isdisabled = false;
|
|
19
19
|
/**
|
|
20
|
-
* Icon
|
|
20
|
+
* Icon column in menu is disabled
|
|
21
21
|
*/
|
|
22
22
|
this._isicondisabled = false;
|
|
23
23
|
/**
|
|
24
|
-
* Event
|
|
24
|
+
* Event when the button is clicked
|
|
25
25
|
*/
|
|
26
26
|
this.clicked = new EventEmitter();
|
|
27
27
|
/**
|
|
@@ -29,7 +29,7 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
|
|
|
29
29
|
*/
|
|
30
30
|
this.cssclass = '';
|
|
31
31
|
/**
|
|
32
|
-
* Input
|
|
32
|
+
* Input property for button styling. Defines the CSS classes of the button
|
|
33
33
|
*/
|
|
34
34
|
this.iconstyle = '';
|
|
35
35
|
/**
|
|
@@ -40,13 +40,13 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
|
|
|
40
40
|
// #endregion Constructors
|
|
41
41
|
// #region Public Getters And Setters
|
|
42
42
|
/**
|
|
43
|
-
* Menu
|
|
43
|
+
* Menu item is disabled
|
|
44
44
|
*/
|
|
45
45
|
get isdisabled() {
|
|
46
46
|
return this._isdisabled;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
|
-
* Menu
|
|
49
|
+
* Menu item is disabled
|
|
50
50
|
*/
|
|
51
51
|
set isdisabled(v) {
|
|
52
52
|
if (v === null || v === undefined || typeof v === 'boolean') {
|
|
@@ -57,13 +57,13 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
60
|
-
* Icon
|
|
60
|
+
* Icon column in menu is disabled
|
|
61
61
|
*/
|
|
62
62
|
get isicondisabled() {
|
|
63
63
|
return this._isicondisabled;
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
|
-
* Icon
|
|
66
|
+
* Icon column in menu is disabled
|
|
67
67
|
*/
|
|
68
68
|
set isicondisabled(v) {
|
|
69
69
|
if (v === null || v === undefined || typeof v === 'boolean') {
|
|
@@ -76,7 +76,7 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
|
|
|
76
76
|
// #endregion Public Getters And Setters
|
|
77
77
|
// #region Public Methods
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
79
|
+
* This method will trigger the click action emitter
|
|
80
80
|
*/
|
|
81
81
|
callaction(event) {
|
|
82
82
|
if (!this._isdisabled) {
|
|
@@ -103,4 +103,4 @@ SacContextmenuItemButtonCommon.propDecorators = {
|
|
|
103
103
|
isdisabled: [{ type: Input }],
|
|
104
104
|
isicondisabled: [{ type: Input }]
|
|
105
105
|
};
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVpdGVtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsd0JBQXdCO0lBdUR4RSx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOztPQUVHO0lBQ0g7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQTlEWixxQkFBcUI7UUFFckI7O1dBRUc7UUFDTyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU5Qjs7V0FFRztRQUNPLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRWxDOztXQUVHO1FBRUksWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTlEOztXQUVHO1FBRUksYUFBUSxHQUFHLEVBQUUsQ0FBQztRQVFyQjs7V0FFRztRQUVJLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFRdEI7O1dBRUc7UUFFSSxTQUFJLEdBQUcsRUFBRSxDQUFDO0lBaUJqQixDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHFDQUFxQztJQUVyQzs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxVQUFVLENBQUMsQ0FBbUI7UUFDckMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBWSxDQUFDO1NBQ25DO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBSyxNQUFNLENBQUM7U0FDbkM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csY0FBYyxDQUFDLENBQW1CO1FBQ3pDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQVksQ0FBQztTQUN2QzthQUFNO1lBQ0gsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEtBQUssTUFBTSxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVELHdDQUF3QztJQUV4Qyx5QkFBeUI7SUFFekI7O09BRUc7SUFDSSxVQUFVLENBQUMsS0FBaUI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUVwQixJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO2dCQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzVCO1NBQ0o7UUFDRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7O1lBN0hKLFNBQVM7Ozs7c0JBaUJMLE1BQU07dUJBTU4sS0FBSzttQkFNTCxLQUFLO3dCQU1MLEtBQUs7b0JBTUwsS0FBSzttQkFNTCxLQUFLO21CQU1MLEtBQUs7eUJBNEJMLEtBQUs7NkJBbUJMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNDb250ZXh0bWVudUl0ZW1Db21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51aXRlbSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEJhc2UgQ29udGV4dCBNZW51IEJ1dHRvbiBJdGVtXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbW1vbiBleHRlbmRzIFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBNZW51IGl0ZW0gaXMgZGlzYWJsZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2lzZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEljb24gY29sdW1uIGluIG1lbnUgaXMgZGlzYWJsZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2lzaWNvbmRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBjc3MgY2xhc3MgZm9yIGJ1dHRvbiBzdHlsaW5nXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3NzY2xhc3MgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEljb24gZm9yIG1lbnVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpY29uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBJbnB1dCBwcm9wZXJ0eSBmb3IgYnV0dG9uIHN0eWxpbmcuIERlZmluZXMgdGhlIENTUyBjbGFzc2VzIG9mIHRoZSBidXR0b25cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpY29uc3R5bGUgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEltYWdlIGZvciBtZW51LiBSZXF1aXJlZCBpZiB0aGUgaWNvbiBmb3IgdGhlIGJ1dHRvbiBpcyBhIGZpbGUgYW5kIG5vdCBhbiBpY29uIGZvbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaW1hZ2U6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgYnV0dG9uLiB1c2VkIGZvciBnZW5lcmF0ZSBpZCBhbmQgbmFtZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWUgPSAnJztcblxuICAgIC8qKlxuICAgICAqIFRleHQgZm9yIG1lbnUgaXRlbS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBNZW51IGl0ZW0gaXMgZGlzYWJsZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGlzZGlzYWJsZWQoKTogYm9vbGVhbiB8IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc2Rpc2FibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1lbnUgaXRlbSBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBpc2Rpc2FibGVkKHY6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHYgPT09IG51bGwgfHwgdiA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB2ID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzZGlzYWJsZWQgPSB2IGFzIGJvb2xlYW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pc2Rpc2FibGVkID0gdiA9PT0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWNvbiBjb2x1bW4gaW4gbWVudSBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaXNpY29uZGlzYWJsZWQoKTogYm9vbGVhbiB8IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc2ljb25kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJY29uIGNvbHVtbiBpbiBtZW51IGlzIGRpc2FibGVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlzaWNvbmRpc2FibGVkKHY6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHYgPT09IG51bGwgfHwgdiA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB2ID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzaWNvbmRpc2FibGVkID0gdiBhcyBib29sZWFuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faXNpY29uZGlzYWJsZWQgPSB2ID09PSAndHJ1ZSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCB3aWxsIHRyaWdnZXIgdGhlIGNsaWNrIGFjdGlvbiBlbWl0dGVyXG4gICAgICovXG4gICAgcHVibGljIGNhbGxhY3Rpb24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pc2Rpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrZWQuZW1pdCgpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZXh0bWVudSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dG1lbnUuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG4iXX0=
|
|
@@ -5,7 +5,7 @@ import { ChangeDetectorRef, Directive, ElementRef, HostListener, Injector, Input
|
|
|
5
5
|
import * as IMask from 'imask';
|
|
6
6
|
import * as moment_ from 'moment';
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Component for SacDateCommon. Extends SacBaseDateTimeControl
|
|
9
9
|
*/
|
|
10
10
|
export class SacDateCommon extends SacBaseDateTimeControl {
|
|
11
11
|
// #endregion Properties
|
|
@@ -15,18 +15,18 @@ export class SacDateCommon extends SacBaseDateTimeControl {
|
|
|
15
15
|
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
16
16
|
* @param injector Injector for injecting services
|
|
17
17
|
* @param elementRef reference to html element
|
|
18
|
-
* @param cdRef
|
|
18
|
+
* @param cdRef Change Detection Service
|
|
19
19
|
*/
|
|
20
20
|
constructor(formlayout, injector, elementRef, cdRef) {
|
|
21
21
|
super(formlayout, injector, elementRef, cdRef);
|
|
22
22
|
this.elementRef = elementRef;
|
|
23
23
|
// #region Properties
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
25
|
+
* Date format
|
|
26
26
|
*/
|
|
27
27
|
this.DATEFORMAT = 'DD.MM.YYYY';
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Mask
|
|
30
30
|
*/
|
|
31
31
|
this.imaskDate = {
|
|
32
32
|
mask: this.DATEFORMAT,
|
|
@@ -67,19 +67,19 @@ export class SacDateCommon extends SacBaseDateTimeControl {
|
|
|
67
67
|
*/
|
|
68
68
|
this.moment = moment_['default'];
|
|
69
69
|
/**
|
|
70
|
-
* Resource
|
|
70
|
+
* Resource key for validation message MaxDate at control
|
|
71
71
|
*/
|
|
72
72
|
this.validationmessagemaxdate = this.validationKeyService.ValidationErrorMaxDate;
|
|
73
73
|
/**
|
|
74
|
-
* Resource
|
|
74
|
+
* Resource key for validation message MinDate at control
|
|
75
75
|
*/
|
|
76
76
|
this.validationmessagemindate = this.validationKeyService.ValidationErrorMinDate;
|
|
77
77
|
/**
|
|
78
|
-
* Resource
|
|
78
|
+
* Resource key for validation message MaxDate in validation summary
|
|
79
79
|
*/
|
|
80
80
|
this.validationmessagesummarymaxdate = this.validationKeyService.ValidationErrorSummaryMaxDate;
|
|
81
81
|
/**
|
|
82
|
-
* Resource
|
|
82
|
+
* Resource key for validation message MinDate in validation summary
|
|
83
83
|
*/
|
|
84
84
|
this.validationmessagesummarymindate = this.validationKeyService.ValidationErrorSummaryMinDate;
|
|
85
85
|
}
|
|
@@ -118,13 +118,13 @@ export class SacDateCommon extends SacBaseDateTimeControl {
|
|
|
118
118
|
// #endregion Public Getters And Setters
|
|
119
119
|
// #region Public Methods
|
|
120
120
|
/**
|
|
121
|
-
*
|
|
121
|
+
* Method returns date format from string
|
|
122
122
|
*/
|
|
123
123
|
GetDateTimeFormatString() {
|
|
124
124
|
return this.DATEFORMAT;
|
|
125
125
|
}
|
|
126
126
|
/**
|
|
127
|
-
*
|
|
127
|
+
* Method returns date - moment
|
|
128
128
|
*/
|
|
129
129
|
ModifyParsedDateTimeValue(v) {
|
|
130
130
|
return v;
|
|
@@ -155,10 +155,10 @@ export class SacDateCommon extends SacBaseDateTimeControl {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
/**
|
|
158
|
-
*
|
|
158
|
+
* Shows date selector
|
|
159
159
|
*/
|
|
160
160
|
showDateSelector() {
|
|
161
|
-
//
|
|
161
|
+
// Trigger a touch event
|
|
162
162
|
this.onTouch();
|
|
163
163
|
if (this._showselector) {
|
|
164
164
|
this._showselector = false;
|
|
@@ -210,4 +210,4 @@ SacDateCommon.propDecorators = {
|
|
|
210
210
|
mindate: [{ type: Input }],
|
|
211
211
|
onClick: [{ type: HostListener, args: ['document:click', ['$event.target'],] }]
|
|
212
212
|
};
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RhdGV0aW1lL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhHLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBRWxDOztHQUVHO0FBRUgsTUFBTSxPQUFnQixhQUFjLFNBQVEsc0JBQXNCO0lBeUU5RCx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ0ksVUFBK0IsRUFDL0IsUUFBa0IsRUFDUixVQUFzQixFQUNoQyxLQUF3QjtRQUV4QixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFIckMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXRGcEMscUJBQXFCO1FBRXJCOztXQUVHO1FBQ2EsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUVsRDs7V0FFRztRQUNhLGNBQVMsR0FBRztZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDckIsTUFBTSxFQUFFO2dCQUNKLEVBQUUsRUFBRTtvQkFDQSxJQUFJLEVBQUUs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QUNkLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUztZQUMzQixJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFDeEI7WUFDRSxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FDdEIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsd0JBQXdCLEVBQzdCLElBQUksQ0FBQywrQkFBK0IsQ0FDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNSO1FBRUQsSUFDSSxLQUFLLEtBQUssSUFBSTtZQUNkLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSTtZQUNoQixDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDckIsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO1lBQzNCLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUN4QjtZQUNFLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUN0QixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyx3QkFBd0IsRUFDN0IsSUFBSSxDQUFDLCtCQUErQixDQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ1I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzs7WUE1T0osU0FBUzs7O1lBVEQsbUJBQW1CO1lBQ3FDLFFBQVE7WUFBbEMsVUFBVTtZQUF4QyxpQkFBaUI7Ozt1Q0FpRXJCLEtBQUs7dUNBS0wsS0FBSzs4Q0FLTCxLQUFLOzhDQUtMLEtBQUs7c0JBb0NMLEtBQUs7c0JBY0wsS0FBSztzQkE2Q0wsWUFBWSxTQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjQmFzZURhdGVUaW1lQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlZGF0ZXRpbWVjb250cm9sJztcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0ICogYXMgSU1hc2sgZnJvbSAnaW1hc2snO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuXG4vKipcbiAqIEtvbXBvbmVudGUgZsO8ciBTYWNEYXRlQ29tbW9uLiBFeHRlbmRzIFNhY0Jhc2VEYXRlVGltZUNvbnRyb2xcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjRGF0ZUNvbW1vbiBleHRlbmRzIFNhY0Jhc2VEYXRlVGltZUNvbnRyb2wge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogRm9ybWF0IGRlcyBEYXR1bXNcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgREFURUZPUk1BVDogc3RyaW5nID0gJ0RELk1NLllZWVknO1xuXG4gICAgLyoqXG4gICAgICogTWFza2VcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaW1hc2tEYXRlID0ge1xuICAgICAgICBtYXNrOiB0aGlzLkRBVEVGT1JNQVQsXG4gICAgICAgIGJsb2Nrczoge1xuICAgICAgICAgICAgREQ6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxLFxuICAgICAgICAgICAgICAgIHRvOiAzMSxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgTU06IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxLFxuICAgICAgICAgICAgICAgIHRvOiAxMixcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWVlZWToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDEsXG4gICAgICAgICAgICAgICAgdG86IDk5OTksXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwbGFjZWhvbGRlckNoYXI6ICdfJyxcbiAgICAgICAgYXV0b2ZpeDogdHJ1ZSxcbiAgICAgICAgbGF6eTogZmFsc2UsXG4gICAgICAgIG92ZXJ3cml0ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogTWluIERhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgX21heGRhdGU6IERhdGUgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogTWluIERhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgX21pbmRhdGU6IERhdGUgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogTW9tZW50IEpTIG1vZHVsZSBpbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyBtb21lbnQgPSBtb21lbnRfWydkZWZhdWx0J107XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgTWF4RGF0ZSBiZWkgQ29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZW1heGRhdGU6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWF4RGF0ZTtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBNaW5EYXRlIGJlaSBDb250cm9sXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlbWluZGF0ZTogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JNaW5EYXRlO1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIE1heERhdGUgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeW1heGRhdGU6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1heERhdGU7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgTWluRGF0ZSBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5bWluZGF0ZTogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWluRGF0ZTtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGZvcm1sYXlvdXQgU2FjRm9ybUxheW91dENvbW1vbiB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgcmVmZXJlbmNlIHRvIGh0bWwgZWxlbWVudFxuICAgICAqIEBwYXJhbSBjZFJlZiAgQ2hhbmdlIERlY3RlY3Rpb24gU2VydmllXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihmb3JtbGF5b3V0LCBpbmplY3RvciwgZWxlbWVudFJlZiwgY2RSZWYpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBpY29uIGZvciBkYXRlIHNlbGVjdG9yIGJ1dHRvblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgSWNvblNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkRhdGVDb21wb25lbnRTZWxlY3Rvckljb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWluIERhdGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgbWF4ZGF0ZSh2OiBzdHJpbmcgfCBEYXRlIHwgbnVsbCkge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5tb21lbnQodiwgW3RoaXMuREFURUZPUk1BVF0sIHRydWUpO1xuXG4gICAgICAgIGlmIChkYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgdGhpcy5fbWF4ZGF0ZSA9IHN1cGVyLmdldERhdGUoZGF0ZSkudG9EYXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9tYXhkYXRlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1pbiBEYXRlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IG1pbmRhdGUodjogc3RyaW5nIHwgRGF0ZSB8IG51bGwpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMubW9tZW50KHYsIFt0aGlzLkRBVEVGT1JNQVRdLCB0cnVlKTtcblxuICAgICAgICBpZiAoZGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX21pbmRhdGUgPSBzdXBlci5nZXREYXRlKGRhdGUpLnRvRGF0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbWluZGF0ZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBNZXRob2RlIGVyZ2lidCBEYXR1bS1Gb3JtYXQgdm9tIFN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBHZXREYXRlVGltZUZvcm1hdFN0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5EQVRFRk9STUFUO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZGUgZXJnaWJ0IERhdHVtIC0gTW9tZW50XG4gICAgICovXG4gICAgcHVibGljIE1vZGlmeVBhcnNlZERhdGVUaW1lVmFsdWUodjogbW9tZW50Xy5Nb21lbnQpOiBtb21lbnRfLk1vbWVudCB7XG4gICAgICAgIHJldHVybiB2O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERhdGUgU2VsZWN0b3JcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0ZXNlbGVjdCh2OiBhbnkpIHtcbiAgICAgICAgaWYgKHYuZGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZVN0cmluZygnJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tb21lbnQodi5kYXRlKS51dGMoKS50b0RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3Nob3dzZWxlY3RvciA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhvc3RMaXN0ZW5lclxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgLyoqXG4gICAgICogQ2xpY2sgRXZlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgb25DbGljayh0YXJnZXRFbGVtZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5waWNrZXJjb250YWluZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGVDb250YWluZXIgPSB0aGlzLnBpY2tlcmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpO1xuICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlUmVmZXJlbmNlID0gdGhpcy5waWNrZXJidXR0b24ubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlQ29udGFpbmVyICYmICFjbGlja2VkSW5zaWRlUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICB0aGlzLl9zaG93c2VsZWN0b3IgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFplaWd0IERhdGUgU2VsZWN0b3IgYW5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd0RhdGVTZWxlY3RvcigpOiB2b2lkIHtcbiAgICAgICAgLy8gVG91Y2ggRXZlbnQgYXVzbMO2c2VuXG4gICAgICAgIHRoaXMub25Ub3VjaCgpO1xuXG4gICAgICAgIGlmICh0aGlzLl9zaG93c2VsZWN0b3IpIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dzZWxlY3RvciA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2hvd3NlbGVjdG9yID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvclxuICAgICAqL1xuICAgIHB1YmxpYyB2YWxpZGF0ZURhdGEoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgICAgICBsZXQgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcblxuICAgICAgICBlcnJvciA9IHN1cGVyLnZhbGlkYXRlRGF0YShjKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBlcnJvciA9PT0gbnVsbCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBjLnZhbHVlICE9PSAnJyAmJlxuICAgICAgICAgICAgdGhpcy5fbWluZGF0ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICB0aGlzLl9taW5kYXRlICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm1pbkRhdGUoXG4gICAgICAgICAgICAgICAgdGhpcy5fbWluZGF0ZSxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlbWluZGF0ZSxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeW1pbmRhdGVcbiAgICAgICAgICAgICkoYyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBlcnJvciA9PT0gbnVsbCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBjLnZhbHVlICE9PSAnJyAmJlxuICAgICAgICAgICAgdGhpcy5fbWF4ZGF0ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICB0aGlzLl9tYXhkYXRlICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm1heERhdGUoXG4gICAgICAgICAgICAgICAgdGhpcy5fbWF4ZGF0ZSxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlbWF4ZGF0ZSxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeW1heGRhdGVcbiAgICAgICAgICAgICkoYyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xufVxuIl19
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RhdGV0aW1lL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhHLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBRWxDOztHQUVHO0FBRUgsTUFBTSxPQUFnQixhQUFjLFNBQVEsc0JBQXNCO0lBeUU5RCx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ0ksVUFBK0IsRUFDL0IsUUFBa0IsRUFDUixVQUFzQixFQUNoQyxLQUF3QjtRQUV4QixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFIckMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXRGcEMscUJBQXFCO1FBRXJCOztXQUVHO1FBQ2EsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUVsRDs7V0FFRztRQUNhLGNBQVMsR0FBRztZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDckIsTUFBTSxFQUFFO2dCQUNKLEVBQUUsRUFBRTtvQkFDQSxJQUFJLEVBQUUs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QUNkLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUztZQUMzQixJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFDeEI7WUFDRSxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FDdEIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsd0JBQXdCLEVBQzdCLElBQUksQ0FBQywrQkFBK0IsQ0FDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNSO1FBRUQsSUFDSSxLQUFLLEtBQUssSUFBSTtZQUNkLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSTtZQUNoQixDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDckIsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO1lBQzNCLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUN4QjtZQUNFLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUN0QixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyx3QkFBd0IsRUFDN0IsSUFBSSxDQUFDLCtCQUErQixDQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ1I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzs7WUE3T0osU0FBUzs7O1lBVEQsbUJBQW1CO1lBQ3FDLFFBQVE7WUFBbEMsVUFBVTtZQUF4QyxpQkFBaUI7Ozt1Q0FpRXJCLEtBQUs7dUNBS0wsS0FBSzs4Q0FLTCxLQUFLOzhDQUtMLEtBQUs7c0JBb0NMLEtBQUs7c0JBY0wsS0FBSztzQkE2Q0wsWUFBWSxTQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjQmFzZURhdGVUaW1lQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlZGF0ZXRpbWVjb250cm9sJztcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0ICogYXMgSU1hc2sgZnJvbSAnaW1hc2snO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgU2FjRGF0ZUNvbW1vbi4gRXh0ZW5kcyBTYWNCYXNlRGF0ZVRpbWVDb250cm9sXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY0RhdGVDb21tb24gZXh0ZW5kcyBTYWNCYXNlRGF0ZVRpbWVDb250cm9sIHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIERhdGUgZm9ybWF0XG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IERBVEVGT1JNQVQ6IHN0cmluZyA9ICdERC5NTS5ZWVlZJztcblxuICAgIC8qKlxuICAgICAqIE1hc2tcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaW1hc2tEYXRlID0ge1xuICAgICAgICBtYXNrOiB0aGlzLkRBVEVGT1JNQVQsXG4gICAgICAgIGJsb2Nrczoge1xuICAgICAgICAgICAgREQ6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxLFxuICAgICAgICAgICAgICAgIHRvOiAzMSxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgTU06IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxLFxuICAgICAgICAgICAgICAgIHRvOiAxMixcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWVlZWToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDEsXG4gICAgICAgICAgICAgICAgdG86IDk5OTksXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwbGFjZWhvbGRlckNoYXI6ICdfJyxcbiAgICAgICAgYXV0b2ZpeDogdHJ1ZSxcbiAgICAgICAgbGF6eTogZmFsc2UsXG4gICAgICAgIG92ZXJ3cml0ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogTWluIERhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgX21heGRhdGU6IERhdGUgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogTWluIERhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgX21pbmRhdGU6IERhdGUgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogTW9tZW50IEpTIG1vZHVsZSBpbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyBtb21lbnQgPSBtb21lbnRfWydkZWZhdWx0J107XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBrZXkgZm9yIHZhbGlkYXRpb24gbWVzc2FnZSBNYXhEYXRlIGF0IGNvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VtYXhkYXRlOiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1heERhdGU7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBrZXkgZm9yIHZhbGlkYXRpb24gbWVzc2FnZSBNaW5EYXRlIGF0IGNvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VtaW5kYXRlOiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1pbkRhdGU7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBrZXkgZm9yIHZhbGlkYXRpb24gbWVzc2FnZSBNYXhEYXRlIGluIHZhbGlkYXRpb24gc3VtbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnltYXhkYXRlOiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNYXhEYXRlO1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2Uga2V5IGZvciB2YWxpZGF0aW9uIG1lc3NhZ2UgTWluRGF0ZSBpbiB2YWxpZGF0aW9uIHN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5bWluZGF0ZTogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWluRGF0ZTtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGZvcm1sYXlvdXQgU2FjRm9ybUxheW91dENvbW1vbiB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgcmVmZXJlbmNlIHRvIGh0bWwgZWxlbWVudFxuICAgICAqIEBwYXJhbSBjZFJlZiBDaGFuZ2UgRGV0ZWN0aW9uIFNlcnZpY2VcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZm9ybWxheW91dDogU2FjRm9ybUxheW91dENvbW1vbixcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1sYXlvdXQsIGluamVjdG9yLCBlbGVtZW50UmVmLCBjZFJlZik7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8qKlxuICAgICAqIGljb24gZm9yIGRhdGUgc2VsZWN0b3IgYnV0dG9uXG4gICAgICovXG4gICAgcHVibGljIGdldCBJY29uU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuRGF0ZUNvbXBvbmVudFNlbGVjdG9ySWNvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNaW4gRGF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBtYXhkYXRlKHY6IHN0cmluZyB8IERhdGUgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLm1vbWVudCh2LCBbdGhpcy5EQVRFRk9STUFUXSwgdHJ1ZSk7XG5cbiAgICAgICAgaWYgKGRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9tYXhkYXRlID0gc3VwZXIuZ2V0RGF0ZShkYXRlKS50b0RhdGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX21heGRhdGUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWluIERhdGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgbWluZGF0ZSh2OiBzdHJpbmcgfCBEYXRlIHwgbnVsbCkge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5tb21lbnQodiwgW3RoaXMuREFURUZPUk1BVF0sIHRydWUpO1xuXG4gICAgICAgIGlmIChkYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgdGhpcy5fbWluZGF0ZSA9IHN1cGVyLmdldERhdGUoZGF0ZSkudG9EYXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9taW5kYXRlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCByZXR1cm5zIGRhdGUgZm9ybWF0IGZyb20gc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIEdldERhdGVUaW1lRm9ybWF0U3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLkRBVEVGT1JNQVQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIHJldHVybnMgZGF0ZSAtIG1vbWVudFxuICAgICAqL1xuICAgIHB1YmxpYyBNb2RpZnlQYXJzZWREYXRlVGltZVZhbHVlKHY6IG1vbWVudF8uTW9tZW50KTogbW9tZW50Xy5Nb21lbnQge1xuICAgICAgICByZXR1cm4gdjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEYXRlIFNlbGVjdG9yXG4gICAgICovXG4gICAgcHVibGljIGRhdGVzZWxlY3QodjogYW55KSB7XG4gICAgICAgIGlmICh2LmRhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVTdHJpbmcoJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubW9tZW50KHYuZGF0ZSkudXRjKCkudG9EYXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zaG93c2VsZWN0b3IgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIb3N0TGlzdGVuZXJcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIC8qKlxuICAgICAqIENsaWNrIEV2ZW50XG4gICAgICogQHBhcmFtIHRhcmdldEVsZW1lbnQgVGhlIHRhcmdldCBlbGVtZW50IGZyb20gdGhlIGNsaWNrIGV2ZW50XG4gICAgICovXG4gICAgcHVibGljIG9uQ2xpY2sodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICBpZiAoIXRoaXMucGlja2VyY29udGFpbmVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlQ29udGFpbmVyID0gdGhpcy5waWNrZXJjb250YWluZXIubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgY29uc3QgY2xpY2tlZEluc2lkZVJlZmVyZW5jZSA9IHRoaXMucGlja2VyYnV0dG9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XG4gICAgICAgIGlmICghY2xpY2tlZEluc2lkZUNvbnRhaW5lciAmJiAhY2xpY2tlZEluc2lkZVJlZmVyZW5jZSkge1xuICAgICAgICAgICAgdGhpcy5fc2hvd3NlbGVjdG9yID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93cyBkYXRlIHNlbGVjdG9yXG4gICAgICovXG4gICAgcHVibGljIHNob3dEYXRlU2VsZWN0b3IoKTogdm9pZCB7XG4gICAgICAgIC8vIFRyaWdnZXIgYSB0b3VjaCBldmVudFxuICAgICAgICB0aGlzLm9uVG91Y2goKTtcblxuICAgICAgICBpZiAodGhpcy5fc2hvd3NlbGVjdG9yKSB7XG4gICAgICAgICAgICB0aGlzLl9zaG93c2VsZWN0b3IgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dzZWxlY3RvciA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3JcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgZXJyb3IgPSBzdXBlci52YWxpZGF0ZURhdGEoYyk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXJyb3IgPT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgIHRoaXMuX21pbmRhdGUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgdGhpcy5fbWluZGF0ZSAhPT0gbnVsbFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5taW5EYXRlKFxuICAgICAgICAgICAgICAgIHRoaXMuX21pbmRhdGUsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZW1pbmRhdGUsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnltaW5kYXRlXG4gICAgICAgICAgICApKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXJyb3IgPT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgIHRoaXMuX21heGRhdGUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgdGhpcy5fbWF4ZGF0ZSAhPT0gbnVsbFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5tYXhEYXRlKFxuICAgICAgICAgICAgICAgIHRoaXMuX21heGRhdGUsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZW1heGRhdGUsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnltYXhkYXRlXG4gICAgICAgICAgICApKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcbn1cbiJdfQ==
|