@simpleangularcontrols/sac-common 13.0.0-rc.5 → 16.0.0-rc.2
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/common/basedatetimecontrol.d.ts +86 -86
- package/common/basedatetimecontrol.d.ts.map +1 -1
- package/common/baseinputcontrol.d.ts +45 -45
- package/common/baseinputcontrol.d.ts.map +1 -1
- package/common/baselistcontrol.d.ts +46 -46
- package/common/basemodelcontrol.d.ts +200 -251
- package/common/basemodelcontrol.d.ts.map +1 -1
- package/common/baseselectcontrol.d.ts +17 -17
- package/common/baseuploadcontrol.d.ts +287 -287
- package/common/baseuploadcontrol.d.ts.map +1 -1
- package/components/browser/browser.d.ts +265 -270
- package/components/browser/browser.d.ts.map +1 -1
- package/components/browser/models/browserfile.d.ts +17 -17
- package/components/browser/models/browserfiledeleterequest.d.ts +18 -18
- package/components/browser/models/browserfilerenamerequest.d.ts +22 -22
- package/components/browser/models/browserfileresponse.d.ts +10 -10
- package/components/browser/models/browserfilesaverequest.d.ts +22 -22
- package/components/browser/models/browsernode.d.ts +34 -34
- package/components/browser/models/browsernodedeleterequest.d.ts +14 -14
- package/components/browser/models/browsernodenewrequest.d.ts +18 -18
- package/components/browser/models/browsernoderenamerequest.d.ts +18 -18
- package/components/browser/models/browsernoderequest.d.ts +18 -18
- package/components/browser/models/browsernoderesponse.d.ts +10 -10
- package/controls/buttons/button.d.ts +72 -73
- package/controls/buttons/button.d.ts.map +1 -1
- package/controls/checkbox/checkbox.d.ts +22 -26
- package/controls/checkbox/checkbox.d.ts.map +1 -1
- package/controls/checkbox/radiobutton.d.ts +73 -82
- package/controls/checkbox/radiobutton.d.ts.map +1 -1
- package/controls/checkbox/radiobuttons.d.ts +62 -63
- package/controls/checkbox/radiobuttons.d.ts.map +1 -1
- package/controls/confirm/confirm.button.d.ts +19 -25
- package/controls/confirm/confirm.button.d.ts.map +1 -1
- package/controls/confirm/confirm.d.ts +52 -52
- package/controls/confirm/confirm.service.d.ts +58 -63
- package/controls/confirm/confirm.service.d.ts.map +1 -1
- package/controls/contextmenu/contextmenu.d.ts +116 -116
- package/controls/contextmenu/contextmenu.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuanchor.d.ts +18 -18
- package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
- package/controls/contextmenu/contextmenucontainer.d.ts +18 -18
- package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuitem.d.ts +8 -8
- package/controls/contextmenu/contextmenuitembutton.d.ts +69 -69
- package/controls/datetime/date.d.ts +123 -123
- package/controls/datetime/date.d.ts.map +1 -1
- package/controls/datetime/dateselector.d.ts +164 -164
- package/controls/datetime/datetime.d.ts +138 -138
- package/controls/datetime/datetime.d.ts.map +1 -1
- package/controls/datetime/time.d.ts +118 -118
- package/controls/datetime/time.d.ts.map +1 -1
- package/controls/dialog/dialog.d.ts +108 -108
- package/controls/form/form.d.ts +86 -50
- package/controls/form/form.d.ts.map +1 -1
- package/controls/grid/grid.d.ts +125 -128
- package/controls/grid/grid.d.ts.map +1 -1
- package/controls/grid/gridbutton.d.ts +36 -36
- package/controls/grid/gridcolumn.d.ts +31 -31
- package/controls/grid/gridcolumnaction.d.ts +18 -18
- package/controls/grid/gridcolumnbase.d.ts +89 -89
- package/controls/grid/gridimage.d.ts +12 -12
- package/controls/grid/model.d.ts +83 -83
- package/controls/grid/paging.d.ts +147 -150
- package/controls/grid/paging.d.ts.map +1 -1
- package/controls/input/input.d.ts +38 -38
- package/controls/input/input.d.ts.map +1 -1
- package/controls/input/inputarea.d.ts +29 -29
- package/controls/input/inputcurrency.d.ts +9 -9
- package/controls/input/inputdecimal.d.ts +62 -62
- package/controls/input/inputdecimal.d.ts.map +1 -1
- package/controls/input/inputemail.d.ts +22 -22
- package/controls/input/inputemail.d.ts.map +1 -1
- package/controls/input/inputinteger.d.ts +62 -62
- package/controls/input/inputinteger.d.ts.map +1 -1
- package/controls/input/inputpassword.d.ts +26 -26
- package/controls/input/inputpassword.d.ts.map +1 -1
- package/controls/input/inputsearch.d.ts +26 -26
- package/controls/list/dropdown.d.ts +143 -143
- package/controls/list/dropdown.d.ts.map +1 -1
- package/controls/list/listbox.d.ts +91 -91
- package/controls/list/listbox.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinput.d.ts +104 -105
- package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinputarea.d.ts +109 -110
- package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
- package/controls/static/formcontainer.d.ts +34 -34
- package/controls/static/staticlabel.d.ts +21 -21
- package/controls/tabs/tab.d.ts +48 -48
- package/controls/tabs/tabitem.d.ts +33 -33
- package/controls/tinymce/tinymce.d.ts +152 -152
- package/controls/tinymce/tinymce.d.ts.map +1 -1
- package/controls/tinymce/tinymcedialogsettings.d.ts +27 -27
- package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +9 -9
- package/controls/tinymce/tinymceinstance.d.ts +10 -10
- package/controls/tooltip/tooltip.d.ts +141 -141
- package/controls/treeview/ngtreeitemaction.d.ts +43 -43
- package/controls/treeview/treeview.d.ts +188 -188
- package/controls/treeview/treeviewchild.d.ts +15 -15
- package/controls/upload/dropzonemultiple.d.ts +73 -73
- package/controls/upload/dropzonemultiple.d.ts.map +1 -1
- package/controls/upload/dropzonesingle.d.ts +50 -50
- package/controls/upload/uploadmultiple.d.ts +53 -53
- package/controls/upload/uploadmultiple.d.ts.map +1 -1
- package/controls/upload/uploadsingle.d.ts +30 -30
- package/controls/validation/validationsummary.d.ts +58 -63
- package/controls/validation/validationsummary.d.ts.map +1 -1
- package/controls/wizard/wizard.d.ts +76 -76
- package/controls/wizard/wizarditem.d.ts +28 -28
- package/enums/IconType.d.ts +7 -7
- package/esm2022/common/basedatetimecontrol.mjs +174 -0
- package/esm2022/common/baseinputcontrol.mjs +86 -0
- package/esm2022/common/baselistcontrol.mjs +64 -0
- package/esm2022/common/basemodelcontrol.mjs +368 -0
- package/esm2022/common/baseselectcontrol.mjs +30 -0
- package/esm2022/common/baseuploadcontrol.mjs +461 -0
- package/esm2022/components/browser/browser.mjs +554 -0
- package/esm2022/components/browser/models/browserfile.mjs +2 -0
- package/esm2022/components/browser/models/browserfiledeleterequest.mjs +13 -0
- package/esm2022/components/browser/models/browserfilerenamerequest.mjs +13 -0
- package/esm2022/components/browser/models/browserfileresponse.mjs +2 -0
- package/esm2022/components/browser/models/browserfilesaverequest.mjs +13 -0
- package/esm2022/components/browser/models/browsernode.mjs +2 -0
- package/esm2022/components/browser/models/browsernodedeleterequest.mjs +13 -0
- package/esm2022/components/browser/models/browsernodenewrequest.mjs +13 -0
- package/esm2022/components/browser/models/browsernoderenamerequest.mjs +13 -0
- package/esm2022/components/browser/models/browsernoderequest.mjs +13 -0
- package/esm2022/components/browser/models/browsernoderesponse.mjs +2 -0
- package/esm2022/controls/buttons/button.mjs +144 -0
- package/esm2022/controls/checkbox/checkbox.mjs +32 -0
- package/esm2022/controls/checkbox/radiobutton.mjs +110 -0
- package/esm2022/controls/checkbox/radiobuttons.mjs +113 -0
- package/esm2022/controls/confirm/confirm.button.mjs +23 -0
- package/esm2022/controls/confirm/confirm.mjs +81 -0
- package/esm2022/controls/confirm/confirm.service.mjs +82 -0
- package/esm2022/controls/contextmenu/contextmenu.mjs +192 -0
- package/esm2022/controls/contextmenu/contextmenuanchor.mjs +21 -0
- package/esm2022/controls/contextmenu/contextmenucontainer.mjs +21 -0
- package/esm2022/controls/contextmenu/contextmenuitem.mjs +14 -0
- package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +104 -0
- package/esm2022/controls/datetime/date.mjs +219 -0
- package/esm2022/controls/datetime/dateselector.mjs +463 -0
- package/esm2022/controls/datetime/datetime.mjs +237 -0
- package/esm2022/controls/datetime/time.mjs +218 -0
- package/esm2022/controls/dialog/dialog.mjs +222 -0
- package/esm2022/controls/form/form.mjs +164 -0
- package/esm2022/controls/grid/grid.mjs +157 -0
- package/esm2022/controls/grid/gridbutton.mjs +60 -0
- package/esm2022/controls/grid/gridcolumn.mjs +47 -0
- package/esm2022/controls/grid/gridcolumnaction.mjs +25 -0
- package/esm2022/controls/grid/gridcolumnbase.mjs +129 -0
- package/esm2022/controls/grid/gridimage.mjs +16 -0
- package/esm2022/controls/grid/model.mjs +79 -0
- package/esm2022/controls/grid/paging.mjs +254 -0
- package/esm2022/controls/input/input.mjs +70 -0
- package/esm2022/controls/input/inputarea.mjs +59 -0
- package/esm2022/controls/input/inputcurrency.mjs +15 -0
- package/esm2022/controls/input/inputdecimal.mjs +151 -0
- package/esm2022/controls/input/inputemail.mjs +41 -0
- package/esm2022/controls/input/inputinteger.mjs +135 -0
- package/esm2022/controls/input/inputpassword.mjs +47 -0
- package/esm2022/controls/input/inputsearch.mjs +42 -0
- package/esm2022/controls/list/dropdown.mjs +251 -0
- package/esm2022/controls/list/listbox.mjs +177 -0
- package/esm2022/controls/multilanguage/multilanguageinput.mjs +229 -0
- package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +231 -0
- package/esm2022/controls/static/formcontainer.mjs +54 -0
- package/esm2022/controls/static/staticlabel.mjs +34 -0
- package/esm2022/controls/tabs/tab.mjs +78 -0
- package/esm2022/controls/tabs/tabitem.mjs +41 -0
- package/esm2022/controls/tinymce/tinymce.mjs +250 -0
- package/esm2022/controls/tinymce/tinymcedialogsettings.mjs +13 -0
- package/esm2022/controls/tinymce/tinymcedialogsettingsmeta.mjs +5 -0
- package/esm2022/controls/tinymce/tinymceinstance.mjs +2 -0
- package/esm2022/controls/tooltip/tooltip.mjs +366 -0
- package/esm2022/controls/treeview/ngtreeitemaction.mjs +63 -0
- package/esm2022/controls/treeview/treeview.mjs +344 -0
- package/esm2022/controls/treeview/treeviewchild.mjs +22 -0
- package/esm2022/controls/upload/dropzonemultiple.mjs +166 -0
- package/esm2022/controls/upload/dropzonesingle.mjs +107 -0
- package/esm2022/controls/upload/uploadmultiple.mjs +125 -0
- package/esm2022/controls/upload/uploadsingle.mjs +59 -0
- package/esm2022/controls/validation/validationsummary.mjs +128 -0
- package/esm2022/controls/wizard/wizard.mjs +145 -0
- package/esm2022/controls/wizard/wizarditem.mjs +34 -0
- package/esm2022/enums/IconType.mjs +9 -0
- package/esm2022/interfaces/ISacFileBrowserService.mjs +2 -0
- package/esm2022/interfaces/ISacIconService.mjs +2 -0
- package/esm2022/interfaces/ISacLanguageService.mjs +2 -0
- package/esm2022/interfaces/ISacLocalisationService.mjs +2 -0
- package/esm2022/interfaces/iabstractcontrollabel.mjs +2 -0
- package/esm2022/interfaces/iconfirmcomponent.mjs +2 -0
- package/esm2022/interfaces/idatetimecontrol.mjs +2 -0
- package/esm2022/interfaces/iuploadcontrol.mjs +2 -0
- package/esm2022/models/languagemodel.mjs +13 -0
- package/esm2022/public_api.mjs +95 -0
- package/esm2022/services/index.mjs +5 -0
- package/esm2022/services/sac-filebrowser.service.mjs +205 -0
- package/esm2022/services/sac-icon.service.mjs +161 -0
- package/esm2022/services/sac-language.service.mjs +49 -0
- package/esm2022/services/sac-localisation.service.mjs +435 -0
- package/esm2022/simpleangularcontrols-sac-common.mjs +5 -0
- package/esm2022/utilities/convertion.mjs +32 -0
- package/esm2022/utilities/datatypes.mjs +9 -0
- package/esm2022/utilities/enums.mjs +16 -0
- package/esm2022/utilities/interpolation.mjs +50 -0
- package/esm2022/utilities/positioning.mjs +301 -0
- package/esm2022/validation/email.validator.mjs +13 -0
- package/esm2022/validation/index.mjs +3 -0
- package/esm2022/validation/invaliddate.validator.mjs +14 -0
- package/esm2022/validation/isDateValid.mjs +15 -0
- package/esm2022/validation/maxdate.validator.mjs +21 -0
- package/esm2022/validation/maxtime.validator.mjs +21 -0
- package/esm2022/validation/maxvalue.validator.mjs +16 -0
- package/esm2022/validation/mindate.validator.mjs +21 -0
- package/esm2022/validation/minfiles.validator.mjs +19 -0
- package/esm2022/validation/minlength.validator.mjs +21 -0
- package/esm2022/validation/mintime.validator.mjs +21 -0
- package/esm2022/validation/minvalue.validator.mjs +16 -0
- package/esm2022/validation/multilanguagerequired.validator.mjs +22 -0
- package/esm2022/validation/multilanguagerequiredany.validator.mjs +22 -0
- package/esm2022/validation/pattern.validator.mjs +16 -0
- package/esm2022/validation/required.validator.mjs +13 -0
- package/esm2022/validation/validation.mjs +188 -0
- package/esm2022/validation/validationerrorcreator.mjs +11 -0
- package/esm2022/validation/validationerroritem.mjs +27 -0
- package/fesm2022/simpleangularcontrols-sac-common.mjs +9958 -0
- package/fesm2022/simpleangularcontrols-sac-common.mjs.map +1 -0
- package/{simpleangularcontrols-sac-common.d.ts → index.d.ts} +5 -5
- package/interfaces/ISacFileBrowserService.d.ts +65 -65
- package/interfaces/ISacIconService.d.ts +89 -89
- package/interfaces/ISacIconService.d.ts.map +1 -1
- package/interfaces/ISacLanguageService.d.ts +12 -12
- package/interfaces/ISacLocalisationService.d.ts +10 -10
- package/interfaces/iabstractcontrollabel.d.ts +6 -6
- package/interfaces/iconfirmcomponent.d.ts +18 -18
- package/interfaces/idatetimecontrol.d.ts +7 -7
- package/interfaces/iuploadcontrol.d.ts +9 -9
- package/models/languagemodel.d.ts +22 -22
- package/package.json +11 -17
- package/public_api.d.ts +73 -79
- package/public_api.d.ts.map +1 -1
- package/services/index.d.ts +4 -6
- package/services/index.d.ts.map +1 -1
- package/services/sac-filebrowser.service.d.ts +145 -145
- package/services/sac-icon.service.d.ts +189 -189
- package/services/sac-language.service.d.ts +31 -31
- package/services/sac-localisation.service.d.ts +136 -142
- package/services/sac-localisation.service.d.ts.map +1 -1
- package/simpleangularcontrols-sac-common-16.0.0-rc.2.tgz +0 -0
- package/utilities/convertion.d.ts +15 -15
- package/utilities/datatypes.d.ts +6 -6
- package/utilities/enums.d.ts +10 -10
- package/utilities/interpolation.d.ts +21 -21
- package/utilities/positioning.d.ts +82 -82
- package/utilities/positioning.d.ts.map +1 -1
- package/validation/email.validator.d.ts +2 -2
- package/validation/index.d.ts +2 -2
- package/validation/invaliddate.validator.d.ts +2 -2
- package/validation/isDateValid.d.ts +5 -5
- package/validation/maxdate.validator.d.ts +2 -2
- package/validation/maxtime.validator.d.ts +2 -2
- package/validation/maxvalue.validator.d.ts +2 -2
- package/validation/mindate.validator.d.ts +2 -2
- package/validation/minfiles.validator.d.ts +2 -2
- package/validation/minlength.validator.d.ts +2 -2
- package/validation/mintime.validator.d.ts +2 -2
- package/validation/minvalue.validator.d.ts +2 -2
- package/validation/multilanguagerequired.validator.d.ts +3 -3
- package/validation/multilanguagerequiredany.validator.d.ts +3 -3
- package/validation/pattern.validator.d.ts +2 -2
- package/validation/required.validator.d.ts +2 -2
- package/validation/validation.d.ts +139 -139
- package/validation/validationerrorcreator.d.ts +1 -1
- package/validation/validationerroritem.d.ts +33 -33
- package/common/basedatetimecontrol.ngfactory.d.ts +0 -4
- package/common/basedatetimecontrol.ngfactory.d.ts.map +0 -1
- package/common/basedatetimecontrol.ngsummary.d.ts +0 -2
- package/common/basedatetimecontrol.ngsummary.d.ts.map +0 -1
- package/common/baseinputcontrol.ngfactory.d.ts +0 -4
- package/common/baseinputcontrol.ngfactory.d.ts.map +0 -1
- package/common/baseinputcontrol.ngsummary.d.ts +0 -2
- package/common/baseinputcontrol.ngsummary.d.ts.map +0 -1
- package/common/baselistcontrol.ngfactory.d.ts +0 -4
- package/common/baselistcontrol.ngfactory.d.ts.map +0 -1
- package/common/baselistcontrol.ngsummary.d.ts +0 -2
- package/common/baselistcontrol.ngsummary.d.ts.map +0 -1
- package/common/basemodelcontrol.ngfactory.d.ts +0 -4
- package/common/basemodelcontrol.ngfactory.d.ts.map +0 -1
- package/common/basemodelcontrol.ngsummary.d.ts +0 -2
- package/common/basemodelcontrol.ngsummary.d.ts.map +0 -1
- package/common/baseselectcontrol.ngfactory.d.ts +0 -4
- package/common/baseselectcontrol.ngfactory.d.ts.map +0 -1
- package/common/baseselectcontrol.ngsummary.d.ts +0 -2
- package/common/baseselectcontrol.ngsummary.d.ts.map +0 -1
- package/common/baseuploadcontrol.ngfactory.d.ts +0 -4
- package/common/baseuploadcontrol.ngfactory.d.ts.map +0 -1
- package/common/baseuploadcontrol.ngsummary.d.ts +0 -2
- package/common/baseuploadcontrol.ngsummary.d.ts.map +0 -1
- package/components/browser/browser.ngfactory.d.ts +0 -4
- package/components/browser/browser.ngfactory.d.ts.map +0 -1
- package/components/browser/browser.ngsummary.d.ts +0 -2
- package/components/browser/browser.ngsummary.d.ts.map +0 -1
- package/components/browser/models/browserfile.ngfactory.d.ts +0 -2
- package/components/browser/models/browserfile.ngfactory.d.ts.map +0 -1
- package/components/browser/models/browserfile.ngsummary.d.ts +0 -2
- package/components/browser/models/browserfile.ngsummary.d.ts.map +0 -1
- package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts +0 -2
- package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts.map +0 -1
- package/components/browser/models/browserfiledeleterequest.ngsummary.d.ts +0 -2
- package/components/browser/models/browserfiledeleterequest.ngsummary.d.ts.map +0 -1
- package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts +0 -2
- package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts.map +0 -1
- package/components/browser/models/browserfilerenamerequest.ngsummary.d.ts +0 -2
- package/components/browser/models/browserfilerenamerequest.ngsummary.d.ts.map +0 -1
- package/components/browser/models/browserfileresponse.ngfactory.d.ts +0 -2
- package/components/browser/models/browserfileresponse.ngfactory.d.ts.map +0 -1
- package/components/browser/models/browserfileresponse.ngsummary.d.ts +0 -2
- package/components/browser/models/browserfileresponse.ngsummary.d.ts.map +0 -1
- package/components/browser/models/browserfilesaverequest.ngfactory.d.ts +0 -2
- package/components/browser/models/browserfilesaverequest.ngfactory.d.ts.map +0 -1
- package/components/browser/models/browserfilesaverequest.ngsummary.d.ts +0 -2
- package/components/browser/models/browserfilesaverequest.ngsummary.d.ts.map +0 -1
- package/components/browser/models/browsernode.ngfactory.d.ts +0 -2
- package/components/browser/models/browsernode.ngfactory.d.ts.map +0 -1
- package/components/browser/models/browsernode.ngsummary.d.ts +0 -2
- package/components/browser/models/browsernode.ngsummary.d.ts.map +0 -1
- package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts +0 -2
- package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts.map +0 -1
- package/components/browser/models/browsernodedeleterequest.ngsummary.d.ts +0 -2
- package/components/browser/models/browsernodedeleterequest.ngsummary.d.ts.map +0 -1
- package/components/browser/models/browsernodenewrequest.ngfactory.d.ts +0 -2
- package/components/browser/models/browsernodenewrequest.ngfactory.d.ts.map +0 -1
- package/components/browser/models/browsernodenewrequest.ngsummary.d.ts +0 -2
- package/components/browser/models/browsernodenewrequest.ngsummary.d.ts.map +0 -1
- package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts +0 -2
- package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts.map +0 -1
- package/components/browser/models/browsernoderenamerequest.ngsummary.d.ts +0 -2
- package/components/browser/models/browsernoderenamerequest.ngsummary.d.ts.map +0 -1
- package/components/browser/models/browsernoderequest.ngfactory.d.ts +0 -2
- package/components/browser/models/browsernoderequest.ngfactory.d.ts.map +0 -1
- package/components/browser/models/browsernoderequest.ngsummary.d.ts +0 -2
- package/components/browser/models/browsernoderequest.ngsummary.d.ts.map +0 -1
- package/components/browser/models/browsernoderesponse.ngfactory.d.ts +0 -2
- package/components/browser/models/browsernoderesponse.ngfactory.d.ts.map +0 -1
- package/components/browser/models/browsernoderesponse.ngsummary.d.ts +0 -2
- package/components/browser/models/browsernoderesponse.ngsummary.d.ts.map +0 -1
- package/controls/buttons/button.ngfactory.d.ts +0 -4
- package/controls/buttons/button.ngfactory.d.ts.map +0 -1
- package/controls/buttons/button.ngsummary.d.ts +0 -2
- package/controls/buttons/button.ngsummary.d.ts.map +0 -1
- package/controls/checkbox/checkbox.ngfactory.d.ts +0 -4
- package/controls/checkbox/checkbox.ngfactory.d.ts.map +0 -1
- package/controls/checkbox/checkbox.ngsummary.d.ts +0 -2
- package/controls/checkbox/checkbox.ngsummary.d.ts.map +0 -1
- package/controls/checkbox/radiobutton.ngfactory.d.ts +0 -4
- package/controls/checkbox/radiobutton.ngfactory.d.ts.map +0 -1
- package/controls/checkbox/radiobutton.ngsummary.d.ts +0 -2
- package/controls/checkbox/radiobutton.ngsummary.d.ts.map +0 -1
- package/controls/checkbox/radiobuttons.ngfactory.d.ts +0 -4
- package/controls/checkbox/radiobuttons.ngfactory.d.ts.map +0 -1
- package/controls/checkbox/radiobuttons.ngsummary.d.ts +0 -2
- package/controls/checkbox/radiobuttons.ngsummary.d.ts.map +0 -1
- package/controls/confirm/confirm.button.ngfactory.d.ts +0 -2
- package/controls/confirm/confirm.button.ngfactory.d.ts.map +0 -1
- package/controls/confirm/confirm.button.ngsummary.d.ts +0 -2
- package/controls/confirm/confirm.button.ngsummary.d.ts.map +0 -1
- package/controls/confirm/confirm.ngfactory.d.ts +0 -4
- package/controls/confirm/confirm.ngfactory.d.ts.map +0 -1
- package/controls/confirm/confirm.ngsummary.d.ts +0 -2
- package/controls/confirm/confirm.ngsummary.d.ts.map +0 -1
- package/controls/confirm/confirm.service.ngfactory.d.ts +0 -2
- package/controls/confirm/confirm.service.ngfactory.d.ts.map +0 -1
- package/controls/confirm/confirm.service.ngsummary.d.ts +0 -2
- package/controls/confirm/confirm.service.ngsummary.d.ts.map +0 -1
- package/controls/contextmenu/contextmenu.ngfactory.d.ts +0 -4
- package/controls/contextmenu/contextmenu.ngfactory.d.ts.map +0 -1
- package/controls/contextmenu/contextmenu.ngsummary.d.ts +0 -2
- package/controls/contextmenu/contextmenu.ngsummary.d.ts.map +0 -1
- package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +0 -4
- package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts.map +0 -1
- package/controls/contextmenu/contextmenuanchor.ngsummary.d.ts +0 -2
- package/controls/contextmenu/contextmenuanchor.ngsummary.d.ts.map +0 -1
- package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +0 -4
- package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts.map +0 -1
- package/controls/contextmenu/contextmenucontainer.ngsummary.d.ts +0 -2
- package/controls/contextmenu/contextmenucontainer.ngsummary.d.ts.map +0 -1
- package/controls/contextmenu/contextmenuitem.ngfactory.d.ts +0 -4
- package/controls/contextmenu/contextmenuitem.ngfactory.d.ts.map +0 -1
- package/controls/contextmenu/contextmenuitem.ngsummary.d.ts +0 -2
- package/controls/contextmenu/contextmenuitem.ngsummary.d.ts.map +0 -1
- package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +0 -4
- package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts.map +0 -1
- package/controls/contextmenu/contextmenuitembutton.ngsummary.d.ts +0 -2
- package/controls/contextmenu/contextmenuitembutton.ngsummary.d.ts.map +0 -1
- package/controls/datetime/date.ngfactory.d.ts +0 -4
- package/controls/datetime/date.ngfactory.d.ts.map +0 -1
- package/controls/datetime/date.ngsummary.d.ts +0 -2
- package/controls/datetime/date.ngsummary.d.ts.map +0 -1
- package/controls/datetime/dateselector.ngfactory.d.ts +0 -4
- package/controls/datetime/dateselector.ngfactory.d.ts.map +0 -1
- package/controls/datetime/dateselector.ngsummary.d.ts +0 -2
- package/controls/datetime/dateselector.ngsummary.d.ts.map +0 -1
- package/controls/datetime/datetime.ngfactory.d.ts +0 -4
- package/controls/datetime/datetime.ngfactory.d.ts.map +0 -1
- package/controls/datetime/datetime.ngsummary.d.ts +0 -2
- package/controls/datetime/datetime.ngsummary.d.ts.map +0 -1
- package/controls/datetime/time.ngfactory.d.ts +0 -4
- package/controls/datetime/time.ngfactory.d.ts.map +0 -1
- package/controls/datetime/time.ngsummary.d.ts +0 -2
- package/controls/datetime/time.ngsummary.d.ts.map +0 -1
- package/controls/dialog/dialog.ngfactory.d.ts +0 -4
- package/controls/dialog/dialog.ngfactory.d.ts.map +0 -1
- package/controls/dialog/dialog.ngsummary.d.ts +0 -2
- package/controls/dialog/dialog.ngsummary.d.ts.map +0 -1
- package/controls/form/form.ngfactory.d.ts +0 -4
- package/controls/form/form.ngfactory.d.ts.map +0 -1
- package/controls/form/form.ngsummary.d.ts +0 -2
- package/controls/form/form.ngsummary.d.ts.map +0 -1
- package/controls/grid/grid.ngfactory.d.ts +0 -4
- package/controls/grid/grid.ngfactory.d.ts.map +0 -1
- package/controls/grid/grid.ngsummary.d.ts +0 -2
- package/controls/grid/grid.ngsummary.d.ts.map +0 -1
- package/controls/grid/gridbutton.ngfactory.d.ts +0 -4
- package/controls/grid/gridbutton.ngfactory.d.ts.map +0 -1
- package/controls/grid/gridbutton.ngsummary.d.ts +0 -2
- package/controls/grid/gridbutton.ngsummary.d.ts.map +0 -1
- package/controls/grid/gridcolumn.ngfactory.d.ts +0 -4
- package/controls/grid/gridcolumn.ngfactory.d.ts.map +0 -1
- package/controls/grid/gridcolumn.ngsummary.d.ts +0 -2
- package/controls/grid/gridcolumn.ngsummary.d.ts.map +0 -1
- package/controls/grid/gridcolumnaction.ngfactory.d.ts +0 -4
- package/controls/grid/gridcolumnaction.ngfactory.d.ts.map +0 -1
- package/controls/grid/gridcolumnaction.ngsummary.d.ts +0 -2
- package/controls/grid/gridcolumnaction.ngsummary.d.ts.map +0 -1
- package/controls/grid/gridcolumnbase.ngfactory.d.ts +0 -4
- package/controls/grid/gridcolumnbase.ngfactory.d.ts.map +0 -1
- package/controls/grid/gridcolumnbase.ngsummary.d.ts +0 -2
- package/controls/grid/gridcolumnbase.ngsummary.d.ts.map +0 -1
- package/controls/grid/gridimage.ngfactory.d.ts +0 -4
- package/controls/grid/gridimage.ngfactory.d.ts.map +0 -1
- package/controls/grid/gridimage.ngsummary.d.ts +0 -2
- package/controls/grid/gridimage.ngsummary.d.ts.map +0 -1
- package/controls/grid/model.ngfactory.d.ts +0 -2
- package/controls/grid/model.ngfactory.d.ts.map +0 -1
- package/controls/grid/model.ngsummary.d.ts +0 -2
- package/controls/grid/model.ngsummary.d.ts.map +0 -1
- package/controls/grid/paging.ngfactory.d.ts +0 -4
- package/controls/grid/paging.ngfactory.d.ts.map +0 -1
- package/controls/grid/paging.ngsummary.d.ts +0 -2
- package/controls/grid/paging.ngsummary.d.ts.map +0 -1
- package/controls/input/input.ngfactory.d.ts +0 -4
- package/controls/input/input.ngfactory.d.ts.map +0 -1
- package/controls/input/input.ngsummary.d.ts +0 -2
- package/controls/input/input.ngsummary.d.ts.map +0 -1
- package/controls/input/inputarea.ngfactory.d.ts +0 -4
- package/controls/input/inputarea.ngfactory.d.ts.map +0 -1
- package/controls/input/inputarea.ngsummary.d.ts +0 -2
- package/controls/input/inputarea.ngsummary.d.ts.map +0 -1
- package/controls/input/inputcurrency.ngfactory.d.ts +0 -4
- package/controls/input/inputcurrency.ngfactory.d.ts.map +0 -1
- package/controls/input/inputcurrency.ngsummary.d.ts +0 -2
- package/controls/input/inputcurrency.ngsummary.d.ts.map +0 -1
- package/controls/input/inputdecimal.ngfactory.d.ts +0 -4
- package/controls/input/inputdecimal.ngfactory.d.ts.map +0 -1
- package/controls/input/inputdecimal.ngsummary.d.ts +0 -2
- package/controls/input/inputdecimal.ngsummary.d.ts.map +0 -1
- package/controls/input/inputemail.ngfactory.d.ts +0 -4
- package/controls/input/inputemail.ngfactory.d.ts.map +0 -1
- package/controls/input/inputemail.ngsummary.d.ts +0 -2
- package/controls/input/inputemail.ngsummary.d.ts.map +0 -1
- package/controls/input/inputinteger.ngfactory.d.ts +0 -4
- package/controls/input/inputinteger.ngfactory.d.ts.map +0 -1
- package/controls/input/inputinteger.ngsummary.d.ts +0 -2
- package/controls/input/inputinteger.ngsummary.d.ts.map +0 -1
- package/controls/input/inputpassword.ngfactory.d.ts +0 -4
- package/controls/input/inputpassword.ngfactory.d.ts.map +0 -1
- package/controls/input/inputpassword.ngsummary.d.ts +0 -2
- package/controls/input/inputpassword.ngsummary.d.ts.map +0 -1
- package/controls/input/inputsearch.ngfactory.d.ts +0 -4
- package/controls/input/inputsearch.ngfactory.d.ts.map +0 -1
- package/controls/input/inputsearch.ngsummary.d.ts +0 -2
- package/controls/input/inputsearch.ngsummary.d.ts.map +0 -1
- package/controls/layout/formlayout.d.ts +0 -50
- package/controls/layout/formlayout.d.ts.map +0 -1
- package/controls/layout/formlayout.ngfactory.d.ts +0 -4
- package/controls/layout/formlayout.ngfactory.d.ts.map +0 -1
- package/controls/layout/formlayout.ngsummary.d.ts +0 -2
- package/controls/layout/formlayout.ngsummary.d.ts.map +0 -1
- package/controls/list/dropdown.ngfactory.d.ts +0 -5
- package/controls/list/dropdown.ngfactory.d.ts.map +0 -1
- package/controls/list/dropdown.ngsummary.d.ts +0 -3
- package/controls/list/dropdown.ngsummary.d.ts.map +0 -1
- package/controls/list/list.module.d.ts +0 -7
- package/controls/list/list.module.d.ts.map +0 -1
- package/controls/list/list.module.ngfactory.d.ts +0 -4
- package/controls/list/list.module.ngfactory.d.ts.map +0 -1
- package/controls/list/list.module.ngsummary.d.ts +0 -2
- package/controls/list/list.module.ngsummary.d.ts.map +0 -1
- package/controls/list/listbox.ngfactory.d.ts +0 -5
- package/controls/list/listbox.ngfactory.d.ts.map +0 -1
- package/controls/list/listbox.ngsummary.d.ts +0 -3
- package/controls/list/listbox.ngsummary.d.ts.map +0 -1
- package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +0 -4
- package/controls/multilanguage/multilanguageinput.ngfactory.d.ts.map +0 -1
- package/controls/multilanguage/multilanguageinput.ngsummary.d.ts +0 -2
- package/controls/multilanguage/multilanguageinput.ngsummary.d.ts.map +0 -1
- package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +0 -4
- package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts.map +0 -1
- package/controls/multilanguage/multilanguageinputarea.ngsummary.d.ts +0 -2
- package/controls/multilanguage/multilanguageinputarea.ngsummary.d.ts.map +0 -1
- package/controls/static/formcontainer.ngfactory.d.ts +0 -4
- package/controls/static/formcontainer.ngfactory.d.ts.map +0 -1
- package/controls/static/formcontainer.ngsummary.d.ts +0 -2
- package/controls/static/formcontainer.ngsummary.d.ts.map +0 -1
- package/controls/static/staticlabel.ngfactory.d.ts +0 -4
- package/controls/static/staticlabel.ngfactory.d.ts.map +0 -1
- package/controls/static/staticlabel.ngsummary.d.ts +0 -2
- package/controls/static/staticlabel.ngsummary.d.ts.map +0 -1
- package/controls/tabs/tab.ngfactory.d.ts +0 -4
- package/controls/tabs/tab.ngfactory.d.ts.map +0 -1
- package/controls/tabs/tab.ngsummary.d.ts +0 -2
- package/controls/tabs/tab.ngsummary.d.ts.map +0 -1
- package/controls/tabs/tabitem.ngfactory.d.ts +0 -4
- package/controls/tabs/tabitem.ngfactory.d.ts.map +0 -1
- package/controls/tabs/tabitem.ngsummary.d.ts +0 -2
- package/controls/tabs/tabitem.ngsummary.d.ts.map +0 -1
- package/controls/tinymce/tinymce.ngfactory.d.ts +0 -4
- package/controls/tinymce/tinymce.ngfactory.d.ts.map +0 -1
- package/controls/tinymce/tinymce.ngsummary.d.ts +0 -2
- package/controls/tinymce/tinymce.ngsummary.d.ts.map +0 -1
- package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts +0 -2
- package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts.map +0 -1
- package/controls/tinymce/tinymcedialogsettings.ngsummary.d.ts +0 -2
- package/controls/tinymce/tinymcedialogsettings.ngsummary.d.ts.map +0 -1
- package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts +0 -2
- package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts.map +0 -1
- package/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.d.ts +0 -2
- package/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.d.ts.map +0 -1
- package/controls/tinymce/tinymceinstance.ngfactory.d.ts +0 -2
- package/controls/tinymce/tinymceinstance.ngfactory.d.ts.map +0 -1
- package/controls/tinymce/tinymceinstance.ngsummary.d.ts +0 -2
- package/controls/tinymce/tinymceinstance.ngsummary.d.ts.map +0 -1
- package/controls/tooltip/tooltip.ngfactory.d.ts +0 -4
- package/controls/tooltip/tooltip.ngfactory.d.ts.map +0 -1
- package/controls/tooltip/tooltip.ngsummary.d.ts +0 -2
- package/controls/tooltip/tooltip.ngsummary.d.ts.map +0 -1
- package/controls/treeview/ngtreeitemaction.ngfactory.d.ts +0 -4
- package/controls/treeview/ngtreeitemaction.ngfactory.d.ts.map +0 -1
- package/controls/treeview/ngtreeitemaction.ngsummary.d.ts +0 -2
- package/controls/treeview/ngtreeitemaction.ngsummary.d.ts.map +0 -1
- package/controls/treeview/treeview.ngfactory.d.ts +0 -4
- package/controls/treeview/treeview.ngfactory.d.ts.map +0 -1
- package/controls/treeview/treeview.ngsummary.d.ts +0 -2
- package/controls/treeview/treeview.ngsummary.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.ngfactory.d.ts +0 -4
- package/controls/treeview/treeviewchild.ngfactory.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.ngsummary.d.ts +0 -2
- package/controls/treeview/treeviewchild.ngsummary.d.ts.map +0 -1
- package/controls/upload/dropzonemultiple.ngfactory.d.ts +0 -4
- package/controls/upload/dropzonemultiple.ngfactory.d.ts.map +0 -1
- package/controls/upload/dropzonemultiple.ngsummary.d.ts +0 -2
- package/controls/upload/dropzonemultiple.ngsummary.d.ts.map +0 -1
- package/controls/upload/dropzonesingle.ngfactory.d.ts +0 -4
- package/controls/upload/dropzonesingle.ngfactory.d.ts.map +0 -1
- package/controls/upload/dropzonesingle.ngsummary.d.ts +0 -2
- package/controls/upload/dropzonesingle.ngsummary.d.ts.map +0 -1
- package/controls/upload/uploadmultiple.ngfactory.d.ts +0 -4
- package/controls/upload/uploadmultiple.ngfactory.d.ts.map +0 -1
- package/controls/upload/uploadmultiple.ngsummary.d.ts +0 -2
- package/controls/upload/uploadmultiple.ngsummary.d.ts.map +0 -1
- package/controls/upload/uploadsingle.ngfactory.d.ts +0 -4
- package/controls/upload/uploadsingle.ngfactory.d.ts.map +0 -1
- package/controls/upload/uploadsingle.ngsummary.d.ts +0 -2
- package/controls/upload/uploadsingle.ngsummary.d.ts.map +0 -1
- package/controls/validation/validationsummary.ngfactory.d.ts +0 -4
- package/controls/validation/validationsummary.ngfactory.d.ts.map +0 -1
- package/controls/validation/validationsummary.ngsummary.d.ts +0 -2
- package/controls/validation/validationsummary.ngsummary.d.ts.map +0 -1
- package/controls/wizard/wizard.ngfactory.d.ts +0 -4
- package/controls/wizard/wizard.ngfactory.d.ts.map +0 -1
- package/controls/wizard/wizard.ngsummary.d.ts +0 -2
- package/controls/wizard/wizard.ngsummary.d.ts.map +0 -1
- package/controls/wizard/wizarditem.ngfactory.d.ts +0 -4
- package/controls/wizard/wizarditem.ngfactory.d.ts.map +0 -1
- package/controls/wizard/wizarditem.ngsummary.d.ts +0 -2
- package/controls/wizard/wizarditem.ngsummary.d.ts.map +0 -1
- package/enums/ButtonRoleType.d.ts +0 -2
- package/enums/ButtonRoleType.d.ts.map +0 -1
- package/enums/ButtonRoleType.ngfactory.d.ts +0 -2
- package/enums/ButtonRoleType.ngfactory.d.ts.map +0 -1
- package/enums/ButtonRoleType.ngsummary.d.ts +0 -2
- package/enums/ButtonRoleType.ngsummary.d.ts.map +0 -1
- package/enums/ControlHeight.d.ts +0 -18
- package/enums/ControlHeight.d.ts.map +0 -1
- package/enums/ControlHeight.ngfactory.d.ts +0 -2
- package/enums/ControlHeight.ngfactory.d.ts.map +0 -1
- package/enums/ControlHeight.ngsummary.d.ts +0 -2
- package/enums/ControlHeight.ngsummary.d.ts.map +0 -1
- package/enums/IconType.ngfactory.d.ts +0 -2
- package/enums/IconType.ngfactory.d.ts.map +0 -1
- package/enums/IconType.ngsummary.d.ts +0 -2
- package/enums/IconType.ngsummary.d.ts.map +0 -1
- package/esm2020/common/basedatetimecontrol.mjs +0 -52
- package/esm2020/common/basedatetimecontrol.ngfactory.mjs +0 -3
- package/esm2020/common/basedatetimecontrol.ngsummary.mjs +0 -3
- package/esm2020/common/baseinputcontrol.mjs +0 -29
- package/esm2020/common/baseinputcontrol.ngfactory.mjs +0 -3
- package/esm2020/common/baseinputcontrol.ngsummary.mjs +0 -3
- package/esm2020/common/baselistcontrol.mjs +0 -19
- package/esm2020/common/baselistcontrol.ngfactory.mjs +0 -3
- package/esm2020/common/baselistcontrol.ngsummary.mjs +0 -3
- package/esm2020/common/basemodelcontrol.mjs +0 -135
- package/esm2020/common/basemodelcontrol.ngfactory.mjs +0 -3
- package/esm2020/common/basemodelcontrol.ngsummary.mjs +0 -3
- package/esm2020/common/baseselectcontrol.mjs +0 -9
- package/esm2020/common/baseselectcontrol.ngfactory.mjs +0 -3
- package/esm2020/common/baseselectcontrol.ngsummary.mjs +0 -3
- package/esm2020/common/baseuploadcontrol.mjs +0 -137
- package/esm2020/common/baseuploadcontrol.ngfactory.mjs +0 -3
- package/esm2020/common/baseuploadcontrol.ngsummary.mjs +0 -3
- package/esm2020/components/browser/browser.mjs +0 -146
- package/esm2020/components/browser/browser.ngfactory.mjs +0 -3
- package/esm2020/components/browser/browser.ngsummary.mjs +0 -3
- package/esm2020/components/browser/models/browserfile.mjs +0 -3
- package/esm2020/components/browser/models/browserfile.ngfactory.mjs +0 -3
- package/esm2020/components/browser/models/browserfile.ngsummary.mjs +0 -3
- package/esm2020/components/browser/models/browserfiledeleterequest.mjs +0 -8
- package/esm2020/components/browser/models/browserfiledeleterequest.ngfactory.mjs +0 -3
- package/esm2020/components/browser/models/browserfiledeleterequest.ngsummary.mjs +0 -3
- package/esm2020/components/browser/models/browserfilerenamerequest.mjs +0 -8
- package/esm2020/components/browser/models/browserfilerenamerequest.ngfactory.mjs +0 -3
- package/esm2020/components/browser/models/browserfilerenamerequest.ngsummary.mjs +0 -3
- package/esm2020/components/browser/models/browserfileresponse.mjs +0 -3
- package/esm2020/components/browser/models/browserfileresponse.ngfactory.mjs +0 -3
- package/esm2020/components/browser/models/browserfileresponse.ngsummary.mjs +0 -3
- package/esm2020/components/browser/models/browserfilesaverequest.mjs +0 -8
- package/esm2020/components/browser/models/browserfilesaverequest.ngfactory.mjs +0 -3
- package/esm2020/components/browser/models/browserfilesaverequest.ngsummary.mjs +0 -3
- package/esm2020/components/browser/models/browsernode.mjs +0 -3
- package/esm2020/components/browser/models/browsernode.ngfactory.mjs +0 -3
- package/esm2020/components/browser/models/browsernode.ngsummary.mjs +0 -3
- package/esm2020/components/browser/models/browsernodedeleterequest.mjs +0 -8
- package/esm2020/components/browser/models/browsernodedeleterequest.ngfactory.mjs +0 -3
- package/esm2020/components/browser/models/browsernodedeleterequest.ngsummary.mjs +0 -3
- package/esm2020/components/browser/models/browsernodenewrequest.mjs +0 -8
- package/esm2020/components/browser/models/browsernodenewrequest.ngfactory.mjs +0 -3
- package/esm2020/components/browser/models/browsernodenewrequest.ngsummary.mjs +0 -3
- package/esm2020/components/browser/models/browsernoderenamerequest.mjs +0 -8
- package/esm2020/components/browser/models/browsernoderenamerequest.ngfactory.mjs +0 -3
- package/esm2020/components/browser/models/browsernoderenamerequest.ngsummary.mjs +0 -3
- package/esm2020/components/browser/models/browsernoderequest.mjs +0 -8
- package/esm2020/components/browser/models/browsernoderequest.ngfactory.mjs +0 -3
- package/esm2020/components/browser/models/browsernoderequest.ngsummary.mjs +0 -3
- package/esm2020/components/browser/models/browsernoderesponse.mjs +0 -3
- package/esm2020/components/browser/models/browsernoderesponse.ngfactory.mjs +0 -3
- package/esm2020/components/browser/models/browsernoderesponse.ngsummary.mjs +0 -3
- package/esm2020/controls/buttons/button.mjs +0 -45
- package/esm2020/controls/buttons/button.ngfactory.mjs +0 -3
- package/esm2020/controls/buttons/button.ngsummary.mjs +0 -3
- package/esm2020/controls/checkbox/checkbox.mjs +0 -11
- package/esm2020/controls/checkbox/checkbox.ngfactory.mjs +0 -3
- package/esm2020/controls/checkbox/checkbox.ngsummary.mjs +0 -3
- package/esm2020/controls/checkbox/radiobutton.mjs +0 -36
- package/esm2020/controls/checkbox/radiobutton.ngfactory.mjs +0 -3
- package/esm2020/controls/checkbox/radiobutton.ngsummary.mjs +0 -3
- package/esm2020/controls/checkbox/radiobuttons.mjs +0 -36
- package/esm2020/controls/checkbox/radiobuttons.ngfactory.mjs +0 -3
- package/esm2020/controls/checkbox/radiobuttons.ngsummary.mjs +0 -3
- package/esm2020/controls/confirm/confirm.button.mjs +0 -19
- package/esm2020/controls/confirm/confirm.button.ngfactory.mjs +0 -3
- package/esm2020/controls/confirm/confirm.button.ngsummary.mjs +0 -3
- package/esm2020/controls/confirm/confirm.mjs +0 -31
- package/esm2020/controls/confirm/confirm.ngfactory.mjs +0 -3
- package/esm2020/controls/confirm/confirm.ngsummary.mjs +0 -3
- package/esm2020/controls/confirm/confirm.service.mjs +0 -37
- package/esm2020/controls/confirm/confirm.service.ngfactory.mjs +0 -3
- package/esm2020/controls/confirm/confirm.service.ngsummary.mjs +0 -3
- package/esm2020/controls/contextmenu/contextmenu.mjs +0 -64
- package/esm2020/controls/contextmenu/contextmenu.ngfactory.mjs +0 -3
- package/esm2020/controls/contextmenu/contextmenu.ngsummary.mjs +0 -3
- package/esm2020/controls/contextmenu/contextmenuanchor.mjs +0 -10
- package/esm2020/controls/contextmenu/contextmenuanchor.ngfactory.mjs +0 -3
- package/esm2020/controls/contextmenu/contextmenuanchor.ngsummary.mjs +0 -3
- package/esm2020/controls/contextmenu/contextmenucontainer.mjs +0 -10
- package/esm2020/controls/contextmenu/contextmenucontainer.ngfactory.mjs +0 -3
- package/esm2020/controls/contextmenu/contextmenucontainer.ngsummary.mjs +0 -3
- package/esm2020/controls/contextmenu/contextmenuitem.mjs +0 -5
- package/esm2020/controls/contextmenu/contextmenuitem.ngfactory.mjs +0 -3
- package/esm2020/controls/contextmenu/contextmenuitem.ngsummary.mjs +0 -3
- package/esm2020/controls/contextmenu/contextmenuitembutton.mjs +0 -28
- package/esm2020/controls/contextmenu/contextmenuitembutton.ngfactory.mjs +0 -3
- package/esm2020/controls/contextmenu/contextmenuitembutton.ngsummary.mjs +0 -3
- package/esm2020/controls/datetime/date.mjs +0 -55
- package/esm2020/controls/datetime/date.ngfactory.mjs +0 -3
- package/esm2020/controls/datetime/date.ngsummary.mjs +0 -3
- package/esm2020/controls/datetime/dateselector.mjs +0 -119
- package/esm2020/controls/datetime/dateselector.ngfactory.mjs +0 -3
- package/esm2020/controls/datetime/dateselector.ngsummary.mjs +0 -3
- package/esm2020/controls/datetime/datetime.mjs +0 -58
- package/esm2020/controls/datetime/datetime.ngfactory.mjs +0 -3
- package/esm2020/controls/datetime/datetime.ngsummary.mjs +0 -3
- package/esm2020/controls/datetime/time.mjs +0 -55
- package/esm2020/controls/datetime/time.ngfactory.mjs +0 -3
- package/esm2020/controls/datetime/time.ngsummary.mjs +0 -3
- package/esm2020/controls/dialog/dialog.mjs +0 -61
- package/esm2020/controls/dialog/dialog.ngfactory.mjs +0 -3
- package/esm2020/controls/dialog/dialog.ngsummary.mjs +0 -3
- package/esm2020/controls/form/form.mjs +0 -38
- package/esm2020/controls/form/form.ngfactory.mjs +0 -3
- package/esm2020/controls/form/form.ngsummary.mjs +0 -3
- package/esm2020/controls/grid/grid.mjs +0 -50
- package/esm2020/controls/grid/grid.ngfactory.mjs +0 -3
- package/esm2020/controls/grid/grid.ngsummary.mjs +0 -3
- package/esm2020/controls/grid/gridbutton.mjs +0 -17
- package/esm2020/controls/grid/gridbutton.ngfactory.mjs +0 -3
- package/esm2020/controls/grid/gridbutton.ngsummary.mjs +0 -3
- package/esm2020/controls/grid/gridcolumn.mjs +0 -15
- package/esm2020/controls/grid/gridcolumn.ngfactory.mjs +0 -3
- package/esm2020/controls/grid/gridcolumn.ngsummary.mjs +0 -3
- package/esm2020/controls/grid/gridcolumnaction.mjs +0 -10
- package/esm2020/controls/grid/gridcolumnaction.ngfactory.mjs +0 -3
- package/esm2020/controls/grid/gridcolumnaction.ngsummary.mjs +0 -3
- package/esm2020/controls/grid/gridcolumnbase.mjs +0 -35
- package/esm2020/controls/grid/gridcolumnbase.ngfactory.mjs +0 -3
- package/esm2020/controls/grid/gridcolumnbase.ngsummary.mjs +0 -3
- package/esm2020/controls/grid/gridimage.mjs +0 -5
- package/esm2020/controls/grid/gridimage.ngfactory.mjs +0 -3
- package/esm2020/controls/grid/gridimage.ngsummary.mjs +0 -3
- package/esm2020/controls/grid/model.mjs +0 -36
- package/esm2020/controls/grid/model.ngfactory.mjs +0 -3
- package/esm2020/controls/grid/model.ngsummary.mjs +0 -3
- package/esm2020/controls/grid/paging.mjs +0 -87
- package/esm2020/controls/grid/paging.ngfactory.mjs +0 -3
- package/esm2020/controls/grid/paging.ngsummary.mjs +0 -3
- package/esm2020/controls/input/input.mjs +0 -22
- package/esm2020/controls/input/input.ngfactory.mjs +0 -3
- package/esm2020/controls/input/input.ngsummary.mjs +0 -3
- package/esm2020/controls/input/inputarea.mjs +0 -16
- package/esm2020/controls/input/inputarea.ngfactory.mjs +0 -3
- package/esm2020/controls/input/inputarea.ngsummary.mjs +0 -3
- package/esm2020/controls/input/inputcurrency.mjs +0 -5
- package/esm2020/controls/input/inputcurrency.ngfactory.mjs +0 -3
- package/esm2020/controls/input/inputcurrency.ngsummary.mjs +0 -3
- package/esm2020/controls/input/inputdecimal.mjs +0 -41
- package/esm2020/controls/input/inputdecimal.ngfactory.mjs +0 -3
- package/esm2020/controls/input/inputdecimal.ngsummary.mjs +0 -3
- package/esm2020/controls/input/inputemail.mjs +0 -14
- package/esm2020/controls/input/inputemail.ngfactory.mjs +0 -3
- package/esm2020/controls/input/inputemail.ngsummary.mjs +0 -3
- package/esm2020/controls/input/inputinteger.mjs +0 -40
- package/esm2020/controls/input/inputinteger.ngfactory.mjs +0 -3
- package/esm2020/controls/input/inputinteger.ngsummary.mjs +0 -3
- package/esm2020/controls/input/inputpassword.mjs +0 -16
- package/esm2020/controls/input/inputpassword.ngfactory.mjs +0 -3
- package/esm2020/controls/input/inputpassword.ngsummary.mjs +0 -3
- package/esm2020/controls/input/inputsearch.mjs +0 -13
- package/esm2020/controls/input/inputsearch.ngfactory.mjs +0 -3
- package/esm2020/controls/input/inputsearch.ngsummary.mjs +0 -3
- package/esm2020/controls/layout/formlayout.mjs +0 -28
- package/esm2020/controls/layout/formlayout.ngfactory.mjs +0 -3
- package/esm2020/controls/layout/formlayout.ngsummary.mjs +0 -3
- package/esm2020/controls/list/dropdown.mjs +0 -105
- package/esm2020/controls/list/dropdown.ngfactory.mjs +0 -3
- package/esm2020/controls/list/dropdown.ngsummary.mjs +0 -3
- package/esm2020/controls/list/list.module.mjs +0 -3
- package/esm2020/controls/list/list.module.ngfactory.mjs +0 -3
- package/esm2020/controls/list/list.module.ngsummary.mjs +0 -3
- package/esm2020/controls/list/listbox.mjs +0 -58
- package/esm2020/controls/list/listbox.ngfactory.mjs +0 -3
- package/esm2020/controls/list/listbox.ngsummary.mjs +0 -3
- package/esm2020/controls/multilanguage/multilanguageinput.mjs +0 -62
- package/esm2020/controls/multilanguage/multilanguageinput.ngfactory.mjs +0 -3
- package/esm2020/controls/multilanguage/multilanguageinput.ngsummary.mjs +0 -3
- package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +0 -65
- package/esm2020/controls/multilanguage/multilanguageinputarea.ngfactory.mjs +0 -3
- package/esm2020/controls/multilanguage/multilanguageinputarea.ngsummary.mjs +0 -3
- package/esm2020/controls/static/formcontainer.mjs +0 -20
- package/esm2020/controls/static/formcontainer.ngfactory.mjs +0 -3
- package/esm2020/controls/static/formcontainer.ngsummary.mjs +0 -3
- package/esm2020/controls/static/staticlabel.mjs +0 -13
- package/esm2020/controls/static/staticlabel.ngfactory.mjs +0 -3
- package/esm2020/controls/static/staticlabel.ngsummary.mjs +0 -3
- package/esm2020/controls/tabs/tab.mjs +0 -24
- package/esm2020/controls/tabs/tab.ngfactory.mjs +0 -3
- package/esm2020/controls/tabs/tab.ngsummary.mjs +0 -3
- package/esm2020/controls/tabs/tabitem.mjs +0 -11
- package/esm2020/controls/tabs/tabitem.ngfactory.mjs +0 -3
- package/esm2020/controls/tabs/tabitem.ngsummary.mjs +0 -3
- package/esm2020/controls/tinymce/tinymce.mjs +0 -80
- package/esm2020/controls/tinymce/tinymce.ngfactory.mjs +0 -3
- package/esm2020/controls/tinymce/tinymce.ngsummary.mjs +0 -3
- package/esm2020/controls/tinymce/tinymcedialogsettings.mjs +0 -8
- package/esm2020/controls/tinymce/tinymcedialogsettings.ngfactory.mjs +0 -3
- package/esm2020/controls/tinymce/tinymcedialogsettings.ngsummary.mjs +0 -3
- package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.mjs +0 -5
- package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.mjs +0 -3
- package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.mjs +0 -3
- package/esm2020/controls/tinymce/tinymceinstance.mjs +0 -3
- package/esm2020/controls/tinymce/tinymceinstance.ngfactory.mjs +0 -3
- package/esm2020/controls/tinymce/tinymceinstance.ngsummary.mjs +0 -3
- package/esm2020/controls/tooltip/tooltip.mjs +0 -85
- package/esm2020/controls/tooltip/tooltip.ngfactory.mjs +0 -3
- package/esm2020/controls/tooltip/tooltip.ngsummary.mjs +0 -3
- package/esm2020/controls/treeview/ngtreeitemaction.mjs +0 -16
- package/esm2020/controls/treeview/ngtreeitemaction.ngfactory.mjs +0 -3
- package/esm2020/controls/treeview/ngtreeitemaction.ngsummary.mjs +0 -3
- package/esm2020/controls/treeview/treeview.mjs +0 -98
- package/esm2020/controls/treeview/treeview.ngfactory.mjs +0 -3
- package/esm2020/controls/treeview/treeview.ngsummary.mjs +0 -3
- package/esm2020/controls/treeview/treeviewchild.mjs +0 -8
- package/esm2020/controls/treeview/treeviewchild.ngfactory.mjs +0 -3
- package/esm2020/controls/treeview/treeviewchild.ngsummary.mjs +0 -3
- package/esm2020/controls/upload/dropzonemultiple.mjs +0 -46
- package/esm2020/controls/upload/dropzonemultiple.ngfactory.mjs +0 -3
- package/esm2020/controls/upload/dropzonemultiple.ngsummary.mjs +0 -3
- package/esm2020/controls/upload/dropzonesingle.mjs +0 -28
- package/esm2020/controls/upload/dropzonesingle.ngfactory.mjs +0 -3
- package/esm2020/controls/upload/dropzonesingle.ngsummary.mjs +0 -3
- package/esm2020/controls/upload/uploadmultiple.mjs +0 -35
- package/esm2020/controls/upload/uploadmultiple.ngfactory.mjs +0 -3
- package/esm2020/controls/upload/uploadmultiple.ngsummary.mjs +0 -3
- package/esm2020/controls/upload/uploadsingle.mjs +0 -17
- package/esm2020/controls/upload/uploadsingle.ngfactory.mjs +0 -3
- package/esm2020/controls/upload/uploadsingle.ngsummary.mjs +0 -3
- package/esm2020/controls/validation/validationsummary.mjs +0 -31
- package/esm2020/controls/validation/validationsummary.ngfactory.mjs +0 -3
- package/esm2020/controls/validation/validationsummary.ngsummary.mjs +0 -3
- package/esm2020/controls/wizard/wizard.mjs +0 -37
- package/esm2020/controls/wizard/wizard.ngfactory.mjs +0 -3
- package/esm2020/controls/wizard/wizard.ngsummary.mjs +0 -3
- package/esm2020/controls/wizard/wizarditem.mjs +0 -9
- package/esm2020/controls/wizard/wizarditem.ngfactory.mjs +0 -3
- package/esm2020/controls/wizard/wizarditem.ngsummary.mjs +0 -3
- package/esm2020/enums/ButtonRoleType.mjs +0 -3
- package/esm2020/enums/ButtonRoleType.ngfactory.mjs +0 -3
- package/esm2020/enums/ButtonRoleType.ngsummary.mjs +0 -3
- package/esm2020/enums/ControlHeight.mjs +0 -11
- package/esm2020/enums/ControlHeight.ngfactory.mjs +0 -3
- package/esm2020/enums/ControlHeight.ngsummary.mjs +0 -3
- package/esm2020/enums/IconType.mjs +0 -5
- package/esm2020/enums/IconType.ngfactory.mjs +0 -3
- package/esm2020/enums/IconType.ngsummary.mjs +0 -3
- package/esm2020/interfaces/ISacConfigurationService.mjs +0 -3
- package/esm2020/interfaces/ISacConfigurationService.ngfactory.mjs +0 -3
- package/esm2020/interfaces/ISacConfigurationService.ngsummary.mjs +0 -3
- package/esm2020/interfaces/ISacFileBrowserService.mjs +0 -3
- package/esm2020/interfaces/ISacFileBrowserService.ngfactory.mjs +0 -3
- package/esm2020/interfaces/ISacFileBrowserService.ngsummary.mjs +0 -3
- package/esm2020/interfaces/ISacIconService.mjs +0 -3
- package/esm2020/interfaces/ISacIconService.ngfactory.mjs +0 -3
- package/esm2020/interfaces/ISacIconService.ngsummary.mjs +0 -3
- package/esm2020/interfaces/ISacLabelSizes.mjs +0 -3
- package/esm2020/interfaces/ISacLabelSizes.ngfactory.mjs +0 -3
- package/esm2020/interfaces/ISacLabelSizes.ngsummary.mjs +0 -3
- package/esm2020/interfaces/ISacLanguageService.mjs +0 -3
- package/esm2020/interfaces/ISacLanguageService.ngfactory.mjs +0 -3
- package/esm2020/interfaces/ISacLanguageService.ngsummary.mjs +0 -3
- package/esm2020/interfaces/ISacLocalisationService.mjs +0 -3
- package/esm2020/interfaces/ISacLocalisationService.ngfactory.mjs +0 -3
- package/esm2020/interfaces/ISacLocalisationService.ngsummary.mjs +0 -3
- package/esm2020/interfaces/ISacValidationKeyService.mjs +0 -3
- package/esm2020/interfaces/ISacValidationKeyService.ngfactory.mjs +0 -3
- package/esm2020/interfaces/ISacValidationKeyService.ngsummary.mjs +0 -3
- package/esm2020/interfaces/iabstractcontrollabel.mjs +0 -3
- package/esm2020/interfaces/iabstractcontrollabel.ngfactory.mjs +0 -3
- package/esm2020/interfaces/iabstractcontrollabel.ngsummary.mjs +0 -3
- package/esm2020/interfaces/iconfirmcomponent.mjs +0 -3
- package/esm2020/interfaces/iconfirmcomponent.ngfactory.mjs +0 -3
- package/esm2020/interfaces/iconfirmcomponent.ngsummary.mjs +0 -3
- package/esm2020/interfaces/idatetimecontrol.mjs +0 -3
- package/esm2020/interfaces/idatetimecontrol.ngfactory.mjs +0 -3
- package/esm2020/interfaces/idatetimecontrol.ngsummary.mjs +0 -3
- package/esm2020/interfaces/iuploadcontrol.mjs +0 -3
- package/esm2020/interfaces/iuploadcontrol.ngfactory.mjs +0 -3
- package/esm2020/interfaces/iuploadcontrol.ngsummary.mjs +0 -3
- package/esm2020/models/languagemodel.mjs +0 -7
- package/esm2020/models/languagemodel.ngfactory.mjs +0 -3
- package/esm2020/models/languagemodel.ngsummary.mjs +0 -3
- package/esm2020/public_api.mjs +0 -25
- package/esm2020/public_api.ngfactory.mjs +0 -3
- package/esm2020/public_api.ngsummary.mjs +0 -3
- package/esm2020/services/index.mjs +0 -3
- package/esm2020/services/index.ngfactory.mjs +0 -3
- package/esm2020/services/index.ngsummary.mjs +0 -3
- package/esm2020/services/sac-configuration.service.mjs +0 -25
- package/esm2020/services/sac-configuration.service.ngfactory.mjs +0 -3
- package/esm2020/services/sac-configuration.service.ngsummary.mjs +0 -3
- package/esm2020/services/sac-filebrowser.service.mjs +0 -53
- package/esm2020/services/sac-filebrowser.service.ngfactory.mjs +0 -3
- package/esm2020/services/sac-filebrowser.service.ngsummary.mjs +0 -3
- package/esm2020/services/sac-icon.service.mjs +0 -55
- package/esm2020/services/sac-icon.service.ngfactory.mjs +0 -3
- package/esm2020/services/sac-icon.service.ngsummary.mjs +0 -3
- package/esm2020/services/sac-language.service.mjs +0 -11
- package/esm2020/services/sac-language.service.ngfactory.mjs +0 -3
- package/esm2020/services/sac-language.service.ngsummary.mjs +0 -3
- package/esm2020/services/sac-localisation.service.mjs +0 -40
- package/esm2020/services/sac-localisation.service.ngfactory.mjs +0 -3
- package/esm2020/services/sac-localisation.service.ngsummary.mjs +0 -3
- package/esm2020/services/sac-validationkey.service.mjs +0 -7
- package/esm2020/services/sac-validationkey.service.ngfactory.mjs +0 -3
- package/esm2020/services/sac-validationkey.service.ngsummary.mjs +0 -3
- package/esm2020/simpleangularcontrols-sac-common.mjs +0 -5
- package/esm2020/utilities/convertion.mjs +0 -12
- package/esm2020/utilities/convertion.ngfactory.mjs +0 -3
- package/esm2020/utilities/convertion.ngsummary.mjs +0 -3
- package/esm2020/utilities/datatypes.mjs +0 -7
- package/esm2020/utilities/datatypes.ngfactory.mjs +0 -3
- package/esm2020/utilities/datatypes.ngsummary.mjs +0 -3
- package/esm2020/utilities/enums.mjs +0 -9
- package/esm2020/utilities/enums.ngfactory.mjs +0 -3
- package/esm2020/utilities/enums.ngsummary.mjs +0 -3
- package/esm2020/utilities/guid.mjs +0 -6
- package/esm2020/utilities/guid.ngfactory.mjs +0 -3
- package/esm2020/utilities/guid.ngsummary.mjs +0 -3
- package/esm2020/utilities/interpolation.mjs +0 -15
- package/esm2020/utilities/interpolation.ngfactory.mjs +0 -3
- package/esm2020/utilities/interpolation.ngsummary.mjs +0 -3
- package/esm2020/utilities/positioning.mjs +0 -58
- package/esm2020/utilities/positioning.ngfactory.mjs +0 -3
- package/esm2020/utilities/positioning.ngsummary.mjs +0 -3
- package/esm2020/validation/email.validator.mjs +0 -3
- package/esm2020/validation/email.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/email.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/index.mjs +0 -3
- package/esm2020/validation/index.ngfactory.mjs +0 -3
- package/esm2020/validation/index.ngsummary.mjs +0 -3
- package/esm2020/validation/invaliddate.validator.mjs +0 -3
- package/esm2020/validation/invaliddate.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/invaliddate.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/isDateValid.mjs +0 -6
- package/esm2020/validation/isDateValid.ngfactory.mjs +0 -3
- package/esm2020/validation/isDateValid.ngsummary.mjs +0 -3
- package/esm2020/validation/maxdate.validator.mjs +0 -4
- package/esm2020/validation/maxdate.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/maxdate.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/maxtime.validator.mjs +0 -4
- package/esm2020/validation/maxtime.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/maxtime.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/maxvalue.validator.mjs +0 -3
- package/esm2020/validation/maxvalue.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/maxvalue.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/mindate.validator.mjs +0 -4
- package/esm2020/validation/mindate.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/mindate.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/minfiles.validator.mjs +0 -4
- package/esm2020/validation/minfiles.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/minfiles.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/minlength.validator.mjs +0 -3
- package/esm2020/validation/minlength.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/minlength.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/mintime.validator.mjs +0 -4
- package/esm2020/validation/mintime.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/mintime.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/minvalue.validator.mjs +0 -3
- package/esm2020/validation/minvalue.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/minvalue.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/multilanguagerequired.validator.mjs +0 -3
- package/esm2020/validation/multilanguagerequired.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/multilanguagerequired.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/multilanguagerequiredany.validator.mjs +0 -3
- package/esm2020/validation/multilanguagerequiredany.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/multilanguagerequiredany.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/pattern.validator.mjs +0 -3
- package/esm2020/validation/pattern.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/pattern.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/required.validator.mjs +0 -3
- package/esm2020/validation/required.validator.ngfactory.mjs +0 -3
- package/esm2020/validation/required.validator.ngsummary.mjs +0 -3
- package/esm2020/validation/validation.mjs +0 -109
- package/esm2020/validation/validation.ngfactory.mjs +0 -3
- package/esm2020/validation/validation.ngsummary.mjs +0 -3
- package/esm2020/validation/validationerrorcreator.mjs +0 -3
- package/esm2020/validation/validationerrorcreator.ngfactory.mjs +0 -3
- package/esm2020/validation/validationerrorcreator.ngsummary.mjs +0 -3
- package/esm2020/validation/validationerroritem.mjs +0 -15
- package/esm2020/validation/validationerroritem.ngfactory.mjs +0 -3
- package/esm2020/validation/validationerroritem.ngsummary.mjs +0 -3
- package/fesm2015/simpleangularcontrols-sac-common.mjs +0 -2806
- package/fesm2015/simpleangularcontrols-sac-common.mjs.map +0 -1
- package/fesm2020/simpleangularcontrols-sac-common.mjs +0 -2806
- package/fesm2020/simpleangularcontrols-sac-common.mjs.map +0 -1
- package/interfaces/ISacConfigurationService.d.ts +0 -35
- package/interfaces/ISacConfigurationService.d.ts.map +0 -1
- package/interfaces/ISacConfigurationService.ngfactory.d.ts +0 -2
- package/interfaces/ISacConfigurationService.ngfactory.d.ts.map +0 -1
- package/interfaces/ISacConfigurationService.ngsummary.d.ts +0 -2
- package/interfaces/ISacConfigurationService.ngsummary.d.ts.map +0 -1
- package/interfaces/ISacFileBrowserService.ngfactory.d.ts +0 -2
- package/interfaces/ISacFileBrowserService.ngfactory.d.ts.map +0 -1
- package/interfaces/ISacFileBrowserService.ngsummary.d.ts +0 -2
- package/interfaces/ISacFileBrowserService.ngsummary.d.ts.map +0 -1
- package/interfaces/ISacIconService.ngfactory.d.ts +0 -2
- package/interfaces/ISacIconService.ngfactory.d.ts.map +0 -1
- package/interfaces/ISacIconService.ngsummary.d.ts +0 -2
- package/interfaces/ISacIconService.ngsummary.d.ts.map +0 -1
- package/interfaces/ISacLabelSizes.d.ts +0 -27
- package/interfaces/ISacLabelSizes.d.ts.map +0 -1
- package/interfaces/ISacLabelSizes.ngfactory.d.ts +0 -2
- package/interfaces/ISacLabelSizes.ngfactory.d.ts.map +0 -1
- package/interfaces/ISacLabelSizes.ngsummary.d.ts +0 -2
- package/interfaces/ISacLabelSizes.ngsummary.d.ts.map +0 -1
- package/interfaces/ISacLanguageService.ngfactory.d.ts +0 -2
- package/interfaces/ISacLanguageService.ngfactory.d.ts.map +0 -1
- package/interfaces/ISacLanguageService.ngsummary.d.ts +0 -2
- package/interfaces/ISacLanguageService.ngsummary.d.ts.map +0 -1
- package/interfaces/ISacLocalisationService.ngfactory.d.ts +0 -2
- package/interfaces/ISacLocalisationService.ngfactory.d.ts.map +0 -1
- package/interfaces/ISacLocalisationService.ngsummary.d.ts +0 -2
- package/interfaces/ISacLocalisationService.ngsummary.d.ts.map +0 -1
- package/interfaces/ISacValidationKeyService.d.ts +0 -53
- package/interfaces/ISacValidationKeyService.d.ts.map +0 -1
- package/interfaces/ISacValidationKeyService.ngfactory.d.ts +0 -2
- package/interfaces/ISacValidationKeyService.ngfactory.d.ts.map +0 -1
- package/interfaces/ISacValidationKeyService.ngsummary.d.ts +0 -2
- package/interfaces/ISacValidationKeyService.ngsummary.d.ts.map +0 -1
- package/interfaces/iabstractcontrollabel.ngfactory.d.ts +0 -2
- package/interfaces/iabstractcontrollabel.ngfactory.d.ts.map +0 -1
- package/interfaces/iabstractcontrollabel.ngsummary.d.ts +0 -2
- package/interfaces/iabstractcontrollabel.ngsummary.d.ts.map +0 -1
- package/interfaces/iconfirmcomponent.ngfactory.d.ts +0 -2
- package/interfaces/iconfirmcomponent.ngfactory.d.ts.map +0 -1
- package/interfaces/iconfirmcomponent.ngsummary.d.ts +0 -2
- package/interfaces/iconfirmcomponent.ngsummary.d.ts.map +0 -1
- package/interfaces/idatetimecontrol.ngfactory.d.ts +0 -2
- package/interfaces/idatetimecontrol.ngfactory.d.ts.map +0 -1
- package/interfaces/idatetimecontrol.ngsummary.d.ts +0 -2
- package/interfaces/idatetimecontrol.ngsummary.d.ts.map +0 -1
- package/interfaces/iuploadcontrol.ngfactory.d.ts +0 -2
- package/interfaces/iuploadcontrol.ngfactory.d.ts.map +0 -1
- package/interfaces/iuploadcontrol.ngsummary.d.ts +0 -2
- package/interfaces/iuploadcontrol.ngsummary.d.ts.map +0 -1
- package/models/languagemodel.ngfactory.d.ts +0 -2
- package/models/languagemodel.ngfactory.d.ts.map +0 -1
- package/models/languagemodel.ngsummary.d.ts +0 -2
- package/models/languagemodel.ngsummary.d.ts.map +0 -1
- package/public_api.ngfactory.d.ts +0 -2
- package/public_api.ngfactory.d.ts.map +0 -1
- package/public_api.ngsummary.d.ts +0 -2
- package/public_api.ngsummary.d.ts.map +0 -1
- package/services/index.ngfactory.d.ts +0 -2
- package/services/index.ngfactory.d.ts.map +0 -1
- package/services/index.ngsummary.d.ts +0 -2
- package/services/index.ngsummary.d.ts.map +0 -1
- package/services/sac-configuration.service.d.ts +0 -76
- package/services/sac-configuration.service.d.ts.map +0 -1
- package/services/sac-configuration.service.ngfactory.d.ts +0 -5
- package/services/sac-configuration.service.ngfactory.d.ts.map +0 -1
- package/services/sac-configuration.service.ngsummary.d.ts +0 -3
- package/services/sac-configuration.service.ngsummary.d.ts.map +0 -1
- package/services/sac-filebrowser.service.ngfactory.d.ts +0 -5
- package/services/sac-filebrowser.service.ngfactory.d.ts.map +0 -1
- package/services/sac-filebrowser.service.ngsummary.d.ts +0 -3
- package/services/sac-filebrowser.service.ngsummary.d.ts.map +0 -1
- package/services/sac-icon.service.ngfactory.d.ts +0 -5
- package/services/sac-icon.service.ngfactory.d.ts.map +0 -1
- package/services/sac-icon.service.ngsummary.d.ts +0 -3
- package/services/sac-icon.service.ngsummary.d.ts.map +0 -1
- package/services/sac-language.service.ngfactory.d.ts +0 -5
- package/services/sac-language.service.ngfactory.d.ts.map +0 -1
- package/services/sac-language.service.ngsummary.d.ts +0 -3
- package/services/sac-language.service.ngsummary.d.ts.map +0 -1
- package/services/sac-localisation.service.ngfactory.d.ts +0 -5
- package/services/sac-localisation.service.ngfactory.d.ts.map +0 -1
- package/services/sac-localisation.service.ngsummary.d.ts +0 -3
- package/services/sac-localisation.service.ngsummary.d.ts.map +0 -1
- package/services/sac-validationkey.service.d.ts +0 -59
- package/services/sac-validationkey.service.d.ts.map +0 -1
- package/services/sac-validationkey.service.ngfactory.d.ts +0 -4
- package/services/sac-validationkey.service.ngfactory.d.ts.map +0 -1
- package/services/sac-validationkey.service.ngsummary.d.ts +0 -2
- package/services/sac-validationkey.service.ngsummary.d.ts.map +0 -1
- package/simpleangularcontrols-sac-common-13.0.0-rc.5.tgz +0 -0
- package/utilities/convertion.ngfactory.d.ts +0 -2
- package/utilities/convertion.ngfactory.d.ts.map +0 -1
- package/utilities/convertion.ngsummary.d.ts +0 -2
- package/utilities/convertion.ngsummary.d.ts.map +0 -1
- package/utilities/datatypes.ngfactory.d.ts +0 -2
- package/utilities/datatypes.ngfactory.d.ts.map +0 -1
- package/utilities/datatypes.ngsummary.d.ts +0 -2
- package/utilities/datatypes.ngsummary.d.ts.map +0 -1
- package/utilities/enums.ngfactory.d.ts +0 -2
- package/utilities/enums.ngfactory.d.ts.map +0 -1
- package/utilities/enums.ngsummary.d.ts +0 -2
- package/utilities/enums.ngsummary.d.ts.map +0 -1
- package/utilities/guid.d.ts +0 -5
- package/utilities/guid.d.ts.map +0 -1
- package/utilities/guid.ngfactory.d.ts +0 -2
- package/utilities/guid.ngfactory.d.ts.map +0 -1
- package/utilities/guid.ngsummary.d.ts +0 -2
- package/utilities/guid.ngsummary.d.ts.map +0 -1
- package/utilities/interpolation.ngfactory.d.ts +0 -2
- package/utilities/interpolation.ngfactory.d.ts.map +0 -1
- package/utilities/interpolation.ngsummary.d.ts +0 -2
- package/utilities/interpolation.ngsummary.d.ts.map +0 -1
- package/utilities/positioning.ngfactory.d.ts +0 -2
- package/utilities/positioning.ngfactory.d.ts.map +0 -1
- package/utilities/positioning.ngsummary.d.ts +0 -2
- package/utilities/positioning.ngsummary.d.ts.map +0 -1
- package/validation/email.validator.ngfactory.d.ts +0 -2
- package/validation/email.validator.ngfactory.d.ts.map +0 -1
- package/validation/email.validator.ngsummary.d.ts +0 -2
- package/validation/email.validator.ngsummary.d.ts.map +0 -1
- package/validation/index.ngfactory.d.ts +0 -2
- package/validation/index.ngfactory.d.ts.map +0 -1
- package/validation/index.ngsummary.d.ts +0 -2
- package/validation/index.ngsummary.d.ts.map +0 -1
- package/validation/invaliddate.validator.ngfactory.d.ts +0 -2
- package/validation/invaliddate.validator.ngfactory.d.ts.map +0 -1
- package/validation/invaliddate.validator.ngsummary.d.ts +0 -2
- package/validation/invaliddate.validator.ngsummary.d.ts.map +0 -1
- package/validation/isDateValid.ngfactory.d.ts +0 -2
- package/validation/isDateValid.ngfactory.d.ts.map +0 -1
- package/validation/isDateValid.ngsummary.d.ts +0 -2
- package/validation/isDateValid.ngsummary.d.ts.map +0 -1
- package/validation/maxdate.validator.ngfactory.d.ts +0 -2
- package/validation/maxdate.validator.ngfactory.d.ts.map +0 -1
- package/validation/maxdate.validator.ngsummary.d.ts +0 -2
- package/validation/maxdate.validator.ngsummary.d.ts.map +0 -1
- package/validation/maxtime.validator.ngfactory.d.ts +0 -2
- package/validation/maxtime.validator.ngfactory.d.ts.map +0 -1
- package/validation/maxtime.validator.ngsummary.d.ts +0 -2
- package/validation/maxtime.validator.ngsummary.d.ts.map +0 -1
- package/validation/maxvalue.validator.ngfactory.d.ts +0 -2
- package/validation/maxvalue.validator.ngfactory.d.ts.map +0 -1
- package/validation/maxvalue.validator.ngsummary.d.ts +0 -2
- package/validation/maxvalue.validator.ngsummary.d.ts.map +0 -1
- package/validation/mindate.validator.ngfactory.d.ts +0 -2
- package/validation/mindate.validator.ngfactory.d.ts.map +0 -1
- package/validation/mindate.validator.ngsummary.d.ts +0 -2
- package/validation/mindate.validator.ngsummary.d.ts.map +0 -1
- package/validation/minfiles.validator.ngfactory.d.ts +0 -2
- package/validation/minfiles.validator.ngfactory.d.ts.map +0 -1
- package/validation/minfiles.validator.ngsummary.d.ts +0 -2
- package/validation/minfiles.validator.ngsummary.d.ts.map +0 -1
- package/validation/minlength.validator.ngfactory.d.ts +0 -2
- package/validation/minlength.validator.ngfactory.d.ts.map +0 -1
- package/validation/minlength.validator.ngsummary.d.ts +0 -2
- package/validation/minlength.validator.ngsummary.d.ts.map +0 -1
- package/validation/mintime.validator.ngfactory.d.ts +0 -2
- package/validation/mintime.validator.ngfactory.d.ts.map +0 -1
- package/validation/mintime.validator.ngsummary.d.ts +0 -2
- package/validation/mintime.validator.ngsummary.d.ts.map +0 -1
- package/validation/minvalue.validator.ngfactory.d.ts +0 -2
- package/validation/minvalue.validator.ngfactory.d.ts.map +0 -1
- package/validation/minvalue.validator.ngsummary.d.ts +0 -2
- package/validation/minvalue.validator.ngsummary.d.ts.map +0 -1
- package/validation/multilanguagerequired.validator.ngfactory.d.ts +0 -2
- package/validation/multilanguagerequired.validator.ngfactory.d.ts.map +0 -1
- package/validation/multilanguagerequired.validator.ngsummary.d.ts +0 -2
- package/validation/multilanguagerequired.validator.ngsummary.d.ts.map +0 -1
- package/validation/multilanguagerequiredany.validator.ngfactory.d.ts +0 -2
- package/validation/multilanguagerequiredany.validator.ngfactory.d.ts.map +0 -1
- package/validation/multilanguagerequiredany.validator.ngsummary.d.ts +0 -2
- package/validation/multilanguagerequiredany.validator.ngsummary.d.ts.map +0 -1
- package/validation/pattern.validator.ngfactory.d.ts +0 -2
- package/validation/pattern.validator.ngfactory.d.ts.map +0 -1
- package/validation/pattern.validator.ngsummary.d.ts +0 -2
- package/validation/pattern.validator.ngsummary.d.ts.map +0 -1
- package/validation/required.validator.ngfactory.d.ts +0 -2
- package/validation/required.validator.ngfactory.d.ts.map +0 -1
- package/validation/required.validator.ngsummary.d.ts +0 -2
- package/validation/required.validator.ngsummary.d.ts.map +0 -1
- package/validation/validation.ngfactory.d.ts +0 -2
- package/validation/validation.ngfactory.d.ts.map +0 -1
- package/validation/validation.ngsummary.d.ts +0 -2
- package/validation/validation.ngsummary.d.ts.map +0 -1
- package/validation/validationerrorcreator.ngfactory.d.ts +0 -2
- package/validation/validationerrorcreator.ngfactory.d.ts.map +0 -1
- package/validation/validationerrorcreator.ngsummary.d.ts +0 -2
- package/validation/validationerrorcreator.ngsummary.d.ts.map +0 -1
- package/validation/validationerroritem.ngfactory.d.ts +0 -2
- package/validation/validationerroritem.ngfactory.d.ts.map +0 -1
- package/validation/validationerroritem.ngsummary.d.ts +0 -2
- package/validation/validationerroritem.ngsummary.d.ts.map +0 -1
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
import { Directive, EventEmitter, HostListener, Input, Output, } from '@angular/core';
|
|
2
|
+
import { SACICON_SERVICE, SACLOCALISATION_SERVICE, SacDefaultIconService, } from '../../services';
|
|
3
|
+
import { SACFILEBROWSER_SERVICE, SacDefaultFileBrowserService, } from '../../services/sac-filebrowser.service';
|
|
4
|
+
import { SacDefaultLocalisationService } from '../../services/sac-localisation.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
/**
|
|
8
|
+
* Base Component für File Browser
|
|
9
|
+
*/
|
|
10
|
+
class SacFileBrowserCommon {
|
|
11
|
+
// #endregion Properties
|
|
12
|
+
// #region Constructors
|
|
13
|
+
/**
|
|
14
|
+
* Konstruktor
|
|
15
|
+
* @param httpclient Angular HTTP Client
|
|
16
|
+
* @param injector Service Injector
|
|
17
|
+
*/
|
|
18
|
+
constructor(httpclient, injector) {
|
|
19
|
+
/**
|
|
20
|
+
* File welches beim starten des Browsers bereits selektiert ist
|
|
21
|
+
*/
|
|
22
|
+
this.preselecedfile = null;
|
|
23
|
+
/**
|
|
24
|
+
* Erlaubte Dateierweiterungen für Fileauswahl und Upload. Dateierweiterung mit Punkt und
|
|
25
|
+
* getrennt durch Komma für mehr als eine Erweiterung (Example: ".jpg,.gif")
|
|
26
|
+
*/
|
|
27
|
+
this.allowedtypes = '';
|
|
28
|
+
/**
|
|
29
|
+
* Erlaubt das löschen einer Datei
|
|
30
|
+
*/
|
|
31
|
+
this.allowfiledelete = true;
|
|
32
|
+
/**
|
|
33
|
+
* Erlaubt das umbenennen einer Datei
|
|
34
|
+
*/
|
|
35
|
+
this.allowfilerename = true;
|
|
36
|
+
/**
|
|
37
|
+
* Erlaubt den Upload von Dateien
|
|
38
|
+
*/
|
|
39
|
+
this.allowfileupload = true;
|
|
40
|
+
/**
|
|
41
|
+
* Erlaubt das erstellen eines neuen Ordners
|
|
42
|
+
*/
|
|
43
|
+
this.allowfoldercreate = true;
|
|
44
|
+
/**
|
|
45
|
+
* Erlaubt das löschen eines Ordners
|
|
46
|
+
*/
|
|
47
|
+
this.allowfolderdelete = true;
|
|
48
|
+
/**
|
|
49
|
+
* Erlaubt das Umbenennen eines Ordners
|
|
50
|
+
*/
|
|
51
|
+
this.allowfolderrename = true;
|
|
52
|
+
/**
|
|
53
|
+
* Output Emitter wenn File selektiert wird.
|
|
54
|
+
*/
|
|
55
|
+
this.file = new EventEmitter();
|
|
56
|
+
/**
|
|
57
|
+
* Root Node Item für Tree
|
|
58
|
+
*/
|
|
59
|
+
this.rootNode = {
|
|
60
|
+
Name: '',
|
|
61
|
+
ChildNodes: [],
|
|
62
|
+
Files: [],
|
|
63
|
+
IsExpanded: true,
|
|
64
|
+
IsEditMode: false,
|
|
65
|
+
IsNewNode: false,
|
|
66
|
+
Path: '',
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Selected File Item
|
|
70
|
+
*/
|
|
71
|
+
this.selectedFileItem = null;
|
|
72
|
+
/**
|
|
73
|
+
* Selected Node Item
|
|
74
|
+
*/
|
|
75
|
+
this.selectedNode = null;
|
|
76
|
+
/**
|
|
77
|
+
* Liste von Uploads
|
|
78
|
+
*/
|
|
79
|
+
this.uploads = [];
|
|
80
|
+
this.browserService = injector.get(SACFILEBROWSER_SERVICE, new SacDefaultFileBrowserService(httpclient));
|
|
81
|
+
this.lngResourceService = injector.get(SACLOCALISATION_SERVICE, new SacDefaultLocalisationService());
|
|
82
|
+
this.iconService = injector.get(SACICON_SERVICE, new SacDefaultIconService());
|
|
83
|
+
}
|
|
84
|
+
// #endregion Constructors
|
|
85
|
+
// #region Public Getters And Setters
|
|
86
|
+
/**
|
|
87
|
+
* CSS icon class for delete icon
|
|
88
|
+
* @returns css class with icon
|
|
89
|
+
*/
|
|
90
|
+
get iconDelete() {
|
|
91
|
+
return this.iconService.BrowserComponentDeleteIcon;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* CSS icon class for edit icon
|
|
95
|
+
* @returns css class with icon
|
|
96
|
+
*/
|
|
97
|
+
get iconEdit() {
|
|
98
|
+
return this.iconService.BrowserComponentEditIcon;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* CSS icon for folders in tree there are collabsed
|
|
102
|
+
* @returns css class with icon
|
|
103
|
+
*/
|
|
104
|
+
get iconFolderCollabsed() {
|
|
105
|
+
return this.iconService.BrowserComponentFolderClosedIcon;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* CSS icon class for folders without subfolders
|
|
109
|
+
* @returns css class with icon
|
|
110
|
+
*/
|
|
111
|
+
get iconFolderEmpty() {
|
|
112
|
+
return this.iconService.BrowserComponentFolderEmptyIcon;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* CSS icon for new folders action
|
|
116
|
+
* @returns css class with icon
|
|
117
|
+
*/
|
|
118
|
+
get iconFolderNew() {
|
|
119
|
+
return this.iconService.BrowserComponentFolderNewIcon;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* CSS icon for folders in tree there are expanded
|
|
123
|
+
* @returns css class with icon
|
|
124
|
+
*/
|
|
125
|
+
get iconFolderOpen() {
|
|
126
|
+
return this.iconService.BrowserComponentFolderOpenIcon;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* CSS icon class for refresh icon
|
|
130
|
+
* @returns css class with icon
|
|
131
|
+
*/
|
|
132
|
+
get iconRefresh() {
|
|
133
|
+
return this.iconService.BrowserComponentRefreshIcon;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Getter für Selected File. Ist an Input Property gebunden
|
|
137
|
+
*/
|
|
138
|
+
get selectedfile() {
|
|
139
|
+
if (this.selectFile && this.selectFile.length > 0) {
|
|
140
|
+
return this.selectedFile;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Setzt den Seleced Node über den Pfad
|
|
148
|
+
*/
|
|
149
|
+
set selectedfile(v) {
|
|
150
|
+
const selectednode = this.findSelectedNodeByPath(this.rootNode, v);
|
|
151
|
+
if (selectednode !== null) {
|
|
152
|
+
this.selectNode(selectednode);
|
|
153
|
+
}
|
|
154
|
+
this.preselecedfile = v;
|
|
155
|
+
}
|
|
156
|
+
// #endregion Public Getters And Setters
|
|
157
|
+
// #region Public Methods
|
|
158
|
+
/**
|
|
159
|
+
* Löscht ein File
|
|
160
|
+
* @param file File welches gelöscht werden soll
|
|
161
|
+
*/
|
|
162
|
+
deleteFile(file) {
|
|
163
|
+
this.confirmDeleteFile(file).subscribe((confirm) => {
|
|
164
|
+
if (confirm) {
|
|
165
|
+
this.browserService
|
|
166
|
+
.DeleteFile(this.apiurl, this.selectedNode.Path + '/' + file.Filename, this.allowedtypes)
|
|
167
|
+
.subscribe((result) => {
|
|
168
|
+
this.selectedNode.Files = result.Files;
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Löscht einen Node
|
|
175
|
+
* @param node Node welcher gelöscht werden soll
|
|
176
|
+
*/
|
|
177
|
+
deleteNode(node) {
|
|
178
|
+
this.confirmDeleteNode(node).subscribe((confirm) => {
|
|
179
|
+
if (confirm) {
|
|
180
|
+
this.browserService
|
|
181
|
+
.DeleteNode(this.apiurl, node.Path)
|
|
182
|
+
.subscribe((result) => {
|
|
183
|
+
const parentNode = this.findParentNode(this.rootNode, node);
|
|
184
|
+
parentNode.ChildNodes = result.Node.ChildNodes;
|
|
185
|
+
this.rootNode.ChildNodes.forEach((itm) => {
|
|
186
|
+
this.fillPath(itm, '');
|
|
187
|
+
});
|
|
188
|
+
this.selectNode(parentNode);
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Setzt ein File in den Edit Mode
|
|
195
|
+
* @param file File welches in den Edit Mode gesetzt werden soll
|
|
196
|
+
*/
|
|
197
|
+
editFile(file) {
|
|
198
|
+
file.IsEditMode = true;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Setzt einen Node in den Edit Mode
|
|
202
|
+
* @param node Node welcher bearbeitet werden soll
|
|
203
|
+
*/
|
|
204
|
+
editNode(node) {
|
|
205
|
+
node.IsEditMode = true;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* HostListener welcher den Edit Mode bei allen Files und Nodes beendet.
|
|
209
|
+
*/
|
|
210
|
+
exitEditMode(targetElement) {
|
|
211
|
+
if (this.selectedNode) {
|
|
212
|
+
this.selectedNode.Files.forEach((itm) => (itm.IsEditMode = false));
|
|
213
|
+
if (!this.selectedNode ||
|
|
214
|
+
this.selectedNode.Name === null ||
|
|
215
|
+
this.selectedNode.Name.length === 0) {
|
|
216
|
+
this.clearNewChildNodes(this.rootNode);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
this.resetNodeEditMode(null);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Erzeugt einen neuen Node im Tree
|
|
223
|
+
* @param node Node unter welchem ein neuer Node erstellt werden soll
|
|
224
|
+
*/
|
|
225
|
+
newNode(node) {
|
|
226
|
+
const item = {
|
|
227
|
+
ChildNodes: [],
|
|
228
|
+
Files: [],
|
|
229
|
+
IsEditMode: false,
|
|
230
|
+
IsExpanded: false,
|
|
231
|
+
Name: '',
|
|
232
|
+
Path: node.Path,
|
|
233
|
+
IsNewNode: true,
|
|
234
|
+
};
|
|
235
|
+
node.ChildNodes.push(item);
|
|
236
|
+
this.selectNode(item);
|
|
237
|
+
this.editNode(item);
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Init Event der Komponente
|
|
241
|
+
*/
|
|
242
|
+
ngOnInit() {
|
|
243
|
+
this.browserService
|
|
244
|
+
.GetNode(this.apiurl, '', this.allowedtypes)
|
|
245
|
+
.subscribe((result) => {
|
|
246
|
+
this.rootNode = {
|
|
247
|
+
Name: result.Node.Name,
|
|
248
|
+
Files: result.Node.Files,
|
|
249
|
+
ChildNodes: result.Node.ChildNodes,
|
|
250
|
+
IsExpanded: true,
|
|
251
|
+
IsEditMode: false,
|
|
252
|
+
IsNewNode: false,
|
|
253
|
+
Path: '/',
|
|
254
|
+
};
|
|
255
|
+
this.setPathToAllNodes();
|
|
256
|
+
this.selectedNode = this.rootNode;
|
|
257
|
+
// Selected File erneut setzen, wenn Property gesetzt wurde bevor Daten vom Service geladen wurden.
|
|
258
|
+
if (this.preselecedfile !== null && this.preselecedfile.length > 0) {
|
|
259
|
+
this.selectedfile = this.preselecedfile;
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Aktualisiert den Node
|
|
265
|
+
*/
|
|
266
|
+
refreshNode(node) {
|
|
267
|
+
if (!node.IsExpanded) {
|
|
268
|
+
this.switchExpandNode(node);
|
|
269
|
+
}
|
|
270
|
+
this.browserService
|
|
271
|
+
.GetNode(this.apiurl, node.Path, this.allowedtypes)
|
|
272
|
+
.subscribe((result) => {
|
|
273
|
+
node.ChildNodes = result.Node.ChildNodes;
|
|
274
|
+
node.Files = result.Node.Files;
|
|
275
|
+
this.setPathToAllNodes();
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Methode wenn eine Datei umbenannt werden soll
|
|
280
|
+
* @param file File welches umbenannt werden soll
|
|
281
|
+
* @param newFilename Neuer Dateiname
|
|
282
|
+
*/
|
|
283
|
+
renameFile(file, newFilename) {
|
|
284
|
+
file.IsEditMode = false;
|
|
285
|
+
if (!newFilename || newFilename === null || newFilename.length === 0) {
|
|
286
|
+
// Cancel, Invalid Filename
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
if (file.Filename !== newFilename) {
|
|
290
|
+
this.browserService
|
|
291
|
+
.RenameFile(this.apiurl, this.selectedNode.Path + '/' + file.Filename, newFilename, this.allowedtypes)
|
|
292
|
+
.subscribe((result) => {
|
|
293
|
+
this.selectedNode.Files = result.Files;
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Methode wenn ein Node umbenannt werden soll
|
|
299
|
+
* @param node Node welcher umbenannt werden soll
|
|
300
|
+
* @param newFoldername Neuer Ordnername
|
|
301
|
+
*/
|
|
302
|
+
renameNode(node, newFoldername) {
|
|
303
|
+
node.IsEditMode = false;
|
|
304
|
+
if (!node.IsNewNode) {
|
|
305
|
+
if (!newFoldername ||
|
|
306
|
+
newFoldername === null ||
|
|
307
|
+
newFoldername.length === 0) {
|
|
308
|
+
// Cancel Rename. Invalid Foldername
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
if (node.Name !== newFoldername) {
|
|
312
|
+
this.browserService
|
|
313
|
+
.RenameNode(this.apiurl, node.Path, newFoldername)
|
|
314
|
+
.subscribe((result) => {
|
|
315
|
+
node.Name = result.Node.Name;
|
|
316
|
+
this.setPathToAllNodes();
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
if (!newFoldername ||
|
|
322
|
+
newFoldername === null ||
|
|
323
|
+
newFoldername.length === 0) {
|
|
324
|
+
this.clearNewChildNodes(this.rootNode);
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
node.Name = newFoldername;
|
|
328
|
+
node.IsNewNode = false;
|
|
329
|
+
this.browserService
|
|
330
|
+
.SaveNode(this.apiurl, node.Path, newFoldername)
|
|
331
|
+
.subscribe((result) => {
|
|
332
|
+
node.Name = result.Node.Name;
|
|
333
|
+
node.Files = result.Node.Files;
|
|
334
|
+
this.setPathToAllNodes();
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Methode wenn ein File selektiert wird
|
|
340
|
+
* @param file File welches selektiert wird
|
|
341
|
+
*/
|
|
342
|
+
selectFile(file) {
|
|
343
|
+
if (!file.IsEditMode) {
|
|
344
|
+
this.selectedNode.Files.forEach((itm) => (itm.IsEditMode = false));
|
|
345
|
+
}
|
|
346
|
+
if (!this.selectedNode.Path.endsWith('/')) {
|
|
347
|
+
this.selectedFile = this.selectedNode.Path + '/' + file.Filename;
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
this.selectedFile = '/' + file.Filename;
|
|
351
|
+
}
|
|
352
|
+
this.selectedFileItem = file;
|
|
353
|
+
this.file.emit(this.selectedFile);
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Methode wenn ein Node selektiert wird
|
|
357
|
+
* @param node Node welcher selektiert werden soll
|
|
358
|
+
*/
|
|
359
|
+
selectNode(node) {
|
|
360
|
+
if (!node.IsExpanded) {
|
|
361
|
+
this.switchExpandNode(node);
|
|
362
|
+
}
|
|
363
|
+
// Reset the Edit Mode in all Nodes
|
|
364
|
+
this.resetNodeEditMode(null);
|
|
365
|
+
if (!node.Files) {
|
|
366
|
+
this.browserService
|
|
367
|
+
.GetFiles(this.apiurl, node.Path, this.allowedtypes)
|
|
368
|
+
.subscribe((result) => {
|
|
369
|
+
node.Files = result.Files;
|
|
370
|
+
this.selectedNode = node;
|
|
371
|
+
if (this.preselecedfile !== null && this.preselecedfile.length > 0) {
|
|
372
|
+
const filename = this.preselecedfile.substring(this.preselecedfile.lastIndexOf('/') + 1);
|
|
373
|
+
const file = node.Files.find((itm) => itm.Filename === filename);
|
|
374
|
+
if (file) {
|
|
375
|
+
this.selectFile(file);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
else {
|
|
381
|
+
this.selectedNode = node;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Expand/Collabse Methode für Nodes
|
|
386
|
+
* @param node Node welcher geöffnet oder geschlossen werden soll
|
|
387
|
+
*/
|
|
388
|
+
switchExpandNode(node) {
|
|
389
|
+
if (node.IsExpanded) {
|
|
390
|
+
node.IsExpanded = false;
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
node.IsExpanded = true;
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Methode die Aufgerufen werden muss, wenn ein Upload beendet ist.
|
|
398
|
+
* @param param Parameter des hochgeladenen Files
|
|
399
|
+
*/
|
|
400
|
+
uploadComplete(node, uploadIdList) {
|
|
401
|
+
if (uploadIdList !== null) {
|
|
402
|
+
uploadIdList.forEach((element) => {
|
|
403
|
+
if (this.uploads.indexOf(element) < 0) {
|
|
404
|
+
this.uploads.push(element);
|
|
405
|
+
}
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
const id = this.uploads.pop();
|
|
409
|
+
if (id) {
|
|
410
|
+
this.browserService
|
|
411
|
+
.SaveFile(this.apiurl, node.Path, id, this.allowedtypes)
|
|
412
|
+
.subscribe((result) => {
|
|
413
|
+
this.selectedNode.Files = result.Files;
|
|
414
|
+
this.uploadedFileMoved(id);
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
// #endregion Public Abstract Methods
|
|
419
|
+
// #region Private Methods
|
|
420
|
+
/**
|
|
421
|
+
* Rekursive Methode welche beim Node und all seinen Childs neue Nodes entfernt
|
|
422
|
+
* @param node Node bei welchem alle neuen Nodes entfernt werden soll.
|
|
423
|
+
*/
|
|
424
|
+
clearNewChildNodes(node) {
|
|
425
|
+
node.ChildNodes.forEach((itm) => {
|
|
426
|
+
if (itm.IsNewNode) {
|
|
427
|
+
node.ChildNodes.splice(node.ChildNodes.indexOf(itm));
|
|
428
|
+
}
|
|
429
|
+
});
|
|
430
|
+
node.ChildNodes.forEach((itm) => this.clearNewChildNodes(itm));
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Methode welche den Pfad für einen Node erzeugt
|
|
434
|
+
* @param node Node für welchen der Pfad erzeugt werden soll
|
|
435
|
+
* @param parentPath Übergeordneter Pfad
|
|
436
|
+
*/
|
|
437
|
+
fillPath(node, parentPath) {
|
|
438
|
+
node.Path = parentPath + '/' + node.Name;
|
|
439
|
+
node.ChildNodes.forEach((itm) => {
|
|
440
|
+
this.fillPath(itm, node.Path);
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Sucht den übergeordneten Node im Tree
|
|
445
|
+
* @param node Aktueller Node
|
|
446
|
+
* @param nodeToFind Node welcher gefunden werden soll
|
|
447
|
+
* @returns Node wenn er gefunden wurde, ansonsten wird NULL zurückgegeben
|
|
448
|
+
*/
|
|
449
|
+
findParentNode(node, nodeToFind) {
|
|
450
|
+
if (node.ChildNodes.indexOf(nodeToFind) >= 0) {
|
|
451
|
+
return node;
|
|
452
|
+
}
|
|
453
|
+
for (const child of node.ChildNodes) {
|
|
454
|
+
const result = this.findParentNode(child, nodeToFind);
|
|
455
|
+
if (result !== null) {
|
|
456
|
+
return result;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
return null;
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* Sucht einen Node gem. einem URL Pfad
|
|
463
|
+
* @param node Node in welchem gesucht werden soll
|
|
464
|
+
* @param path Pfad nach welchem gesucht wird
|
|
465
|
+
* @returns Node welcher zum gesuchten Pfad passt. Wenn kein Node gefunden wird, wird NULL zurückgegeben
|
|
466
|
+
*/
|
|
467
|
+
findSelectedNodeByPath(node, path) {
|
|
468
|
+
// Cancel wenn Pfad nicht definiert
|
|
469
|
+
if (path === undefined || path === null) {
|
|
470
|
+
return null;
|
|
471
|
+
}
|
|
472
|
+
// Pfad in Array splitten und Root Foldername setzen
|
|
473
|
+
const pathArray = path.split('/');
|
|
474
|
+
pathArray[0] = this.rootNode.Name;
|
|
475
|
+
return this.findSelectedNodeByPathArray(node, pathArray, 0);
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Sucht einen Node gem. einem Array von Node Namen
|
|
479
|
+
* @param node Node in welchem gesucht werden soll
|
|
480
|
+
* @param path Array von Node Namen, welche die Hirarchy des Pfades abbilden
|
|
481
|
+
* @param index Aktueller Index im PATH Array
|
|
482
|
+
* @returns Node wenn einer gefunden wurde, ansonsten NULL
|
|
483
|
+
*/
|
|
484
|
+
findSelectedNodeByPathArray(node, path, index) {
|
|
485
|
+
// Check ob Ordner korrekt. Letzer Ordner zurückgeben. Path Last Index ist der Filename
|
|
486
|
+
if (node.Name === path[index] && path.length - 2 === index) {
|
|
487
|
+
return node;
|
|
488
|
+
}
|
|
489
|
+
else if (node.Name === path[index]) {
|
|
490
|
+
// Expand Node
|
|
491
|
+
node.IsExpanded = true;
|
|
492
|
+
for (const item of node.ChildNodes) {
|
|
493
|
+
const result = this.findSelectedNodeByPathArray(item, path, index + 1);
|
|
494
|
+
if (result !== null) {
|
|
495
|
+
return result;
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
return null;
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Rekursive Methode welche beim Node und all seinen Childs den Edit Mode beendet.
|
|
503
|
+
* @param node Node bei welchem der Edit Mode beendet werden soll
|
|
504
|
+
*/
|
|
505
|
+
resetNodeEditMode(node) {
|
|
506
|
+
if (node === null) {
|
|
507
|
+
this.resetNodeEditMode(this.rootNode);
|
|
508
|
+
}
|
|
509
|
+
else {
|
|
510
|
+
node.IsEditMode = false;
|
|
511
|
+
if (node.ChildNodes) {
|
|
512
|
+
node.ChildNodes.forEach((itm) => this.resetNodeEditMode(itm));
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* Setzt den Pfad in allen Nodes
|
|
518
|
+
*/
|
|
519
|
+
setPathToAllNodes() {
|
|
520
|
+
this.rootNode.ChildNodes.forEach((itm) => {
|
|
521
|
+
this.fillPath(itm, '');
|
|
522
|
+
});
|
|
523
|
+
}
|
|
524
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacFileBrowserCommon, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
525
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacFileBrowserCommon, inputs: { allowedtypes: "allowedtypes", allowfiledelete: "allowfiledelete", allowfilerename: "allowfilerename", allowfileupload: "allowfileupload", allowfoldercreate: "allowfoldercreate", allowfolderdelete: "allowfolderdelete", allowfolderrename: "allowfolderrename", apiurl: "apiurl", selectedfile: "selectedfile" }, outputs: { file: "file" }, host: { listeners: { "document:click": "exitEditMode($event.target)" } }, ngImport: i0 }); }
|
|
526
|
+
}
|
|
527
|
+
export { SacFileBrowserCommon };
|
|
528
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacFileBrowserCommon, decorators: [{
|
|
529
|
+
type: Directive
|
|
530
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; }, propDecorators: { allowedtypes: [{
|
|
531
|
+
type: Input
|
|
532
|
+
}], allowfiledelete: [{
|
|
533
|
+
type: Input
|
|
534
|
+
}], allowfilerename: [{
|
|
535
|
+
type: Input
|
|
536
|
+
}], allowfileupload: [{
|
|
537
|
+
type: Input
|
|
538
|
+
}], allowfoldercreate: [{
|
|
539
|
+
type: Input
|
|
540
|
+
}], allowfolderdelete: [{
|
|
541
|
+
type: Input
|
|
542
|
+
}], allowfolderrename: [{
|
|
543
|
+
type: Input
|
|
544
|
+
}], apiurl: [{
|
|
545
|
+
type: Input
|
|
546
|
+
}], file: [{
|
|
547
|
+
type: Output
|
|
548
|
+
}], selectedfile: [{
|
|
549
|
+
type: Input
|
|
550
|
+
}], exitEditMode: [{
|
|
551
|
+
type: HostListener,
|
|
552
|
+
args: ['document:click', ['$event.target']]
|
|
553
|
+
}] } });
|
|
554
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbXBvbmVudHMvYnJvd3Nlci9icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFFWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLHFCQUFxQixHQUN0QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsNEJBQTRCLEdBQzdCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQU14Rjs7R0FFRztBQUNILE1BQ3NCLG9CQUFvQjtJQStGeEMsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFBWSxVQUFzQixFQUFFLFFBQWtCO1FBN0Z0RDs7V0FFRztRQUNLLG1CQUFjLEdBQWtCLElBQUksQ0FBQztRQUU3Qzs7O1dBR0c7UUFFSSxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUNqQzs7V0FFRztRQUVJLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ3ZDOztXQUVHO1FBRUksb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDdkM7O1dBRUc7UUFFSSxvQkFBZSxHQUFZLElBQUksQ0FBQztRQUN2Qzs7V0FFRztRQUVJLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUN6Qzs7V0FFRztRQUVJLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUN6Qzs7V0FFRztRQUVJLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQU16Qzs7V0FFRztRQUVJLFNBQUksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUsvRDs7V0FFRztRQUNJLGFBQVEsR0FBaUI7WUFDOUIs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cEIsb0JBQW9CO2tCQUR6QyxTQUFTO3dIQXNCRCxZQUFZO3NCQURsQixLQUFLO2dCQU1DLGVBQWU7c0JBRHJCLEtBQUs7Z0JBTUMsZUFBZTtzQkFEckIsS0FBSztnQkFNQyxlQUFlO3NCQURyQixLQUFLO2dCQU1DLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFNQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBTUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQU1DLE1BQU07c0JBRFosS0FBSztnQkFNQyxJQUFJO3NCQURWLE1BQU07Z0JBd0lJLFlBQVk7c0JBRHRCLEtBQUs7Z0JBaUZDLFlBQVk7c0JBSmxCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSVNhY0ZpbGVCcm93c2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0ZpbGVCcm93c2VyU2VydmljZSc7XHJcbmltcG9ydCB7IElTYWNJY29uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0ljb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNMb2NhbGlzYXRpb25TZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBTQUNJQ09OX1NFUlZJQ0UsXHJcbiAgU0FDTE9DQUxJU0FUSU9OX1NFUlZJQ0UsXHJcbiAgU2FjRGVmYXVsdEljb25TZXJ2aWNlLFxyXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHtcclxuICBTQUNGSUxFQlJPV1NFUl9TRVJWSUNFLFxyXG4gIFNhY0RlZmF1bHRGaWxlQnJvd3NlclNlcnZpY2UsXHJcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FjLWZpbGVicm93c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NhYy1sb2NhbGlzYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IElCcm93c2VyRmlsZSB9IGZyb20gJy4vbW9kZWxzL2Jyb3dzZXJmaWxlJztcclxuaW1wb3J0IHsgSUJyb3dzZXJGaWxlUmVzcG9uc2UgfSBmcm9tICcuL21vZGVscy9icm93c2VyZmlsZXJlc3BvbnNlJztcclxuaW1wb3J0IHsgSUJyb3dzZXJOb2RlIH0gZnJvbSAnLi9tb2RlbHMvYnJvd3Nlcm5vZGUnO1xyXG5pbXBvcnQgeyBJQnJvd3Nlck5vZGVSZXNwb25zZSB9IGZyb20gJy4vbW9kZWxzL2Jyb3dzZXJub2RlcmVzcG9uc2UnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgQ29tcG9uZW50IGbDvHIgRmlsZSBCcm93c2VyXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY0ZpbGVCcm93c2VyQ29tbW9uIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogU2VydmljZSBmw7xyIEZpbGUgQnJvd3NlciBadWdyaWZmIChCYWNrZW5kKVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYnJvd3NlclNlcnZpY2U6IElTYWNGaWxlQnJvd3NlclNlcnZpY2U7XHJcbiAgLyoqXHJcbiAgICogSWNvbiBzZXJ2aWNlIHRvIHJlY2VpdmUgaWNvbiBjbGFzc2VzIGZvciB1aVxyXG4gICAqL1xyXG4gIHByaXZhdGUgaWNvblNlcnZpY2U6IElTYWNJY29uU2VydmljZTtcclxuICAvKipcclxuICAgKiBGaWxlIHdlbGNoZXMgYmVpbSBzdGFydGVuIGRlcyBCcm93c2VycyBiZXJlaXRzIHNlbGVrdGllcnQgaXN0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwcmVzZWxlY2VkZmlsZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIEVybGF1YnRlIERhdGVpZXJ3ZWl0ZXJ1bmdlbiBmw7xyIEZpbGVhdXN3YWhsIHVuZCBVcGxvYWQuIERhdGVpZXJ3ZWl0ZXJ1bmcgbWl0IFB1bmt0IHVuZFxyXG4gICAqIGdldHJlbm50IGR1cmNoIEtvbW1hIGbDvHIgbWVociBhbHMgZWluZSBFcndlaXRlcnVuZyAoRXhhbXBsZTogXCIuanBnLC5naWZcIilcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxvd2VkdHlwZXM6IHN0cmluZyA9ICcnO1xyXG4gIC8qKlxyXG4gICAqIEVybGF1YnQgZGFzIGzDtnNjaGVuIGVpbmVyIERhdGVpXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsb3dmaWxlZGVsZXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBFcmxhdWJ0IGRhcyB1bWJlbmVubmVuIGVpbmVyIERhdGVpXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsb3dmaWxlcmVuYW1lOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBFcmxhdWJ0IGRlbiBVcGxvYWQgdm9uIERhdGVpZW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxvd2ZpbGV1cGxvYWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEVybGF1YnQgZGFzIGVyc3RlbGxlbiBlaW5lcyBuZXVlbiBPcmRuZXJzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsb3dmb2xkZXJjcmVhdGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEVybGF1YnQgZGFzIGzDtnNjaGVuIGVpbmVzIE9yZG5lcnNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxvd2ZvbGRlcmRlbGV0ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogRXJsYXVidCBkYXMgVW1iZW5lbm5lbiBlaW5lcyBPcmRuZXJzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsb3dmb2xkZXJyZW5hbWU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIFVSTCBmw7xyIEJhY2tlbmQgQVBJXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXBpdXJsOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogT3V0cHV0IEVtaXR0ZXIgd2VubiBGaWxlIHNlbGVrdGllcnQgd2lyZC5cclxuICAgKi9cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZmlsZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAvKipcclxuICAgKiBTZXJ2aWNlIGbDvHIgRXJyb3IgTG9jYWxpc2F0aW9uXHJcbiAgICovXHJcbiAgcHVibGljIGxuZ1Jlc291cmNlU2VydmljZTogSVNhY0xvY2FsaXNhdGlvblNlcnZpY2U7XHJcbiAgLyoqXHJcbiAgICogUm9vdCBOb2RlIEl0ZW0gZsO8ciBUcmVlXHJcbiAgICovXHJcbiAgcHVibGljIHJvb3ROb2RlOiBJQnJvd3Nlck5vZGUgPSB7XHJcbiAgICBOYW1lOiAnJyxcclxuICAgIENoaWxkTm9kZXM6IFtdLFxyXG4gICAgRmlsZXM6IFtdLFxyXG4gICAgSXNFeHBhbmRlZDogdHJ1ZSxcclxuICAgIElzRWRpdE1vZGU6IGZhbHNlLFxyXG4gICAgSXNOZXdOb2RlOiBmYWxzZSxcclxuICAgIFBhdGg6ICcnLFxyXG4gIH07XHJcbiAgLyoqXHJcbiAgICogU2VsZWN0ZWQgRmlsZSBOYW1lXHJcbiAgICovXHJcbiAgcHVibGljIHNlbGVjdGVkRmlsZTogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFNlbGVjdGVkIEZpbGUgSXRlbVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZWxlY3RlZEZpbGVJdGVtOiBJQnJvd3NlckZpbGUgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIFNlbGVjdGVkIE5vZGUgSXRlbVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZWxlY3RlZE5vZGU6IElCcm93c2VyTm9kZSA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogTGlzdGUgdm9uIFVwbG9hZHNcclxuICAgKi9cclxuICBwdWJsaWMgdXBsb2Fkczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIEtvbnN0cnVrdG9yXHJcbiAgICogQHBhcmFtIGh0dHBjbGllbnQgQW5ndWxhciBIVFRQIENsaWVudFxyXG4gICAqIEBwYXJhbSBpbmplY3RvciBTZXJ2aWNlIEluamVjdG9yXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoaHR0cGNsaWVudDogSHR0cENsaWVudCwgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNGSUxFQlJPV1NFUl9TRVJWSUNFLFxyXG4gICAgICBuZXcgU2FjRGVmYXVsdEZpbGVCcm93c2VyU2VydmljZShodHRwY2xpZW50KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmxuZ1Jlc291cmNlU2VydmljZSA9IGluamVjdG9yLmdldChcclxuICAgICAgU0FDTE9DQUxJU0FUSU9OX1NFUlZJQ0UsXHJcbiAgICAgIG5ldyBTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSgpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuaWNvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ0lDT05fU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRJY29uU2VydmljZSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvKipcclxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgZGVsZXRlIGljb25cclxuICAgKiBAcmV0dXJucyBjc3MgY2xhc3Mgd2l0aCBpY29uXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBpY29uRGVsZXRlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50RGVsZXRlSWNvbjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENTUyBpY29uIGNsYXNzIGZvciBlZGl0IGljb25cclxuICAgKiBAcmV0dXJucyBjc3MgY2xhc3Mgd2l0aCBpY29uXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBpY29uRWRpdCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudEVkaXRJY29uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ1NTIGljb24gZm9yIGZvbGRlcnMgaW4gdHJlZSB0aGVyZSBhcmUgY29sbGFic2VkXHJcbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaWNvbkZvbGRlckNvbGxhYnNlZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudEZvbGRlckNsb3NlZEljb247XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgZm9sZGVycyB3aXRob3V0IHN1YmZvbGRlcnNcclxuICAgKiBAcmV0dXJucyBjc3MgY2xhc3Mgd2l0aCBpY29uXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBpY29uRm9sZGVyRW1wdHkoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkJyb3dzZXJDb21wb25lbnRGb2xkZXJFbXB0eUljb247XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDU1MgaWNvbiBmb3IgbmV3IGZvbGRlcnMgYWN0aW9uXHJcbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaWNvbkZvbGRlck5ldygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQnJvd3NlckNvbXBvbmVudEZvbGRlck5ld0ljb247XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDU1MgaWNvbiBmb3IgZm9sZGVycyBpbiB0cmVlIHRoZXJlIGFyZSBleHBhbmRlZFxyXG4gICAqIEByZXR1cm5zIGNzcyBjbGFzcyB3aXRoIGljb25cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGljb25Gb2xkZXJPcGVuKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Ccm93c2VyQ29tcG9uZW50Rm9sZGVyT3Blbkljb247XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDU1MgaWNvbiBjbGFzcyBmb3IgcmVmcmVzaCBpY29uXHJcbiAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaWNvblJlZnJlc2goKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkJyb3dzZXJDb21wb25lbnRSZWZyZXNoSWNvbjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHRlciBmw7xyIFNlbGVjdGVkIEZpbGUuIElzdCBhbiBJbnB1dCBQcm9wZXJ0eSBnZWJ1bmRlblxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRmaWxlKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0RmlsZSAmJiB0aGlzLnNlbGVjdEZpbGUubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZpbGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRlbiBTZWxlY2VkIE5vZGUgw7xiZXIgZGVuIFBmYWRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWRmaWxlKHY6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkbm9kZSA9IHRoaXMuZmluZFNlbGVjdGVkTm9kZUJ5UGF0aCh0aGlzLnJvb3ROb2RlLCB2KTtcclxuXHJcbiAgICBpZiAoc2VsZWN0ZWRub2RlICE9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0Tm9kZShzZWxlY3RlZG5vZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucHJlc2VsZWNlZGZpbGUgPSB2O1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIEzDtnNjaHQgZWluIEZpbGVcclxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHVibGljIGRlbGV0ZUZpbGUoZmlsZTogSUJyb3dzZXJGaWxlKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpcm1EZWxldGVGaWxlKGZpbGUpLnN1YnNjcmliZSgoY29uZmlybSkgPT4ge1xyXG4gICAgICBpZiAoY29uZmlybSkge1xyXG4gICAgICAgIHRoaXMuYnJvd3NlclNlcnZpY2VcclxuICAgICAgICAgIC5EZWxldGVGaWxlKFxyXG4gICAgICAgICAgICB0aGlzLmFwaXVybCxcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuUGF0aCArICcvJyArIGZpbGUuRmlsZW5hbWUsXHJcbiAgICAgICAgICAgIHRoaXMuYWxsb3dlZHR5cGVzXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyRmlsZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLkZpbGVzID0gcmVzdWx0LkZpbGVzO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTMO2c2NodCBlaW5lbiBOb2RlXHJcbiAgICogQHBhcmFtIG5vZGUgTm9kZSB3ZWxjaGVyIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZWxldGVOb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maXJtRGVsZXRlTm9kZShub2RlKS5zdWJzY3JpYmUoKGNvbmZpcm0pID0+IHtcclxuICAgICAgaWYgKGNvbmZpcm0pIHtcclxuICAgICAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXHJcbiAgICAgICAgICAuRGVsZXRlTm9kZSh0aGlzLmFwaXVybCwgbm9kZS5QYXRoKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3Nlck5vZGVSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5maW5kUGFyZW50Tm9kZSh0aGlzLnJvb3ROb2RlLCBub2RlKTtcclxuICAgICAgICAgICAgcGFyZW50Tm9kZS5DaGlsZE5vZGVzID0gcmVzdWx0Lk5vZGUuQ2hpbGROb2RlcztcclxuXHJcbiAgICAgICAgICAgIHRoaXMucm9vdE5vZGUuQ2hpbGROb2Rlcy5mb3JFYWNoKChpdG0pID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmZpbGxQYXRoKGl0bSwgJycpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Tm9kZShwYXJlbnROb2RlKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGVpbiBGaWxlIGluIGRlbiBFZGl0IE1vZGVcclxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgaW4gZGVuIEVkaXQgTW9kZSBnZXNldHp0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHVibGljIGVkaXRGaWxlKGZpbGU6IElCcm93c2VyRmlsZSk6IHZvaWQge1xyXG4gICAgZmlsZS5Jc0VkaXRNb2RlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGVpbmVuIE5vZGUgaW4gZGVuIEVkaXQgTW9kZVxyXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgd2VsY2hlciBiZWFyYmVpdGV0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHVibGljIGVkaXROb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IHZvaWQge1xyXG4gICAgbm9kZS5Jc0VkaXRNb2RlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhvc3RMaXN0ZW5lciB3ZWxjaGVyIGRlbiBFZGl0IE1vZGUgYmVpIGFsbGVuIEZpbGVzIHVuZCBOb2RlcyBiZWVuZGV0LlxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXHJcbiAgLyoqXHJcbiAgICogQ2xpY2sgRXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgZXhpdEVkaXRNb2RlKHRhcmdldEVsZW1lbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTm9kZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZS5GaWxlcy5mb3JFYWNoKChpdG0pID0+IChpdG0uSXNFZGl0TW9kZSA9IGZhbHNlKSk7XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgIXRoaXMuc2VsZWN0ZWROb2RlIHx8XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuTmFtZSA9PT0gbnVsbCB8fFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLk5hbWUubGVuZ3RoID09PSAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuY2xlYXJOZXdDaGlsZE5vZGVzKHRoaXMucm9vdE5vZGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yZXNldE5vZGVFZGl0TW9kZShudWxsKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVyemV1Z3QgZWluZW4gbmV1ZW4gTm9kZSBpbSBUcmVlXHJcbiAgICogQHBhcmFtIG5vZGUgTm9kZSB1bnRlciB3ZWxjaGVtIGVpbiBuZXVlciBOb2RlIGVyc3RlbGx0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHVibGljIG5ld05vZGUobm9kZTogSUJyb3dzZXJOb2RlKSB7XHJcbiAgICBjb25zdCBpdGVtOiBJQnJvd3Nlck5vZGUgPSB7XHJcbiAgICAgIENoaWxkTm9kZXM6IFtdLFxyXG4gICAgICBGaWxlczogW10sXHJcbiAgICAgIElzRWRpdE1vZGU6IGZhbHNlLFxyXG4gICAgICBJc0V4cGFuZGVkOiBmYWxzZSxcclxuICAgICAgTmFtZTogJycsXHJcbiAgICAgIFBhdGg6IG5vZGUuUGF0aCxcclxuICAgICAgSXNOZXdOb2RlOiB0cnVlLFxyXG4gICAgfTtcclxuXHJcbiAgICBub2RlLkNoaWxkTm9kZXMucHVzaChpdGVtKTtcclxuICAgIHRoaXMuc2VsZWN0Tm9kZShpdGVtKTtcclxuICAgIHRoaXMuZWRpdE5vZGUoaXRlbSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0IEV2ZW50IGRlciBLb21wb25lbnRlXHJcbiAgICovXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5icm93c2VyU2VydmljZVxyXG4gICAgICAuR2V0Tm9kZSh0aGlzLmFwaXVybCwgJycsIHRoaXMuYWxsb3dlZHR5cGVzKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyTm9kZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yb290Tm9kZSA9IHtcclxuICAgICAgICAgIE5hbWU6IHJlc3VsdC5Ob2RlLk5hbWUsXHJcbiAgICAgICAgICBGaWxlczogcmVzdWx0Lk5vZGUuRmlsZXMsXHJcbiAgICAgICAgICBDaGlsZE5vZGVzOiByZXN1bHQuTm9kZS5DaGlsZE5vZGVzLFxyXG4gICAgICAgICAgSXNFeHBhbmRlZDogdHJ1ZSxcclxuICAgICAgICAgIElzRWRpdE1vZGU6IGZhbHNlLFxyXG4gICAgICAgICAgSXNOZXdOb2RlOiBmYWxzZSxcclxuICAgICAgICAgIFBhdGg6ICcvJyxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnNldFBhdGhUb0FsbE5vZGVzKCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUgPSB0aGlzLnJvb3ROb2RlO1xyXG5cclxuICAgICAgICAvLyBTZWxlY3RlZCBGaWxlIGVybmV1dCBzZXR6ZW4sIHdlbm4gUHJvcGVydHkgZ2VzZXR6dCB3dXJkZSBiZXZvciBEYXRlbiB2b20gU2VydmljZSBnZWxhZGVuIHd1cmRlbi5cclxuICAgICAgICBpZiAodGhpcy5wcmVzZWxlY2VkZmlsZSAhPT0gbnVsbCAmJiB0aGlzLnByZXNlbGVjZWRmaWxlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRmaWxlID0gdGhpcy5wcmVzZWxlY2VkZmlsZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWt0dWFsaXNpZXJ0IGRlbiBOb2RlXHJcbiAgICovXHJcbiAgcHVibGljIHJlZnJlc2hOb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IHZvaWQge1xyXG4gICAgaWYgKCFub2RlLklzRXhwYW5kZWQpIHtcclxuICAgICAgdGhpcy5zd2l0Y2hFeHBhbmROb2RlKG5vZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYnJvd3NlclNlcnZpY2VcclxuICAgICAgLkdldE5vZGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgdGhpcy5hbGxvd2VkdHlwZXMpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSUJyb3dzZXJOb2RlUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBub2RlLkNoaWxkTm9kZXMgPSByZXN1bHQuTm9kZS5DaGlsZE5vZGVzO1xyXG4gICAgICAgIG5vZGUuRmlsZXMgPSByZXN1bHQuTm9kZS5GaWxlcztcclxuXHJcbiAgICAgICAgdGhpcy5zZXRQYXRoVG9BbGxOb2RlcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgd2VubiBlaW5lIERhdGVpIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBmaWxlIEZpbGUgd2VsY2hlcyB1bWJlbmFubnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbmV3RmlsZW5hbWUgTmV1ZXIgRGF0ZWluYW1lXHJcbiAgICovXHJcbiAgcHVibGljIHJlbmFtZUZpbGUoZmlsZTogSUJyb3dzZXJGaWxlLCBuZXdGaWxlbmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBmaWxlLklzRWRpdE1vZGUgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAoIW5ld0ZpbGVuYW1lIHx8IG5ld0ZpbGVuYW1lID09PSBudWxsIHx8IG5ld0ZpbGVuYW1lLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAvLyBDYW5jZWwsIEludmFsaWQgRmlsZW5hbWVcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmaWxlLkZpbGVuYW1lICE9PSBuZXdGaWxlbmFtZSkge1xyXG4gICAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXHJcbiAgICAgICAgLlJlbmFtZUZpbGUoXHJcbiAgICAgICAgICB0aGlzLmFwaXVybCxcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLlBhdGggKyAnLycgKyBmaWxlLkZpbGVuYW1lLFxyXG4gICAgICAgICAgbmV3RmlsZW5hbWUsXHJcbiAgICAgICAgICB0aGlzLmFsbG93ZWR0eXBlc1xyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyRmlsZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5GaWxlcyA9IHJlc3VsdC5GaWxlcztcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgd2VubiBlaW4gTm9kZSB1bWJlbmFubnQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIHdlbGNoZXIgdW1iZW5hbm50IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIG5ld0ZvbGRlcm5hbWUgTmV1ZXIgT3JkbmVybmFtZVxyXG4gICAqL1xyXG4gIHB1YmxpYyByZW5hbWVOb2RlKG5vZGU6IElCcm93c2VyTm9kZSwgbmV3Rm9sZGVybmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBub2RlLklzRWRpdE1vZGUgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAoIW5vZGUuSXNOZXdOb2RlKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhbmV3Rm9sZGVybmFtZSB8fFxyXG4gICAgICAgIG5ld0ZvbGRlcm5hbWUgPT09IG51bGwgfHxcclxuICAgICAgICBuZXdGb2xkZXJuYW1lLmxlbmd0aCA9PT0gMFxyXG4gICAgICApIHtcclxuICAgICAgICAvLyBDYW5jZWwgUmVuYW1lLiBJbnZhbGlkIEZvbGRlcm5hbWVcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChub2RlLk5hbWUgIT09IG5ld0ZvbGRlcm5hbWUpIHtcclxuICAgICAgICB0aGlzLmJyb3dzZXJTZXJ2aWNlXHJcbiAgICAgICAgICAuUmVuYW1lTm9kZSh0aGlzLmFwaXVybCwgbm9kZS5QYXRoLCBuZXdGb2xkZXJuYW1lKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3Nlck5vZGVSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBub2RlLk5hbWUgPSByZXN1bHQuTm9kZS5OYW1lO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5zZXRQYXRoVG9BbGxOb2RlcygpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhbmV3Rm9sZGVybmFtZSB8fFxyXG4gICAgICAgIG5ld0ZvbGRlcm5hbWUgPT09IG51bGwgfHxcclxuICAgICAgICBuZXdGb2xkZXJuYW1lLmxlbmd0aCA9PT0gMFxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmNsZWFyTmV3Q2hpbGROb2Rlcyh0aGlzLnJvb3ROb2RlKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG5vZGUuTmFtZSA9IG5ld0ZvbGRlcm5hbWU7XHJcbiAgICAgIG5vZGUuSXNOZXdOb2RlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuYnJvd3NlclNlcnZpY2VcclxuICAgICAgICAuU2F2ZU5vZGUodGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgbmV3Rm9sZGVybmFtZSlcclxuICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElCcm93c2VyTm9kZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBub2RlLk5hbWUgPSByZXN1bHQuTm9kZS5OYW1lO1xyXG4gICAgICAgICAgbm9kZS5GaWxlcyA9IHJlc3VsdC5Ob2RlLkZpbGVzO1xyXG5cclxuICAgICAgICAgIHRoaXMuc2V0UGF0aFRvQWxsTm9kZXMoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgd2VubiBlaW4gRmlsZSBzZWxla3RpZXJ0IHdpcmRcclxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHdlbGNoZXMgc2VsZWt0aWVydCB3aXJkXHJcbiAgICovXHJcbiAgcHVibGljIHNlbGVjdEZpbGUoZmlsZTogSUJyb3dzZXJGaWxlKSB7XHJcbiAgICBpZiAoIWZpbGUuSXNFZGl0TW9kZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZS5GaWxlcy5mb3JFYWNoKChpdG0pID0+IChpdG0uSXNFZGl0TW9kZSA9IGZhbHNlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkTm9kZS5QYXRoLmVuZHNXaXRoKCcvJykpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgPSB0aGlzLnNlbGVjdGVkTm9kZS5QYXRoICsgJy8nICsgZmlsZS5GaWxlbmFtZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gJy8nICsgZmlsZS5GaWxlbmFtZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkRmlsZUl0ZW0gPSBmaWxlO1xyXG4gICAgdGhpcy5maWxlLmVtaXQodGhpcy5zZWxlY3RlZEZpbGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSB3ZW5uIGVpbiBOb2RlIHNlbGVrdGllcnQgd2lyZFxyXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgd2VsY2hlciBzZWxla3RpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHVibGljIHNlbGVjdE5vZGUobm9kZTogSUJyb3dzZXJOb2RlKTogdm9pZCB7XHJcbiAgICBpZiAoIW5vZGUuSXNFeHBhbmRlZCkge1xyXG4gICAgICB0aGlzLnN3aXRjaEV4cGFuZE5vZGUobm9kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVzZXQgdGhlIEVkaXQgTW9kZSBpbiBhbGwgTm9kZXNcclxuICAgIHRoaXMucmVzZXROb2RlRWRpdE1vZGUobnVsbCk7XHJcblxyXG4gICAgaWYgKCFub2RlLkZpbGVzKSB7XHJcbiAgICAgIHRoaXMuYnJvd3NlclNlcnZpY2VcclxuICAgICAgICAuR2V0RmlsZXModGhpcy5hcGl1cmwsIG5vZGUuUGF0aCwgdGhpcy5hbGxvd2VkdHlwZXMpXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3NlckZpbGVSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgbm9kZS5GaWxlcyA9IHJlc3VsdC5GaWxlcztcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlID0gbm9kZTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5wcmVzZWxlY2VkZmlsZSAhPT0gbnVsbCAmJiB0aGlzLnByZXNlbGVjZWRmaWxlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgZmlsZW5hbWUgPSB0aGlzLnByZXNlbGVjZWRmaWxlLnN1YnN0cmluZyhcclxuICAgICAgICAgICAgICB0aGlzLnByZXNlbGVjZWRmaWxlLmxhc3RJbmRleE9mKCcvJykgKyAxXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBub2RlLkZpbGVzLmZpbmQoKGl0bSkgPT4gaXRtLkZpbGVuYW1lID09PSBmaWxlbmFtZSk7XHJcbiAgICAgICAgICAgIGlmIChmaWxlKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWxlKGZpbGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeHBhbmQvQ29sbGFic2UgTWV0aG9kZSBmw7xyIE5vZGVzXHJcbiAgICogQHBhcmFtIG5vZGUgTm9kZSB3ZWxjaGVyIGdlw7ZmZm5ldCBvZGVyIGdlc2NobG9zc2VuIHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHVibGljIHN3aXRjaEV4cGFuZE5vZGUobm9kZTogSUJyb3dzZXJOb2RlKTogdm9pZCB7XHJcbiAgICBpZiAobm9kZS5Jc0V4cGFuZGVkKSB7XHJcbiAgICAgIG5vZGUuSXNFeHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbm9kZS5Jc0V4cGFuZGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZGllIEF1ZmdlcnVmZW4gd2VyZGVuIG11c3MsIHdlbm4gZWluIFVwbG9hZCBiZWVuZGV0IGlzdC5cclxuICAgKiBAcGFyYW0gcGFyYW0gUGFyYW1ldGVyIGRlcyBob2NoZ2VsYWRlbmVuIEZpbGVzXHJcbiAgICovXHJcbiAgcHVibGljIHVwbG9hZENvbXBsZXRlKG5vZGU6IElCcm93c2VyTm9kZSwgdXBsb2FkSWRMaXN0OiBzdHJpbmdbXSk6IHZvaWQge1xyXG4gICAgaWYgKHVwbG9hZElkTGlzdCAhPT0gbnVsbCkge1xyXG4gICAgICB1cGxvYWRJZExpc3QuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnVwbG9hZHMuaW5kZXhPZihlbGVtZW50KSA8IDApIHtcclxuICAgICAgICAgIHRoaXMudXBsb2Fkcy5wdXNoKGVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaWQgPSB0aGlzLnVwbG9hZHMucG9wKCk7XHJcbiAgICBpZiAoaWQpIHtcclxuICAgICAgdGhpcy5icm93c2VyU2VydmljZVxyXG4gICAgICAgIC5TYXZlRmlsZSh0aGlzLmFwaXVybCwgbm9kZS5QYXRoLCBpZCwgdGhpcy5hbGxvd2VkdHlwZXMpXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJQnJvd3NlckZpbGVSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuRmlsZXMgPSByZXN1bHQuRmlsZXM7XHJcbiAgICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZU1vdmVkKGlkKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgQWJzdHJhY3QgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBBYnN0cmFrdGUgQ29uZmlybSBNZXRob2RlIHdlbGNoZSBpbXBsZW1lbnRpZXJ0IHdlcmRlbiBtdXNzLiBNZXRob2RlIHdpcmQgYXVmZ2VydWZlbiwgd2VubiBlaW5lXHJcbiAgICogRGF0ZWkgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLlxyXG4gICAqIEBwYXJhbSBmaWxlIEZpbGUgZsO8ciB3ZWxjaGVzIGVpbiBEZWxldGUgQ29uZmlybSBlaW5nZWZvcmRlcnQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwdWJsaWMgYWJzdHJhY3QgY29uZmlybURlbGV0ZUZpbGUoZmlsZTogSUJyb3dzZXJGaWxlKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAvKipcclxuICAgKiBBYnN0cmFrdGUgQ29uZmlybSBNZXRob2RlIHdlbGNoZSBpbXBsZW1lbnRpZXJ0IHdlcmRlbiBtdXNzLiBNZXRob2RlIHdpcmQgYXVmZ2VydWZlbiwgd2VubiBlaW5cclxuICAgKiBPcmRuZXIgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLlxyXG4gICAqIEBwYXJhbSBmb2xkZXIgT3JkZXJuIGbDvHIgd2VsY2hlbiBlaW4gRGVsZXRlIENvbmZpcm0gZWluZ2Vmb3JkZXJ0IHdlcmRlbiBzb2xsLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBhYnN0cmFjdCBjb25maXJtRGVsZXRlTm9kZShmb2xkZXI6IElCcm93c2VyTm9kZSk6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgLyoqXHJcbiAgICogQWJzdHJha3RlIE1ldGhvZGUgZGllIEF1ZmdlcnVmZW4gd2lyZCwgd2VubiBkYXMgSG9jaGdlbGFkZW5lIEZpbGUgYXVzIGRlbSBUZW1wIEZvbGRlciBpbiBkaWVcclxuICAgKiBTdHJ1a3R1ciB2ZXJzY2hvYmVuIHd1cmRlLlxyXG4gICAqIEBwYXJhbSB1cGxvYWRpZCBJRCBkZXMgVXBsb2Fkc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBhYnN0cmFjdCB1cGxvYWRlZEZpbGVNb3ZlZCh1cGxvYWRpZDogc3RyaW5nKTogdm9pZDtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgQWJzdHJhY3QgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBSZWt1cnNpdmUgTWV0aG9kZSB3ZWxjaGUgYmVpbSBOb2RlIHVuZCBhbGwgc2VpbmVuIENoaWxkcyBuZXVlIE5vZGVzIGVudGZlcm50XHJcbiAgICogQHBhcmFtIG5vZGUgTm9kZSBiZWkgd2VsY2hlbSBhbGxlIG5ldWVuIE5vZGVzIGVudGZlcm50IHdlcmRlbiBzb2xsLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xlYXJOZXdDaGlsZE5vZGVzKG5vZGU6IElCcm93c2VyTm9kZSkge1xyXG4gICAgbm9kZS5DaGlsZE5vZGVzLmZvckVhY2goKGl0bSkgPT4ge1xyXG4gICAgICBpZiAoaXRtLklzTmV3Tm9kZSkge1xyXG4gICAgICAgIG5vZGUuQ2hpbGROb2Rlcy5zcGxpY2Uobm9kZS5DaGlsZE5vZGVzLmluZGV4T2YoaXRtKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIG5vZGUuQ2hpbGROb2Rlcy5mb3JFYWNoKChpdG0pID0+IHRoaXMuY2xlYXJOZXdDaGlsZE5vZGVzKGl0bSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSB3ZWxjaGUgZGVuIFBmYWQgZsO8ciBlaW5lbiBOb2RlIGVyemV1Z3RcclxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIGbDvHIgd2VsY2hlbiBkZXIgUGZhZCBlcnpldWd0IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIHBhcmVudFBhdGggw5xiZXJnZW9yZG5ldGVyIFBmYWRcclxuICAgKi9cclxuICBwcml2YXRlIGZpbGxQYXRoKG5vZGU6IElCcm93c2VyTm9kZSwgcGFyZW50UGF0aDogc3RyaW5nKSB7XHJcbiAgICBub2RlLlBhdGggPSBwYXJlbnRQYXRoICsgJy8nICsgbm9kZS5OYW1lO1xyXG4gICAgbm9kZS5DaGlsZE5vZGVzLmZvckVhY2goKGl0bSkgPT4ge1xyXG4gICAgICB0aGlzLmZpbGxQYXRoKGl0bSwgbm9kZS5QYXRoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3VjaHQgZGVuIMO8YmVyZ2VvcmRuZXRlbiBOb2RlIGltIFRyZWVcclxuICAgKiBAcGFyYW0gbm9kZSBBa3R1ZWxsZXIgTm9kZVxyXG4gICAqIEBwYXJhbSBub2RlVG9GaW5kIE5vZGUgd2VsY2hlciBnZWZ1bmRlbiB3ZXJkZW4gc29sbFxyXG4gICAqIEByZXR1cm5zIE5vZGUgd2VubiBlciBnZWZ1bmRlbiB3dXJkZSwgYW5zb25zdGVuIHdpcmQgTlVMTCB6dXLDvGNrZ2VnZWJlblxyXG4gICAqL1xyXG4gIHByaXZhdGUgZmluZFBhcmVudE5vZGUoXHJcbiAgICBub2RlOiBJQnJvd3Nlck5vZGUsXHJcbiAgICBub2RlVG9GaW5kOiBJQnJvd3Nlck5vZGVcclxuICApOiBJQnJvd3Nlck5vZGUge1xyXG4gICAgaWYgKG5vZGUuQ2hpbGROb2Rlcy5pbmRleE9mKG5vZGVUb0ZpbmQpID49IDApIHtcclxuICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBub2RlLkNoaWxkTm9kZXMpIHtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5maW5kUGFyZW50Tm9kZShjaGlsZCwgbm9kZVRvRmluZCk7XHJcbiAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWNodCBlaW5lbiBOb2RlIGdlbS4gZWluZW0gVVJMIFBmYWRcclxuICAgKiBAcGFyYW0gbm9kZSBOb2RlIGluIHdlbGNoZW0gZ2VzdWNodCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgbmFjaCB3ZWxjaGVtIGdlc3VjaHQgd2lyZFxyXG4gICAqIEByZXR1cm5zIE5vZGUgd2VsY2hlciB6dW0gZ2VzdWNodGVuIFBmYWQgcGFzc3QuIFdlbm4ga2VpbiBOb2RlIGdlZnVuZGVuIHdpcmQsIHdpcmQgTlVMTCB6dXLDvGNrZ2VnZWJlblxyXG4gICAqL1xyXG4gIHByaXZhdGUgZmluZFNlbGVjdGVkTm9kZUJ5UGF0aChcclxuICAgIG5vZGU6IElCcm93c2VyTm9kZSxcclxuICAgIHBhdGg6IHN0cmluZ1xyXG4gICk6IElCcm93c2VyTm9kZSB7XHJcbiAgICAvLyBDYW5jZWwgd2VubiBQZmFkIG5pY2h0IGRlZmluaWVydFxyXG4gICAgaWYgKHBhdGggPT09IHVuZGVmaW5lZCB8fCBwYXRoID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFBmYWQgaW4gQXJyYXkgc3BsaXR0ZW4gdW5kIFJvb3QgRm9sZGVybmFtZSBzZXR6ZW5cclxuICAgIGNvbnN0IHBhdGhBcnJheSA9IHBhdGguc3BsaXQoJy8nKTtcclxuICAgIHBhdGhBcnJheVswXSA9IHRoaXMucm9vdE5vZGUuTmFtZTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5maW5kU2VsZWN0ZWROb2RlQnlQYXRoQXJyYXkobm9kZSwgcGF0aEFycmF5LCAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1Y2h0IGVpbmVuIE5vZGUgZ2VtLiBlaW5lbSBBcnJheSB2b24gTm9kZSBOYW1lblxyXG4gICAqIEBwYXJhbSBub2RlIE5vZGUgaW4gd2VsY2hlbSBnZXN1Y2h0IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIHBhdGggQXJyYXkgdm9uIE5vZGUgTmFtZW4sIHdlbGNoZSBkaWUgSGlyYXJjaHkgZGVzIFBmYWRlcyBhYmJpbGRlblxyXG4gICAqIEBwYXJhbSBpbmRleCBBa3R1ZWxsZXIgSW5kZXggaW0gUEFUSCBBcnJheVxyXG4gICAqIEByZXR1cm5zIE5vZGUgd2VubiBlaW5lciBnZWZ1bmRlbiB3dXJkZSwgYW5zb25zdGVuIE5VTExcclxuICAgKi9cclxuICBwcml2YXRlIGZpbmRTZWxlY3RlZE5vZGVCeVBhdGhBcnJheShcclxuICAgIG5vZGU6IElCcm93c2VyTm9kZSxcclxuICAgIHBhdGg6IHN0cmluZ1tdLFxyXG4gICAgaW5kZXg6IG51bWJlclxyXG4gICk6IElCcm93c2VyTm9kZSB7XHJcbiAgICAvLyBDaGVjayBvYiBPcmRuZXIga29ycmVrdC4gTGV0emVyIE9yZG5lciB6dXLDvGNrZ2ViZW4uIFBhdGggTGFzdCBJbmRleCBpc3QgZGVyIEZpbGVuYW1lXHJcbiAgICBpZiAobm9kZS5OYW1lID09PSBwYXRoW2luZGV4XSAmJiBwYXRoLmxlbmd0aCAtIDIgPT09IGluZGV4KSB7XHJcbiAgICAgIHJldHVybiBub2RlO1xyXG4gICAgfSBlbHNlIGlmIChub2RlLk5hbWUgPT09IHBhdGhbaW5kZXhdKSB7XHJcbiAgICAgIC8vIEV4cGFuZCBOb2RlXHJcbiAgICAgIG5vZGUuSXNFeHBhbmRlZCA9IHRydWU7XHJcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBub2RlLkNoaWxkTm9kZXMpIHtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZpbmRTZWxlY3RlZE5vZGVCeVBhdGhBcnJheShpdGVtLCBwYXRoLCBpbmRleCArIDEpO1xyXG5cclxuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWt1cnNpdmUgTWV0aG9kZSB3ZWxjaGUgYmVpbSBOb2RlIHVuZCBhbGwgc2VpbmVuIENoaWxkcyBkZW4gRWRpdCBNb2RlIGJlZW5kZXQuXHJcbiAgICogQHBhcmFtIG5vZGUgTm9kZSBiZWkgd2VsY2hlbSBkZXIgRWRpdCBNb2RlIGJlZW5kZXQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwcml2YXRlIHJlc2V0Tm9kZUVkaXRNb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IHZvaWQge1xyXG4gICAgaWYgKG5vZGUgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5yZXNldE5vZGVFZGl0TW9kZSh0aGlzLnJvb3ROb2RlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5vZGUuSXNFZGl0TW9kZSA9IGZhbHNlO1xyXG5cclxuICAgICAgaWYgKG5vZGUuQ2hpbGROb2Rlcykge1xyXG4gICAgICAgIG5vZGUuQ2hpbGROb2Rlcy5mb3JFYWNoKChpdG0pID0+IHRoaXMucmVzZXROb2RlRWRpdE1vZGUoaXRtKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRlbiBQZmFkIGluIGFsbGVuIE5vZGVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRQYXRoVG9BbGxOb2RlcygpIHtcclxuICAgIHRoaXMucm9vdE5vZGUuQ2hpbGROb2Rlcy5mb3JFYWNoKChpdG0pID0+IHtcclxuICAgICAgdGhpcy5maWxsUGF0aChpdG0sICcnKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlcmZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogSW50ZXJmYWNlIGbDvHIgRGF0ZWkgSXRlbXMgaW4gRmlsZSBCcm93c2VyIENvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJQnJvd3NlckZpbGUge1xyXG4gIC8qKlxyXG4gICAqIERhdGVpbmFtZVxyXG4gICAqL1xyXG4gIEZpbGVuYW1lOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogR3LDtnNzZSBkZXIgRGF0ZWlcclxuICAgKi9cclxuICBTaXplOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogSXRlbSB3aXJkIGJlYXJiZWl0ZXRcclxuICAgKi9cclxuICBJc0VkaXRNb2RlOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Klasse für API Request zum löschen eines Files
|
|
3
|
+
*/
|
|
4
|
+
export class BrowserFileDeleteRequest {
|
|
5
|
+
/**
|
|
6
|
+
* Konstruktor
|
|
7
|
+
* @param init Initale Werte der Klasse
|
|
8
|
+
*/
|
|
9
|
+
constructor(init) {
|
|
10
|
+
Object.assign(this, init);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlcmZpbGVkZWxldGVyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZWRlbGV0ZXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DOzs7T0FHRztJQUNILFlBQVksSUFBd0M7UUFDbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQVVGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEtsYXNzZSBmw7xyIEFQSSBSZXF1ZXN0IHp1bSBsw7ZzY2hlbiBlaW5lcyBGaWxlc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEJyb3dzZXJGaWxlRGVsZXRlUmVxdWVzdCB7XHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gaW5pdCBJbml0YWxlIFdlcnRlIGRlciBLbGFzc2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxCcm93c2VyRmlsZURlbGV0ZVJlcXVlc3Q+KSB7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUGZhZFxyXG4gICAqL1xyXG4gIFBhdGg6IHN0cmluZztcclxuICAvKipcclxuICAgKiBFcmxhdWJ0ZSBEYXRlaXR5cGVuXHJcbiAgICovXHJcbiAgQWxsb3dlZFR5cGVzOiBzdHJpbmc7XHJcbn1cclxuIl19
|