@simpleangularcontrols/sac-common 10.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/bundles/simpleangularcontrols-sac-common.umd.js +12054 -0
- package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -0
- package/bundles/simpleangularcontrols-sac-common.umd.min.js +2 -0
- package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -0
- package/common/basedatetimecontrol.d.ts +83 -0
- package/common/basedatetimecontrol.ngfactory.d.ts +1 -0
- package/common/baseinputcontrol.d.ts +42 -0
- package/common/baseinputcontrol.ngfactory.d.ts +1 -0
- package/common/baselistcontrol.d.ts +43 -0
- package/common/baselistcontrol.ngfactory.d.ts +1 -0
- package/common/basemodelcontrol.d.ts +252 -0
- package/common/basemodelcontrol.ngfactory.d.ts +1 -0
- package/common/baseselectcontrol.d.ts +14 -0
- package/common/baseselectcontrol.ngfactory.d.ts +1 -0
- package/common/baseuploadcontrol.d.ts +284 -0
- package/common/baseuploadcontrol.ngfactory.d.ts +1 -0
- package/components/browser/browser.d.ts +267 -0
- package/components/browser/browser.ngfactory.d.ts +1 -0
- package/components/browser/models/browserfile.d.ts +17 -0
- package/components/browser/models/browserfile.ngfactory.d.ts +1 -0
- package/components/browser/models/browserfiledeleterequest.d.ts +18 -0
- package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts +1 -0
- package/components/browser/models/browserfilerenamerequest.d.ts +22 -0
- package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts +1 -0
- package/components/browser/models/browserfileresponse.d.ts +10 -0
- package/components/browser/models/browserfileresponse.ngfactory.d.ts +1 -0
- package/components/browser/models/browserfilesaverequest.d.ts +22 -0
- package/components/browser/models/browserfilesaverequest.ngfactory.d.ts +1 -0
- package/components/browser/models/browsernode.d.ts +34 -0
- package/components/browser/models/browsernode.ngfactory.d.ts +1 -0
- package/components/browser/models/browsernodedeleterequest.d.ts +14 -0
- package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts +1 -0
- package/components/browser/models/browsernodenewrequest.d.ts +18 -0
- package/components/browser/models/browsernodenewrequest.ngfactory.d.ts +1 -0
- package/components/browser/models/browsernoderenamerequest.d.ts +18 -0
- package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts +1 -0
- package/components/browser/models/browsernoderequest.d.ts +18 -0
- package/components/browser/models/browsernoderequest.ngfactory.d.ts +1 -0
- package/components/browser/models/browsernoderesponse.d.ts +10 -0
- package/components/browser/models/browsernoderesponse.ngfactory.d.ts +1 -0
- package/controls/buttons/button.d.ts +70 -0
- package/controls/buttons/button.ngfactory.d.ts +1 -0
- package/controls/checkbox/checkbox.d.ts +23 -0
- package/controls/checkbox/checkbox.ngfactory.d.ts +1 -0
- package/controls/checkbox/radiobutton.d.ts +79 -0
- package/controls/checkbox/radiobutton.ngfactory.d.ts +1 -0
- package/controls/checkbox/radiobuttons.d.ts +60 -0
- package/controls/checkbox/radiobuttons.ngfactory.d.ts +1 -0
- package/controls/confirm/confirm.button.d.ts +25 -0
- package/controls/confirm/confirm.button.ngfactory.d.ts +1 -0
- package/controls/confirm/confirm.d.ts +49 -0
- package/controls/confirm/confirm.ngfactory.d.ts +1 -0
- package/controls/confirm/confirm.service.d.ts +63 -0
- package/controls/confirm/confirm.service.ngfactory.d.ts +1 -0
- package/controls/contextmenu/contextmenu.d.ts +113 -0
- package/controls/contextmenu/contextmenu.ngfactory.d.ts +1 -0
- package/controls/contextmenu/contextmenuanchor.d.ts +15 -0
- package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +1 -0
- package/controls/contextmenu/contextmenucontainer.d.ts +15 -0
- package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +1 -0
- package/controls/contextmenu/contextmenuitem.d.ts +5 -0
- package/controls/contextmenu/contextmenuitem.ngfactory.d.ts +1 -0
- package/controls/contextmenu/contextmenuitembutton.d.ts +66 -0
- package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +1 -0
- package/controls/datetime/date.d.ts +120 -0
- package/controls/datetime/date.ngfactory.d.ts +1 -0
- package/controls/datetime/dateselector.d.ts +161 -0
- package/controls/datetime/dateselector.ngfactory.d.ts +1 -0
- package/controls/datetime/datetime.d.ts +135 -0
- package/controls/datetime/datetime.ngfactory.d.ts +1 -0
- package/controls/datetime/time.d.ts +115 -0
- package/controls/datetime/time.ngfactory.d.ts +1 -0
- package/controls/dialog/dialog.d.ts +105 -0
- package/controls/dialog/dialog.ngfactory.d.ts +1 -0
- package/controls/form/form.d.ts +47 -0
- package/controls/form/form.ngfactory.d.ts +1 -0
- package/controls/grid/grid.d.ts +125 -0
- package/controls/grid/grid.ngfactory.d.ts +1 -0
- package/controls/grid/gridbutton.d.ts +33 -0
- package/controls/grid/gridbutton.ngfactory.d.ts +1 -0
- package/controls/grid/gridcolumn.d.ts +28 -0
- package/controls/grid/gridcolumn.ngfactory.d.ts +1 -0
- package/controls/grid/gridcolumnaction.d.ts +15 -0
- package/controls/grid/gridcolumnaction.ngfactory.d.ts +1 -0
- package/controls/grid/gridcolumnbase.d.ts +86 -0
- package/controls/grid/gridcolumnbase.ngfactory.d.ts +1 -0
- package/controls/grid/gridimage.d.ts +9 -0
- package/controls/grid/gridimage.ngfactory.d.ts +1 -0
- package/controls/grid/model.d.ts +83 -0
- package/controls/grid/model.ngfactory.d.ts +1 -0
- package/controls/grid/paging.d.ts +147 -0
- package/controls/grid/paging.ngfactory.d.ts +1 -0
- package/controls/input/input.d.ts +35 -0
- package/controls/input/input.ngfactory.d.ts +1 -0
- package/controls/input/inputarea.d.ts +26 -0
- package/controls/input/inputarea.ngfactory.d.ts +1 -0
- package/controls/input/inputcurrency.d.ts +11 -0
- package/controls/input/inputcurrency.ngfactory.d.ts +1 -0
- package/controls/input/inputdecimal.d.ts +59 -0
- package/controls/input/inputdecimal.ngfactory.d.ts +1 -0
- package/controls/input/inputemail.d.ts +19 -0
- package/controls/input/inputemail.ngfactory.d.ts +1 -0
- package/controls/input/inputinteger.d.ts +59 -0
- package/controls/input/inputinteger.ngfactory.d.ts +1 -0
- package/controls/input/inputpassword.d.ts +23 -0
- package/controls/input/inputpassword.ngfactory.d.ts +1 -0
- package/controls/input/inputsearch.d.ts +23 -0
- package/controls/input/inputsearch.ngfactory.d.ts +1 -0
- package/controls/layout/formlayout.d.ts +46 -0
- package/controls/layout/formlayout.ngfactory.d.ts +1 -0
- package/controls/list/dropdown.d.ts +138 -0
- package/controls/list/dropdown.ngfactory.d.ts +1 -0
- package/controls/list/list.module.d.ts +2 -0
- package/controls/list/list.module.ngfactory.d.ts +3 -0
- package/controls/list/listbox.d.ts +86 -0
- package/controls/list/listbox.ngfactory.d.ts +1 -0
- package/controls/multilanguage/multilanguageinput.d.ts +102 -0
- package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +1 -0
- package/controls/multilanguage/multilanguageinputarea.d.ts +107 -0
- package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +1 -0
- package/controls/static/formcontainer.d.ts +31 -0
- package/controls/static/formcontainer.ngfactory.d.ts +1 -0
- package/controls/static/staticlabel.d.ts +18 -0
- package/controls/static/staticlabel.ngfactory.d.ts +1 -0
- package/controls/tabs/tab.d.ts +45 -0
- package/controls/tabs/tab.ngfactory.d.ts +1 -0
- package/controls/tabs/tabitem.d.ts +30 -0
- package/controls/tabs/tabitem.ngfactory.d.ts +1 -0
- package/controls/tinymce/tinymce.d.ts +149 -0
- package/controls/tinymce/tinymce.ngfactory.d.ts +1 -0
- package/controls/tinymce/tinymcedialogsettings.d.ts +27 -0
- package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts +1 -0
- package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +9 -0
- package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts +1 -0
- package/controls/tinymce/tinymceinstance.d.ts +10 -0
- package/controls/tinymce/tinymceinstance.ngfactory.d.ts +1 -0
- package/controls/tooltip/tooltip.d.ts +138 -0
- package/controls/tooltip/tooltip.ngfactory.d.ts +1 -0
- package/controls/treeview/ngtreeitemaction.d.ts +40 -0
- package/controls/treeview/ngtreeitemaction.ngfactory.d.ts +1 -0
- package/controls/treeview/treeview.d.ts +185 -0
- package/controls/treeview/treeview.ngfactory.d.ts +1 -0
- package/controls/treeview/treeviewchild.d.ts +12 -0
- package/controls/treeview/treeviewchild.ngfactory.d.ts +1 -0
- package/controls/upload/dropzonemultiple.d.ts +70 -0
- package/controls/upload/dropzonemultiple.ngfactory.d.ts +1 -0
- package/controls/upload/dropzonesingle.d.ts +47 -0
- package/controls/upload/dropzonesingle.ngfactory.d.ts +1 -0
- package/controls/upload/uploadmultiple.d.ts +50 -0
- package/controls/upload/uploadmultiple.ngfactory.d.ts +1 -0
- package/controls/upload/uploadsingle.d.ts +27 -0
- package/controls/upload/uploadsingle.ngfactory.d.ts +1 -0
- package/controls/validation/validationsummary.d.ts +60 -0
- package/controls/validation/validationsummary.ngfactory.d.ts +1 -0
- package/controls/wizard/wizard.d.ts +73 -0
- package/controls/wizard/wizard.ngfactory.d.ts +1 -0
- package/controls/wizard/wizarditem.d.ts +25 -0
- package/controls/wizard/wizarditem.ngfactory.d.ts +1 -0
- package/enums/ButtonRoleType.d.ts +1 -0
- package/enums/ButtonRoleType.ngfactory.d.ts +1 -0
- package/enums/ControlHeight.d.ts +17 -0
- package/enums/ControlHeight.ngfactory.d.ts +1 -0
- package/enums/IconType.d.ts +7 -0
- package/enums/IconType.ngfactory.d.ts +1 -0
- package/esm2015/common/basedatetimecontrol.js +164 -0
- package/esm2015/common/basedatetimecontrol.ngfactory.js +7 -0
- package/esm2015/common/baseinputcontrol.js +78 -0
- package/esm2015/common/baseinputcontrol.ngfactory.js +7 -0
- package/esm2015/common/baselistcontrol.js +55 -0
- package/esm2015/common/baselistcontrol.ngfactory.js +7 -0
- package/esm2015/common/basemodelcontrol.js +483 -0
- package/esm2015/common/basemodelcontrol.ngfactory.js +7 -0
- package/esm2015/common/baseselectcontrol.js +26 -0
- package/esm2015/common/baseselectcontrol.ngfactory.js +7 -0
- package/esm2015/common/baseuploadcontrol.js +457 -0
- package/esm2015/common/baseuploadcontrol.ngfactory.js +7 -0
- package/esm2015/components/browser/browser.js +545 -0
- package/esm2015/components/browser/browser.ngfactory.js +7 -0
- package/esm2015/components/browser/models/browserfile.js +1 -0
- package/esm2015/components/browser/models/browserfile.ngfactory.js +7 -0
- package/esm2015/components/browser/models/browserfiledeleterequest.js +13 -0
- package/esm2015/components/browser/models/browserfiledeleterequest.ngfactory.js +7 -0
- package/esm2015/components/browser/models/browserfilerenamerequest.js +13 -0
- package/esm2015/components/browser/models/browserfilerenamerequest.ngfactory.js +7 -0
- package/esm2015/components/browser/models/browserfileresponse.js +1 -0
- package/esm2015/components/browser/models/browserfileresponse.ngfactory.js +7 -0
- package/esm2015/components/browser/models/browserfilesaverequest.js +13 -0
- package/esm2015/components/browser/models/browserfilesaverequest.ngfactory.js +7 -0
- package/esm2015/components/browser/models/browsernode.js +1 -0
- package/esm2015/components/browser/models/browsernode.ngfactory.js +7 -0
- package/esm2015/components/browser/models/browsernodedeleterequest.js +13 -0
- package/esm2015/components/browser/models/browsernodedeleterequest.ngfactory.js +7 -0
- package/esm2015/components/browser/models/browsernodenewrequest.js +13 -0
- package/esm2015/components/browser/models/browsernodenewrequest.ngfactory.js +7 -0
- package/esm2015/components/browser/models/browsernoderenamerequest.js +13 -0
- package/esm2015/components/browser/models/browsernoderenamerequest.ngfactory.js +7 -0
- package/esm2015/components/browser/models/browsernoderequest.js +13 -0
- package/esm2015/components/browser/models/browsernoderequest.ngfactory.js +7 -0
- package/esm2015/components/browser/models/browsernoderesponse.js +1 -0
- package/esm2015/components/browser/models/browsernoderesponse.ngfactory.js +7 -0
- package/esm2015/controls/buttons/button.js +141 -0
- package/esm2015/controls/buttons/button.ngfactory.js +7 -0
- package/esm2015/controls/checkbox/checkbox.js +33 -0
- package/esm2015/controls/checkbox/checkbox.ngfactory.js +7 -0
- package/esm2015/controls/checkbox/radiobutton.js +115 -0
- package/esm2015/controls/checkbox/radiobutton.ngfactory.js +7 -0
- package/esm2015/controls/checkbox/radiobuttons.js +113 -0
- package/esm2015/controls/checkbox/radiobuttons.ngfactory.js +7 -0
- package/esm2015/controls/confirm/confirm.button.js +32 -0
- package/esm2015/controls/confirm/confirm.button.ngfactory.js +7 -0
- package/esm2015/controls/confirm/confirm.js +75 -0
- package/esm2015/controls/confirm/confirm.ngfactory.js +7 -0
- package/esm2015/controls/confirm/confirm.service.js +87 -0
- package/esm2015/controls/confirm/confirm.service.ngfactory.js +7 -0
- package/esm2015/controls/contextmenu/contextmenu.js +194 -0
- package/esm2015/controls/contextmenu/contextmenu.ngfactory.js +7 -0
- package/esm2015/controls/contextmenu/contextmenuanchor.js +22 -0
- package/esm2015/controls/contextmenu/contextmenuanchor.ngfactory.js +7 -0
- package/esm2015/controls/contextmenu/contextmenucontainer.js +22 -0
- package/esm2015/controls/contextmenu/contextmenucontainer.ngfactory.js +7 -0
- package/esm2015/controls/contextmenu/contextmenuitem.js +10 -0
- package/esm2015/controls/contextmenu/contextmenuitem.ngfactory.js +7 -0
- package/esm2015/controls/contextmenu/contextmenuitembutton.js +97 -0
- package/esm2015/controls/contextmenu/contextmenuitembutton.ngfactory.js +7 -0
- package/esm2015/controls/datetime/date.js +212 -0
- package/esm2015/controls/datetime/date.ngfactory.js +7 -0
- package/esm2015/controls/datetime/dateselector.js +458 -0
- package/esm2015/controls/datetime/dateselector.ngfactory.js +7 -0
- package/esm2015/controls/datetime/datetime.js +229 -0
- package/esm2015/controls/datetime/datetime.ngfactory.js +7 -0
- package/esm2015/controls/datetime/time.js +212 -0
- package/esm2015/controls/datetime/time.ngfactory.js +7 -0
- package/esm2015/controls/dialog/dialog.js +207 -0
- package/esm2015/controls/dialog/dialog.ngfactory.js +7 -0
- package/esm2015/controls/form/form.js +110 -0
- package/esm2015/controls/form/form.ngfactory.js +7 -0
- package/esm2015/controls/grid/grid.js +144 -0
- package/esm2015/controls/grid/grid.ngfactory.js +7 -0
- package/esm2015/controls/grid/gridbutton.js +54 -0
- package/esm2015/controls/grid/gridbutton.ngfactory.js +7 -0
- package/esm2015/controls/grid/gridcolumn.js +49 -0
- package/esm2015/controls/grid/gridcolumn.ngfactory.js +7 -0
- package/esm2015/controls/grid/gridcolumnaction.js +26 -0
- package/esm2015/controls/grid/gridcolumnaction.ngfactory.js +7 -0
- package/esm2015/controls/grid/gridcolumnbase.js +126 -0
- package/esm2015/controls/grid/gridcolumnbase.ngfactory.js +7 -0
- package/esm2015/controls/grid/gridimage.js +13 -0
- package/esm2015/controls/grid/gridimage.ngfactory.js +7 -0
- package/esm2015/controls/grid/model.js +79 -0
- package/esm2015/controls/grid/model.ngfactory.js +7 -0
- package/esm2015/controls/grid/paging.js +254 -0
- package/esm2015/controls/grid/paging.ngfactory.js +7 -0
- package/esm2015/controls/input/input.js +66 -0
- package/esm2015/controls/input/input.ngfactory.js +7 -0
- package/esm2015/controls/input/inputarea.js +54 -0
- package/esm2015/controls/input/inputarea.ngfactory.js +7 -0
- package/esm2015/controls/input/inputcurrency.js +31 -0
- package/esm2015/controls/input/inputcurrency.ngfactory.js +7 -0
- package/esm2015/controls/input/inputdecimal.js +146 -0
- package/esm2015/controls/input/inputdecimal.ngfactory.js +7 -0
- package/esm2015/controls/input/inputemail.js +41 -0
- package/esm2015/controls/input/inputemail.ngfactory.js +7 -0
- package/esm2015/controls/input/inputinteger.js +130 -0
- package/esm2015/controls/input/inputinteger.ngfactory.js +7 -0
- package/esm2015/controls/input/inputpassword.js +46 -0
- package/esm2015/controls/input/inputpassword.ngfactory.js +7 -0
- package/esm2015/controls/input/inputsearch.js +37 -0
- package/esm2015/controls/input/inputsearch.ngfactory.js +7 -0
- package/esm2015/controls/layout/formlayout.js +70 -0
- package/esm2015/controls/layout/formlayout.ngfactory.js +7 -0
- package/esm2015/controls/list/dropdown.js +270 -0
- package/esm2015/controls/list/dropdown.ngfactory.js +7 -0
- package/esm2015/controls/list/list.module.js +11 -0
- package/esm2015/controls/list/list.module.ngfactory.js +7 -0
- package/esm2015/controls/list/listbox.js +187 -0
- package/esm2015/controls/list/listbox.ngfactory.js +7 -0
- package/esm2015/controls/multilanguage/multilanguageinput.js +230 -0
- package/esm2015/controls/multilanguage/multilanguageinput.ngfactory.js +7 -0
- package/esm2015/controls/multilanguage/multilanguageinputarea.js +231 -0
- package/esm2015/controls/multilanguage/multilanguageinputarea.ngfactory.js +7 -0
- package/esm2015/controls/static/formcontainer.js +50 -0
- package/esm2015/controls/static/formcontainer.ngfactory.js +7 -0
- package/esm2015/controls/static/staticlabel.js +31 -0
- package/esm2015/controls/static/staticlabel.ngfactory.js +7 -0
- package/esm2015/controls/tabs/tab.js +72 -0
- package/esm2015/controls/tabs/tab.ngfactory.js +7 -0
- package/esm2015/controls/tabs/tabitem.js +32 -0
- package/esm2015/controls/tabs/tabitem.ngfactory.js +7 -0
- package/esm2015/controls/tinymce/tinymce.js +238 -0
- package/esm2015/controls/tinymce/tinymce.ngfactory.js +7 -0
- package/esm2015/controls/tinymce/tinymcedialogsettings.js +13 -0
- package/esm2015/controls/tinymce/tinymcedialogsettings.ngfactory.js +7 -0
- package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.js +4 -0
- package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.js +7 -0
- package/esm2015/controls/tinymce/tinymceinstance.js +1 -0
- package/esm2015/controls/tinymce/tinymceinstance.ngfactory.js +7 -0
- package/esm2015/controls/tooltip/tooltip.js +361 -0
- package/esm2015/controls/tooltip/tooltip.ngfactory.js +7 -0
- package/esm2015/controls/treeview/ngtreeitemaction.js +60 -0
- package/esm2015/controls/treeview/ngtreeitemaction.ngfactory.js +7 -0
- package/esm2015/controls/treeview/treeview.js +322 -0
- package/esm2015/controls/treeview/treeview.ngfactory.js +7 -0
- package/esm2015/controls/treeview/treeviewchild.js +18 -0
- package/esm2015/controls/treeview/treeviewchild.ngfactory.js +7 -0
- package/esm2015/controls/upload/dropzonemultiple.js +163 -0
- package/esm2015/controls/upload/dropzonemultiple.ngfactory.js +7 -0
- package/esm2015/controls/upload/dropzonesingle.js +108 -0
- package/esm2015/controls/upload/dropzonesingle.ngfactory.js +7 -0
- package/esm2015/controls/upload/uploadmultiple.js +121 -0
- package/esm2015/controls/upload/uploadmultiple.ngfactory.js +7 -0
- package/esm2015/controls/upload/uploadsingle.js +55 -0
- package/esm2015/controls/upload/uploadsingle.ngfactory.js +7 -0
- package/esm2015/controls/validation/validationsummary.js +133 -0
- package/esm2015/controls/validation/validationsummary.ngfactory.js +7 -0
- package/esm2015/controls/wizard/wizard.js +139 -0
- package/esm2015/controls/wizard/wizard.ngfactory.js +7 -0
- package/esm2015/controls/wizard/wizarditem.js +27 -0
- package/esm2015/controls/wizard/wizarditem.ngfactory.js +7 -0
- package/esm2015/enums/ButtonRoleType.js +1 -0
- package/esm2015/enums/ButtonRoleType.ngfactory.js +7 -0
- package/esm2015/enums/ControlHeight.js +19 -0
- package/esm2015/enums/ControlHeight.ngfactory.js +7 -0
- package/esm2015/enums/IconType.js +9 -0
- package/esm2015/enums/IconType.ngfactory.js +7 -0
- package/esm2015/interfaces/ISacConfigurationService.js +1 -0
- package/esm2015/interfaces/ISacConfigurationService.ngfactory.js +7 -0
- package/esm2015/interfaces/ISacFileBrowserService.js +1 -0
- package/esm2015/interfaces/ISacFileBrowserService.ngfactory.js +7 -0
- package/esm2015/interfaces/ISacIconService.js +1 -0
- package/esm2015/interfaces/ISacIconService.ngfactory.js +7 -0
- package/esm2015/interfaces/ISacLabelSizes.js +1 -0
- package/esm2015/interfaces/ISacLabelSizes.ngfactory.js +7 -0
- package/esm2015/interfaces/ISacLanguageService.js +1 -0
- package/esm2015/interfaces/ISacLanguageService.ngfactory.js +7 -0
- package/esm2015/interfaces/ISacLocalisationService.js +1 -0
- package/esm2015/interfaces/ISacLocalisationService.ngfactory.js +7 -0
- package/esm2015/interfaces/ISacValidationKeyService.js +1 -0
- package/esm2015/interfaces/ISacValidationKeyService.ngfactory.js +7 -0
- package/esm2015/interfaces/iabstractcontrollabel.js +1 -0
- package/esm2015/interfaces/iabstractcontrollabel.ngfactory.js +7 -0
- package/esm2015/interfaces/iconfirmcomponent.js +1 -0
- package/esm2015/interfaces/iconfirmcomponent.ngfactory.js +7 -0
- package/esm2015/interfaces/idatetimecontrol.js +1 -0
- package/esm2015/interfaces/idatetimecontrol.ngfactory.js +7 -0
- package/esm2015/interfaces/iuploadcontrol.js +1 -0
- package/esm2015/interfaces/iuploadcontrol.ngfactory.js +7 -0
- package/esm2015/models/languagemodel.js +13 -0
- package/esm2015/models/languagemodel.ngfactory.js +7 -0
- package/esm2015/public_api.js +101 -0
- package/esm2015/public_api.ngfactory.js +7 -0
- package/esm2015/services/index.js +7 -0
- package/esm2015/services/index.ngfactory.js +7 -0
- package/esm2015/services/sac-configuration.service.js +77 -0
- package/esm2015/services/sac-configuration.service.ngfactory.js +7 -0
- package/esm2015/services/sac-filebrowser.service.js +203 -0
- package/esm2015/services/sac-filebrowser.service.ngfactory.js +7 -0
- package/esm2015/services/sac-icon.service.js +155 -0
- package/esm2015/services/sac-icon.service.ngfactory.js +7 -0
- package/esm2015/services/sac-language.service.js +43 -0
- package/esm2015/services/sac-language.service.ngfactory.js +7 -0
- package/esm2015/services/sac-localisation.service.js +460 -0
- package/esm2015/services/sac-localisation.service.ngfactory.js +7 -0
- package/esm2015/services/sac-validationkey.service.js +156 -0
- package/esm2015/services/sac-validationkey.service.ngfactory.js +7 -0
- package/esm2015/simpleangularcontrols-sac-common.js +11 -0
- package/esm2015/simpleangularcontrols-sac-common.ngfactory.js +7 -0
- package/esm2015/utilities/convertion.js +32 -0
- package/esm2015/utilities/convertion.ngfactory.js +7 -0
- package/esm2015/utilities/datatypes.js +9 -0
- package/esm2015/utilities/datatypes.ngfactory.js +7 -0
- package/esm2015/utilities/enums.js +16 -0
- package/esm2015/utilities/enums.ngfactory.js +7 -0
- package/esm2015/utilities/guid.js +16 -0
- package/esm2015/utilities/guid.ngfactory.js +7 -0
- package/esm2015/utilities/interpolation.js +50 -0
- package/esm2015/utilities/interpolation.ngfactory.js +7 -0
- package/esm2015/utilities/positioning.js +301 -0
- package/esm2015/utilities/positioning.ngfactory.js +7 -0
- package/esm2015/validation/email.validator.js +13 -0
- package/esm2015/validation/email.validator.ngfactory.js +7 -0
- package/esm2015/validation/index.js +3 -0
- package/esm2015/validation/index.ngfactory.js +7 -0
- package/esm2015/validation/invaliddate.validator.js +14 -0
- package/esm2015/validation/invaliddate.validator.ngfactory.js +7 -0
- package/esm2015/validation/isDateValid.js +15 -0
- package/esm2015/validation/isDateValid.ngfactory.js +7 -0
- package/esm2015/validation/maxdate.validator.js +21 -0
- package/esm2015/validation/maxdate.validator.ngfactory.js +7 -0
- package/esm2015/validation/maxtime.validator.js +21 -0
- package/esm2015/validation/maxtime.validator.ngfactory.js +7 -0
- package/esm2015/validation/maxvalue.validator.js +16 -0
- package/esm2015/validation/maxvalue.validator.ngfactory.js +7 -0
- package/esm2015/validation/mindate.validator.js +21 -0
- package/esm2015/validation/mindate.validator.ngfactory.js +7 -0
- package/esm2015/validation/minfiles.validator.js +19 -0
- package/esm2015/validation/minfiles.validator.ngfactory.js +7 -0
- package/esm2015/validation/minlength.validator.js +21 -0
- package/esm2015/validation/minlength.validator.ngfactory.js +7 -0
- package/esm2015/validation/mintime.validator.js +21 -0
- package/esm2015/validation/mintime.validator.ngfactory.js +7 -0
- package/esm2015/validation/minvalue.validator.js +16 -0
- package/esm2015/validation/minvalue.validator.ngfactory.js +7 -0
- package/esm2015/validation/multilanguagerequired.validator.js +22 -0
- package/esm2015/validation/multilanguagerequired.validator.ngfactory.js +7 -0
- package/esm2015/validation/multilanguagerequiredany.validator.js +22 -0
- package/esm2015/validation/multilanguagerequiredany.validator.ngfactory.js +7 -0
- package/esm2015/validation/pattern.validator.js +16 -0
- package/esm2015/validation/pattern.validator.ngfactory.js +7 -0
- package/esm2015/validation/required.validator.js +13 -0
- package/esm2015/validation/required.validator.ngfactory.js +7 -0
- package/esm2015/validation/validation.class.js +189 -0
- package/esm2015/validation/validation.class.ngfactory.js +7 -0
- package/esm2015/validation/validationerrorcreator.js +11 -0
- package/esm2015/validation/validationerrorcreator.ngfactory.js +7 -0
- package/esm2015/validation/validationerroritem.js +27 -0
- package/esm2015/validation/validationerroritem.ngfactory.js +7 -0
- package/fesm2015/simpleangularcontrols-sac-common.js +10319 -0
- package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -0
- package/interfaces/ISacConfigurationService.d.ts +38 -0
- package/interfaces/ISacConfigurationService.ngfactory.d.ts +1 -0
- package/interfaces/ISacFileBrowserService.d.ts +65 -0
- package/interfaces/ISacFileBrowserService.ngfactory.d.ts +1 -0
- package/interfaces/ISacIconService.d.ts +89 -0
- package/interfaces/ISacIconService.ngfactory.d.ts +1 -0
- package/interfaces/ISacLabelSizes.d.ts +26 -0
- package/interfaces/ISacLabelSizes.ngfactory.d.ts +1 -0
- package/interfaces/ISacLanguageService.d.ts +12 -0
- package/interfaces/ISacLanguageService.ngfactory.d.ts +1 -0
- package/interfaces/ISacLocalisationService.d.ts +10 -0
- package/interfaces/ISacLocalisationService.ngfactory.d.ts +1 -0
- package/interfaces/ISacValidationKeyService.d.ts +52 -0
- package/interfaces/ISacValidationKeyService.ngfactory.d.ts +1 -0
- package/interfaces/iabstractcontrollabel.d.ts +6 -0
- package/interfaces/iabstractcontrollabel.ngfactory.d.ts +1 -0
- package/interfaces/iconfirmcomponent.d.ts +18 -0
- package/interfaces/iconfirmcomponent.ngfactory.d.ts +1 -0
- package/interfaces/idatetimecontrol.d.ts +7 -0
- package/interfaces/idatetimecontrol.ngfactory.d.ts +1 -0
- package/interfaces/iuploadcontrol.d.ts +9 -0
- package/interfaces/iuploadcontrol.ngfactory.d.ts +1 -0
- package/models/languagemodel.d.ts +22 -0
- package/models/languagemodel.ngfactory.d.ts +1 -0
- package/package.json +28 -0
- package/public_api.d.ts +79 -0
- package/public_api.ngfactory.d.ts +1 -0
- package/services/index.d.ts +6 -0
- package/services/index.ngfactory.d.ts +1 -0
- package/services/sac-configuration.service.d.ts +81 -0
- package/services/sac-configuration.service.ngfactory.d.ts +1 -0
- package/services/sac-filebrowser.service.d.ts +140 -0
- package/services/sac-filebrowser.service.ngfactory.d.ts +1 -0
- package/services/sac-icon.service.d.ts +184 -0
- package/services/sac-icon.service.ngfactory.d.ts +1 -0
- package/services/sac-language.service.d.ts +26 -0
- package/services/sac-language.service.ngfactory.d.ts +1 -0
- package/services/sac-localisation.service.d.ts +137 -0
- package/services/sac-localisation.service.ngfactory.d.ts +1 -0
- package/services/sac-validationkey.service.d.ts +55 -0
- package/services/sac-validationkey.service.ngfactory.d.ts +1 -0
- package/simpleangularcontrols-sac-common-10.0.0-rc.1.tgz +0 -0
- package/simpleangularcontrols-sac-common.d.ts +10 -0
- package/simpleangularcontrols-sac-common.metadata.json +1 -0
- package/simpleangularcontrols-sac-common.ngfactory.d.ts +1 -0
- package/utilities/convertion.d.ts +15 -0
- package/utilities/convertion.ngfactory.d.ts +1 -0
- package/utilities/datatypes.d.ts +6 -0
- package/utilities/datatypes.ngfactory.d.ts +1 -0
- package/utilities/enums.d.ts +10 -0
- package/utilities/enums.ngfactory.d.ts +1 -0
- package/utilities/guid.d.ts +4 -0
- package/utilities/guid.ngfactory.d.ts +1 -0
- package/utilities/interpolation.d.ts +21 -0
- package/utilities/interpolation.ngfactory.d.ts +1 -0
- package/utilities/positioning.d.ts +82 -0
- package/utilities/positioning.ngfactory.d.ts +1 -0
- package/validation/email.validator.d.ts +2 -0
- package/validation/email.validator.ngfactory.d.ts +1 -0
- package/validation/index.d.ts +2 -0
- package/validation/index.ngfactory.d.ts +1 -0
- package/validation/invaliddate.validator.d.ts +2 -0
- package/validation/invaliddate.validator.ngfactory.d.ts +1 -0
- package/validation/isDateValid.d.ts +5 -0
- package/validation/isDateValid.ngfactory.d.ts +1 -0
- package/validation/maxdate.validator.d.ts +2 -0
- package/validation/maxdate.validator.ngfactory.d.ts +1 -0
- package/validation/maxtime.validator.d.ts +2 -0
- package/validation/maxtime.validator.ngfactory.d.ts +1 -0
- package/validation/maxvalue.validator.d.ts +2 -0
- package/validation/maxvalue.validator.ngfactory.d.ts +1 -0
- package/validation/mindate.validator.d.ts +2 -0
- package/validation/mindate.validator.ngfactory.d.ts +1 -0
- package/validation/minfiles.validator.d.ts +2 -0
- package/validation/minfiles.validator.ngfactory.d.ts +1 -0
- package/validation/minlength.validator.d.ts +2 -0
- package/validation/minlength.validator.ngfactory.d.ts +1 -0
- package/validation/mintime.validator.d.ts +2 -0
- package/validation/mintime.validator.ngfactory.d.ts +1 -0
- package/validation/minvalue.validator.d.ts +2 -0
- package/validation/minvalue.validator.ngfactory.d.ts +1 -0
- package/validation/multilanguagerequired.validator.d.ts +3 -0
- package/validation/multilanguagerequired.validator.ngfactory.d.ts +1 -0
- package/validation/multilanguagerequiredany.validator.d.ts +3 -0
- package/validation/multilanguagerequiredany.validator.ngfactory.d.ts +1 -0
- package/validation/pattern.validator.d.ts +2 -0
- package/validation/pattern.validator.ngfactory.d.ts +1 -0
- package/validation/required.validator.d.ts +2 -0
- package/validation/required.validator.ngfactory.d.ts +1 -0
- package/validation/validation.class.d.ts +139 -0
- package/validation/validation.class.ngfactory.d.ts +1 -0
- package/validation/validationerrorcreator.d.ts +1 -0
- package/validation/validationerrorcreator.ngfactory.d.ts +1 -0
- package/validation/validationerroritem.d.ts +33 -0
- package/validation/validationerroritem.ngfactory.d.ts +1 -0
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import { ContentChild, Directive, EventEmitter, Input, Output, TemplateRef, } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Basis Komponente für SacTreeView
|
|
4
|
+
*/
|
|
5
|
+
export class SacTreeViewCommon {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Das Property enthielt array of nodes. Default value: empty array [].
|
|
9
|
+
*/
|
|
10
|
+
this.nodes = [];
|
|
11
|
+
/**
|
|
12
|
+
* Das Property enthielt node attribute: 'isCollapsed'. Es wird benutzt beim rendering. Für Expand/Collapsed Sicht des Node(Wert)
|
|
13
|
+
*/
|
|
14
|
+
this.collapseAttr = 'isCollapsed';
|
|
15
|
+
/**
|
|
16
|
+
* Das Property enthielt node attribute: 'isSelected'. Es wird benutzt beim Vorbereitung des Data des TreeView
|
|
17
|
+
*/
|
|
18
|
+
this.selectAttr = 'isSelected';
|
|
19
|
+
/**
|
|
20
|
+
* Das Property enthielt node attribute: 'isIndeterminate'. Es wird benutzt beim Vorbereitung des Data des TreeView
|
|
21
|
+
*/
|
|
22
|
+
this.inDeterminateAttr = 'isIndeterminate';
|
|
23
|
+
/**
|
|
24
|
+
* Providen data for tree.
|
|
25
|
+
*/
|
|
26
|
+
this._data = [];
|
|
27
|
+
/**
|
|
28
|
+
* Input property für den Namen des TreeView. Type string. Default value: ""
|
|
29
|
+
*/
|
|
30
|
+
this.name = '';
|
|
31
|
+
/**
|
|
32
|
+
* A flag indicating data is flatten in array and prepare is required.(Default
|
|
33
|
+
* is false).
|
|
34
|
+
*/
|
|
35
|
+
this.prepareData = false;
|
|
36
|
+
/**
|
|
37
|
+
* Attribute for Text in Tree
|
|
38
|
+
*/
|
|
39
|
+
this.textAttr = 'data';
|
|
40
|
+
/**
|
|
41
|
+
* Name of ID property in input data.
|
|
42
|
+
*/
|
|
43
|
+
this.idAttr = 'id';
|
|
44
|
+
/**
|
|
45
|
+
* Name of parent property in input data.
|
|
46
|
+
*/
|
|
47
|
+
this.parentAttr = 'PARENT_ID';
|
|
48
|
+
/**
|
|
49
|
+
* Name of children list property in input data.
|
|
50
|
+
*/
|
|
51
|
+
this.childrenAttr = 'children';
|
|
52
|
+
/**
|
|
53
|
+
* Output Emitter. Emit das ID des selected Node.
|
|
54
|
+
*/
|
|
55
|
+
this.selectedidchange = new EventEmitter();
|
|
56
|
+
/**
|
|
57
|
+
* Output Emitter. Emit das TextAttr des selected Node.
|
|
58
|
+
*/
|
|
59
|
+
this.selectedtextchanged = new EventEmitter();
|
|
60
|
+
/**
|
|
61
|
+
* Output Emitter. Emit wenn ein Node selektiert wird.
|
|
62
|
+
*/
|
|
63
|
+
this.selecteditem = new EventEmitter();
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Getter für Data des TreeView
|
|
67
|
+
*/
|
|
68
|
+
get data() {
|
|
69
|
+
return this._data;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Input Property für Data des TreeView
|
|
73
|
+
*/
|
|
74
|
+
set data(value) {
|
|
75
|
+
this._data = value;
|
|
76
|
+
this.nodes = value;
|
|
77
|
+
// this.nodes.forEach(node => node["typeId"] = "13")
|
|
78
|
+
this.LoadTree();
|
|
79
|
+
if (this._collapseAll !== undefined) {
|
|
80
|
+
this.collapseAllNode(this._collapseAll);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Die Directive erhält die actions für das TreeView
|
|
85
|
+
*/
|
|
86
|
+
set treeviewTemplate(v) {
|
|
87
|
+
this.template = v;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Getter für das TreeView Template
|
|
91
|
+
*/
|
|
92
|
+
get treeviewTemplate() {
|
|
93
|
+
return this.template;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Setter property. Deffiniert das FileIcon für das TreeView
|
|
97
|
+
*/
|
|
98
|
+
set treefileicon(v) {
|
|
99
|
+
this.fileicontemplate = v;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Getter property. Ergibt das FileIcon für das TreeView
|
|
103
|
+
*/
|
|
104
|
+
get treefileicon() {
|
|
105
|
+
return this.fileicontemplate;
|
|
106
|
+
}
|
|
107
|
+
// @Input("titleAction") _titleAction: string
|
|
108
|
+
/**
|
|
109
|
+
* Collapse or expand all parent nodes.
|
|
110
|
+
*/
|
|
111
|
+
set collapseall(value) {
|
|
112
|
+
this._collapseAll = value;
|
|
113
|
+
if (this.nodes && this.nodes.length && this.nodes.length > 0) {
|
|
114
|
+
this.collapseAllNode(this._collapseAll);
|
|
115
|
+
}
|
|
116
|
+
// this._recursiveEdit(
|
|
117
|
+
// this.nodes, this.childrenAttr, this.collapseAttr, this._collapseAll);
|
|
118
|
+
// this.cd.detectChanges();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Getter für das collapse property. Ergibt boolean Wert, ob die Items collapsed/expand sind.
|
|
122
|
+
*/
|
|
123
|
+
get collapseall() {
|
|
124
|
+
return this._collapseAll;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Select or deselect all nodes.
|
|
128
|
+
*/
|
|
129
|
+
set selectall(value) {
|
|
130
|
+
this._selectAll = value;
|
|
131
|
+
this._recursiveEdit(this.nodes, this.childrenAttr, this.selectAttr, value);
|
|
132
|
+
this._recursiveEdit(this.nodes, this.childrenAttr, this.inDeterminateAttr, false);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Input property - setter. Deffiniert das ID des selektierten Item(node)
|
|
136
|
+
*/
|
|
137
|
+
set selectedid(v) {
|
|
138
|
+
this.selectedNode = this.findNode(this.nodes, v, this.idAttr);
|
|
139
|
+
// if (this.selectedNode) {
|
|
140
|
+
// this.selectedIdEmitter.emit(this.selectedNode[this.idAttr]);
|
|
141
|
+
// this.selectedTextEmitter.emit(this.selectedNode[this.textAttr]);
|
|
142
|
+
// }
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Getter. Ergibt das ID des selektierten Item(node)
|
|
146
|
+
*/
|
|
147
|
+
get selectedId() {
|
|
148
|
+
return this.selectedNode ? this.selectedNode[this.idAttr] : null;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Setter für das selektierte Wert(node). Wenn aufgerufen das ID und TextAttr des selected Node wird emitted
|
|
152
|
+
*/
|
|
153
|
+
set selectedNode(v) {
|
|
154
|
+
this._selectedNode = v;
|
|
155
|
+
if (this._selectedNode) {
|
|
156
|
+
this.selectedidchange.emit(this.selectedId);
|
|
157
|
+
this.selectedtextchanged.emit(v[this.textAttr]);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Getter für das selektierte Wert(node). Ergibt das selektierte Wert(node).
|
|
162
|
+
*/
|
|
163
|
+
get selectedNode() {
|
|
164
|
+
return this._selectedNode;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* A lifecycle hook that is called after Angular has initialized all data-bound properties of a directive.
|
|
168
|
+
* Define an ngOnInit() method to handle any additional initialization tasks.
|
|
169
|
+
*/
|
|
170
|
+
ngOnInit() {
|
|
171
|
+
this.collapseAllNode(this._collapseAll);
|
|
172
|
+
if (this.selectedId)
|
|
173
|
+
this.openSelectedNode(this.nodes);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Funktion setzt alle parent items recusiv zum selected node
|
|
177
|
+
* auf collapsed = false
|
|
178
|
+
*/
|
|
179
|
+
openSelectedNode(data) {
|
|
180
|
+
let result = false;
|
|
181
|
+
for (let i = 0; i < data.length; i++) {
|
|
182
|
+
if (data[i][this.childrenAttr].length &&
|
|
183
|
+
data[i][this.idAttr] != this.selectedId)
|
|
184
|
+
result = this.openSelectedNode(data[i][this.childrenAttr]);
|
|
185
|
+
if (result || data[i][this.idAttr] == this.selectedId) {
|
|
186
|
+
data[i][this.collapseAttr] = false;
|
|
187
|
+
return true;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Die Methode vorbereitet die Daten für das TreeView. Die Funktion sollte geändert werden abhängig von dem kommenden Daten (wenn array)
|
|
194
|
+
*/
|
|
195
|
+
LoadTree() {
|
|
196
|
+
//if the tree structure require array the function below should be changed
|
|
197
|
+
const cloned = this._data.map((x) => Object.assign({}, x));
|
|
198
|
+
// If data is flat, prepare data with recursive function.
|
|
199
|
+
this.nodes = this.prepareData ? this._getPreparedData(cloned) : this._data;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Die Methode collapse/expand den selectierten Node
|
|
203
|
+
*/
|
|
204
|
+
onCollapseClick(node) {
|
|
205
|
+
if (node[this.childrenAttr].length) {
|
|
206
|
+
node[this.collapseAttr] = !node[this.collapseAttr];
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Die Methode set den selektierten Node und emit es.
|
|
211
|
+
*/
|
|
212
|
+
onClick(node) {
|
|
213
|
+
this.selectedNode = node;
|
|
214
|
+
this.selecteditem.emit(this.selectedNode);
|
|
215
|
+
// this.cd.detectChanges();
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Die Methode wird ein event mit Meldung zu Parent emit-en.
|
|
219
|
+
*/
|
|
220
|
+
sendMsgToParent(msg) {
|
|
221
|
+
this.selecteditem.emit(msg);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Die Methode wird alle Nodes collapse
|
|
225
|
+
*/
|
|
226
|
+
collapseAllNode(command) {
|
|
227
|
+
this.nodes.forEach((node) => {
|
|
228
|
+
if (node[this.childrenAttr].length) {
|
|
229
|
+
collapseAllHIdden(node, this.collapseAttr, command, this.childrenAttr);
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
function collapseAllHIdden(node, collapseAttr, command, childrenAttr) {
|
|
233
|
+
node[collapseAttr] = command;
|
|
234
|
+
node.children.forEach((child) => {
|
|
235
|
+
if (child[childrenAttr].length) {
|
|
236
|
+
collapseAllHIdden(child, collapseAttr, command, childrenAttr);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Funktion gibt node aus der liste zurück, welches das Value auf dem gewünschten Attribut hat
|
|
243
|
+
* Wenn node nicht gefunden wird, wird null zurück gegeben
|
|
244
|
+
* @param data Liste der nodes
|
|
245
|
+
* @param searchValue Das gesuchte value
|
|
246
|
+
* @param attr Der namen des Attributs auf dem das value gesucht wird
|
|
247
|
+
*/
|
|
248
|
+
findNode(data, searchValue, attr) {
|
|
249
|
+
let result = null;
|
|
250
|
+
for (let i = 0; i < data.length; i++) {
|
|
251
|
+
if (data[i][attr] == searchValue)
|
|
252
|
+
result = data[i];
|
|
253
|
+
else {
|
|
254
|
+
if (data[i][this.childrenAttr].length) {
|
|
255
|
+
let recursiveResult = this.findNode(data[i][this.childrenAttr], searchValue, attr);
|
|
256
|
+
if (recursiveResult)
|
|
257
|
+
result = recursiveResult;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return result;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Die Methode editiert (recursive) alle eingegebene Nodes abhängig von gegebenen Attibute und Value Kriterien.
|
|
265
|
+
*/
|
|
266
|
+
_recursiveEdit(list, childrenAttr, attr, value) {
|
|
267
|
+
if (Array.isArray(list)) {
|
|
268
|
+
for (let i = 0, len = list.length; i < len; i++) {
|
|
269
|
+
list[i][attr] = value;
|
|
270
|
+
if (list[i][childrenAttr].length) {
|
|
271
|
+
this._recursiveEdit(list[i][childrenAttr], childrenAttr, attr, value);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Die Methode erstellt eine standarte Sicht-Liste von Nodes
|
|
278
|
+
*/
|
|
279
|
+
_getPreparedData(list) {
|
|
280
|
+
const tree = [], lookup = {};
|
|
281
|
+
for (let i = 0, len = list.length; i < len; i++) {
|
|
282
|
+
lookup[list[i][this.idAttr]] = list[i];
|
|
283
|
+
list[i][this.childrenAttr] = [];
|
|
284
|
+
list[i][this.collapseAttr] = true;
|
|
285
|
+
list[i][this.selectAttr] = false;
|
|
286
|
+
list[i][this.inDeterminateAttr] = false;
|
|
287
|
+
}
|
|
288
|
+
for (let i = 0, len = list.length; i < len; i++) {
|
|
289
|
+
if (list[i][this.parentAttr]) {
|
|
290
|
+
lookup[list[i][this.parentAttr]][this.childrenAttr].push(list[i]);
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
tree.push(list[i]);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return tree;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
SacTreeViewCommon.decorators = [
|
|
300
|
+
{ type: Directive }
|
|
301
|
+
];
|
|
302
|
+
SacTreeViewCommon.propDecorators = {
|
|
303
|
+
data: [{ type: Input }],
|
|
304
|
+
template: [{ type: Input }],
|
|
305
|
+
treeviewTemplate: [{ type: ContentChild, args: ['actions', { static: true },] }],
|
|
306
|
+
fileicontemplate: [{ type: Input }],
|
|
307
|
+
treefileicon: [{ type: ContentChild, args: ['treefileicon', { static: true },] }],
|
|
308
|
+
name: [{ type: Input }],
|
|
309
|
+
prepareData: [{ type: Input }],
|
|
310
|
+
textAttr: [{ type: Input }],
|
|
311
|
+
idAttr: [{ type: Input }],
|
|
312
|
+
parentAttr: [{ type: Input }],
|
|
313
|
+
childrenAttr: [{ type: Input }],
|
|
314
|
+
title: [{ type: Input }],
|
|
315
|
+
collapseall: [{ type: Input }],
|
|
316
|
+
selectall: [{ type: Input }],
|
|
317
|
+
selectedid: [{ type: Input }],
|
|
318
|
+
selectedidchange: [{ type: Output }],
|
|
319
|
+
selectedtextchanged: [{ type: Output }],
|
|
320
|
+
selecteditem: [{ type: Output }]
|
|
321
|
+
};
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvdHJlZXZpZXcvdHJlZXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQVlFOztXQUVHO1FBQ0ksVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUV6Qjs7V0FFRztRQUNJLGlCQUFZLEdBQUcsYUFBYSxDQUFDO1FBRXBDOztXQUVHO1FBQ0ksZUFBVSxHQUFHLFlBQVksQ0FBQztRQUVqQzs7V0FFRztRQUNJLHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBRTdDOztXQUVHO1FBQ0ssVUFBSyxHQUFVLEVBQUUsQ0FBQztRQW9FMUI7O1dBRUc7UUFFSCxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxCOzs7V0FHRztRQUNNLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRTdCOztXQUVHO1FBQ00sYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUUzQjs7V0FFRztRQUNNLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFFdkI7O1dBRUc7UUFDTSxlQUFVLEdBQUcsV0FBVyxDQUFDO1FBRWxDOztXQUVHO1FBQ00saUJBQVksR0FBRyxVQUFVLENBQUM7UUEyRm5DOztXQUVHO1FBRUgscUJBQWdCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFOUQ7O1dBRUc7UUFFSCx3QkFBbUIsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV2RTs7V0FFRztRQUVILGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFxSmxFLENBQUM7SUFoV0M7O09BRUc7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxJQUFJLENBQUMsS0FBWTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixvREFBb0Q7UUFFcEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBUUQ7O09BRUc7SUFDSCxJQUNXLGdCQUFnQixDQUFDLENBQW1CO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBUUQ7O09BRUc7SUFDSCxJQUNXLFlBQVksQ0FBQyxDQUFtQjtRQUN6QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBdUNELDZDQUE2QztJQUU3Qzs7T0FFRztJQUNILElBQ0ksV0FBVyxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN6QztRQUVELHVCQUF1QjtRQUN2QiwwRUFBMEU7UUFFMUUsMkJBQTJCO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLGNBQWMsQ0FDakIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsaUJBQWlCLEVBQ3RCLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxVQUFVLENBQUMsQ0FBTTtRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlELDJCQUEyQjtRQUMzQixpRUFBaUU7UUFDakUscUVBQXFFO1FBQ3JFLElBQUk7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbkUsQ0FBQztJQU9EOztPQUVHO0lBQ0gsSUFBSSxZQUFZLENBQUMsQ0FBTTtRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUV2QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQW9CRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFeEMsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGdCQUFnQixDQUFDLElBQUk7UUFDM0IsSUFBSSxNQUFNLEdBQVksS0FBSyxDQUFDO1FBQzVCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLElBQ0UsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNO2dCQUNqQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVO2dCQUV2QyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUM3RCxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3JELElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUNuQyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7T0FFRztJQUNLLFFBQVE7UUFDZCwwRUFBMEU7UUFDMUUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFM0QseURBQXlEO1FBQ3pELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzdFLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxJQUFJO1FBQ2xCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsSUFBSTtRQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQywyQkFBMkI7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZSxDQUFDLEdBQUc7UUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZSxDQUFDLE9BQU87UUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxFQUFFO2dCQUNsQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3hFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxTQUFTLGlCQUFpQixDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFlBQVk7WUFDbEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLE9BQU8sQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNuQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUU7b0JBQzlCLGlCQUFpQixDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO2lCQUMvRDtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJO1FBQ3RDLElBQUksTUFBTSxHQUFRLElBQUksQ0FBQztRQUN2QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXO2dCQUFFLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzlDO2dCQUNILElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUU7b0JBQ3JDLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQ2pDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQzFCLFdBQVcsRUFDWCxJQUFJLENBQ0wsQ0FBQztvQkFDRixJQUFJLGVBQWU7d0JBQUUsTUFBTSxHQUFHLGVBQWUsQ0FBQztpQkFDL0M7YUFDRjtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUs7UUFDcEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sRUFBRTtvQkFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDdkU7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZ0JBQWdCLENBQUMsSUFBSTtRQUMzQixNQUFNLElBQUksR0FBRyxFQUFFLEVBQ2IsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNkLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDbEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUN6QztRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbkU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwQjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7WUFwWUYsU0FBUzs7O21CQStDUCxLQUFLO3VCQWlCTCxLQUFLOytCQU1MLFlBQVksU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOytCQWV4QyxLQUFLOzJCQU1MLFlBQVksU0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO21CQWU3QyxLQUFLOzBCQU9MLEtBQUs7dUJBS0wsS0FBSztxQkFLTCxLQUFLO3lCQUtMLEtBQUs7MkJBS0wsS0FBSztvQkFLTCxLQUFLOzBCQU9MLEtBQUs7d0JBdUJMLEtBQUs7eUJBZUwsS0FBSzsrQkE0Q0wsTUFBTTtrQ0FNTixNQUFNOzJCQU1OLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbnRlbnRDaGlsZCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQmFzaXMgS29tcG9uZW50ZSBmw7xyIFNhY1RyZWVWaWV3XHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY1RyZWVWaWV3Q29tbW9uIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKipcclxuICAgKiBEYXMgUHJvcGVydHkgZW50aGllbHQgYm9vbGVhbiBXZXJ0IHVuZCBkZWZmaW5pZXJ0LCBvYiBhbGxlIEl0ZW1zIGNvbGxhcHNlZCBzaW5kLiBEZWZhdWx0IHZhbHVlOiB1bmRlZmluZWQvbnVsbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBfY29sbGFwc2VBbGw6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBQcm9wZXJ0eSBlbnRoaWVsdCBib29sZWFuIFdlcnQgdW5kIGRlZmZpbmllcnQsIG9iIGFsbGUgSXRlbXMgc2VsZWN0ZWQgc2luZC4gRGVmYXVsdCB2YWx1ZTogdW5kZWZpbmVkL251bGxcclxuICAgKi9cclxuICBwcml2YXRlIF9zZWxlY3RBbGw6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBQcm9wZXJ0eSBlbnRoaWVsdCBhcnJheSBvZiBub2Rlcy4gRGVmYXVsdCB2YWx1ZTogZW1wdHkgYXJyYXkgW10uXHJcbiAgICovXHJcbiAgcHVibGljIG5vZGVzOiBhbnlbXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgUHJvcGVydHkgZW50aGllbHQgbm9kZSBhdHRyaWJ1dGU6ICdpc0NvbGxhcHNlZCcuIEVzIHdpcmQgYmVudXR6dCBiZWltIHJlbmRlcmluZy4gRsO8ciBFeHBhbmQvQ29sbGFwc2VkIFNpY2h0IGRlcyBOb2RlKFdlcnQpXHJcbiAgICovXHJcbiAgcHVibGljIGNvbGxhcHNlQXR0ciA9ICdpc0NvbGxhcHNlZCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBQcm9wZXJ0eSBlbnRoaWVsdCBub2RlIGF0dHJpYnV0ZTogJ2lzU2VsZWN0ZWQnLiBFcyB3aXJkIGJlbnV0enQgYmVpbSBWb3JiZXJlaXR1bmcgZGVzIERhdGEgZGVzIFRyZWVWaWV3XHJcbiAgICovXHJcbiAgcHVibGljIHNlbGVjdEF0dHIgPSAnaXNTZWxlY3RlZCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBQcm9wZXJ0eSBlbnRoaWVsdCBub2RlIGF0dHJpYnV0ZTogJ2lzSW5kZXRlcm1pbmF0ZScuIEVzIHdpcmQgYmVudXR6dCBiZWltIFZvcmJlcmVpdHVuZyBkZXMgRGF0YSBkZXMgVHJlZVZpZXdcclxuICAgKi9cclxuICBwdWJsaWMgaW5EZXRlcm1pbmF0ZUF0dHIgPSAnaXNJbmRldGVybWluYXRlJztcclxuXHJcbiAgLyoqXHJcbiAgICogUHJvdmlkZW4gZGF0YSBmb3IgdHJlZS5cclxuICAgKi9cclxuICBwcml2YXRlIF9kYXRhOiBhbnlbXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBHZXR0ZXIgZsO8ciBEYXRhIGRlcyBUcmVlVmlld1xyXG4gICAqL1xyXG4gIGdldCBkYXRhKCk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5wdXQgUHJvcGVydHkgZsO8ciBEYXRhIGRlcyBUcmVlVmlld1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGRhdGEodmFsdWU6IGFueVtdKSB7XHJcbiAgICB0aGlzLl9kYXRhID0gdmFsdWU7XHJcbiAgICB0aGlzLm5vZGVzID0gdmFsdWU7XHJcblxyXG4gICAgLy8gdGhpcy5ub2Rlcy5mb3JFYWNoKG5vZGUgPT4gbm9kZVtcInR5cGVJZFwiXSA9IFwiMTNcIilcclxuXHJcbiAgICB0aGlzLkxvYWRUcmVlKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuX2NvbGxhcHNlQWxsICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5jb2xsYXBzZUFsbE5vZGUodGhpcy5fY29sbGFwc2VBbGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5wdXQgUHJvcGVydHkgZsO8ciB0ZW1wbGF0ZSBkZXMgVHJlZVZpZXcuIFR5cGU6IFRlbXBsYXRlUmVmPGFueT4uXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogRGllIERpcmVjdGl2ZSBlcmjDpGx0IGRpZSBhY3Rpb25zIGbDvHIgZGFzIFRyZWVWaWV3XHJcbiAgICovXHJcbiAgQENvbnRlbnRDaGlsZCgnYWN0aW9ucycsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHVibGljIHNldCB0cmVldmlld1RlbXBsYXRlKHY6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIHRoaXMudGVtcGxhdGUgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyIGbDvHIgZGFzIFRyZWVWaWV3IFRlbXBsYXRlXHJcbiAgICovXHJcbiAgcHVibGljIGdldCB0cmVldmlld1RlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBwcm9wZXJ0eSBlcmjDpGx0IEljb24gZsO8ciBkYXMgVGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIGZpbGVpY29udGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHRlciBwcm9wZXJ0eS4gRGVmZmluaWVydCBkYXMgRmlsZUljb24gZsO8ciBkYXMgVHJlZVZpZXdcclxuICAgKi9cclxuICBAQ29udGVudENoaWxkKCd0cmVlZmlsZWljb24nLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHB1YmxpYyBzZXQgdHJlZWZpbGVpY29uKHY6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIHRoaXMuZmlsZWljb250ZW1wbGF0ZSA9IHY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXR0ZXIgcHJvcGVydHkuIEVyZ2lidCBkYXMgRmlsZUljb24gZsO8ciBkYXMgVHJlZVZpZXdcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IHRyZWVmaWxlaWNvbigpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmZpbGVpY29udGVtcGxhdGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBwcm9wZXJ0eSBmw7xyIGRlbiBOYW1lbiBkZXMgVHJlZVZpZXcuIFR5cGUgc3RyaW5nLiBEZWZhdWx0IHZhbHVlOiBcIlwiXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBuYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogQSBmbGFnIGluZGljYXRpbmcgZGF0YSBpcyBmbGF0dGVuIGluIGFycmF5IGFuZCBwcmVwYXJlIGlzIHJlcXVpcmVkLihEZWZhdWx0XHJcbiAgICogaXMgZmFsc2UpLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHByZXBhcmVEYXRhID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEF0dHJpYnV0ZSBmb3IgVGV4dCBpbiBUcmVlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGV4dEF0dHIgPSAnZGF0YSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE5hbWUgb2YgSUQgcHJvcGVydHkgaW4gaW5wdXQgZGF0YS5cclxuICAgKi9cclxuICBASW5wdXQoKSBpZEF0dHIgPSAnaWQnO1xyXG5cclxuICAvKipcclxuICAgKiBOYW1lIG9mIHBhcmVudCBwcm9wZXJ0eSBpbiBpbnB1dCBkYXRhLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBhcmVudEF0dHIgPSAnUEFSRU5UX0lEJztcclxuXHJcbiAgLyoqXHJcbiAgICogTmFtZSBvZiBjaGlsZHJlbiBsaXN0IHByb3BlcnR5IGluIGlucHV0IGRhdGEuXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2hpbGRyZW5BdHRyID0gJ2NoaWxkcmVuJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGl0bGUgZGVzIFRyZWV2aWV3XHJcbiAgICovXHJcbiAgQElucHV0KCkgdGl0bGU7XHJcblxyXG4gIC8vIEBJbnB1dChcInRpdGxlQWN0aW9uXCIpIF90aXRsZUFjdGlvbjogc3RyaW5nXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbGxhcHNlIG9yIGV4cGFuZCBhbGwgcGFyZW50IG5vZGVzLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGNvbGxhcHNlYWxsKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9jb2xsYXBzZUFsbCA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMubm9kZXMgJiYgdGhpcy5ub2Rlcy5sZW5ndGggJiYgdGhpcy5ub2Rlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuY29sbGFwc2VBbGxOb2RlKHRoaXMuX2NvbGxhcHNlQWxsKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB0aGlzLl9yZWN1cnNpdmVFZGl0KFxyXG4gICAgLy8gICB0aGlzLm5vZGVzLCB0aGlzLmNoaWxkcmVuQXR0ciwgdGhpcy5jb2xsYXBzZUF0dHIsIHRoaXMuX2NvbGxhcHNlQWxsKTtcclxuXHJcbiAgICAvLyB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHRlciBmw7xyIGRhcyBjb2xsYXBzZSBwcm9wZXJ0eS4gRXJnaWJ0IGJvb2xlYW4gV2VydCwgb2IgZGllIEl0ZW1zIGNvbGxhcHNlZC9leHBhbmQgc2luZC5cclxuICAgKi9cclxuICBnZXQgY29sbGFwc2VhbGwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VBbGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWxlY3Qgb3IgZGVzZWxlY3QgYWxsIG5vZGVzLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGFsbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc2VsZWN0QWxsID0gdmFsdWU7XHJcbiAgICB0aGlzLl9yZWN1cnNpdmVFZGl0KHRoaXMubm9kZXMsIHRoaXMuY2hpbGRyZW5BdHRyLCB0aGlzLnNlbGVjdEF0dHIsIHZhbHVlKTtcclxuICAgIHRoaXMuX3JlY3Vyc2l2ZUVkaXQoXHJcbiAgICAgIHRoaXMubm9kZXMsXHJcbiAgICAgIHRoaXMuY2hpbGRyZW5BdHRyLFxyXG4gICAgICB0aGlzLmluRGV0ZXJtaW5hdGVBdHRyLFxyXG4gICAgICBmYWxzZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElucHV0IHByb3BlcnR5IC0gc2V0dGVyLiBEZWZmaW5pZXJ0IGRhcyBJRCBkZXMgc2VsZWt0aWVydGVuIEl0ZW0obm9kZSlcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzZWxlY3RlZGlkKHY6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUgPSB0aGlzLmZpbmROb2RlKHRoaXMubm9kZXMsIHYsIHRoaXMuaWRBdHRyKTtcclxuXHJcbiAgICAvLyBpZiAodGhpcy5zZWxlY3RlZE5vZGUpIHtcclxuICAgIC8vICAgdGhpcy5zZWxlY3RlZElkRW1pdHRlci5lbWl0KHRoaXMuc2VsZWN0ZWROb2RlW3RoaXMuaWRBdHRyXSk7XHJcbiAgICAvLyAgIHRoaXMuc2VsZWN0ZWRUZXh0RW1pdHRlci5lbWl0KHRoaXMuc2VsZWN0ZWROb2RlW3RoaXMudGV4dEF0dHJdKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHRlci4gRXJnaWJ0IGRhcyBJRCBkZXMgc2VsZWt0aWVydGVuIEl0ZW0obm9kZSlcclxuICAgKi9cclxuICBnZXQgc2VsZWN0ZWRJZCgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWROb2RlID8gdGhpcy5zZWxlY3RlZE5vZGVbdGhpcy5pZEF0dHJdIDogbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBQcm9wZXJ0eSBlcmjDpGx0IGRhcyBzZWxla3RpZXJ0ZSBXZXJ0KG5vZGUpLiBEZWZhdWx0IHZhbHVlOiB1bmRlZmluZWQvbnVsbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3NlbGVjdGVkTm9kZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0dGVyIGbDvHIgZGFzIHNlbGVrdGllcnRlIFdlcnQobm9kZSkuIFdlbm4gYXVmZ2VydWZlbiBkYXMgSUQgdW5kIFRleHRBdHRyIGRlcyBzZWxlY3RlZCBOb2RlIHdpcmQgZW1pdHRlZFxyXG4gICAqL1xyXG4gIHNldCBzZWxlY3RlZE5vZGUodjogYW55KSB7XHJcbiAgICB0aGlzLl9zZWxlY3RlZE5vZGUgPSB2O1xyXG5cclxuICAgIGlmICh0aGlzLl9zZWxlY3RlZE5vZGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZGlkY2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZElkKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZHRleHRjaGFuZ2VkLmVtaXQodlt0aGlzLnRleHRBdHRyXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXR0ZXIgZsO8ciBkYXMgc2VsZWt0aWVydGUgV2VydChub2RlKS4gRXJnaWJ0IGRhcyBzZWxla3RpZXJ0ZSBXZXJ0KG5vZGUpLlxyXG4gICAqL1xyXG4gIGdldCBzZWxlY3RlZE5vZGUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZE5vZGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdXRwdXQgRW1pdHRlci4gRW1pdCBkYXMgSUQgZGVzIHNlbGVjdGVkIE5vZGUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpXHJcbiAgc2VsZWN0ZWRpZGNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogT3V0cHV0IEVtaXR0ZXIuIEVtaXQgZGFzIFRleHRBdHRyIGRlcyBzZWxlY3RlZCBOb2RlLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKVxyXG4gIHNlbGVjdGVkdGV4dGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIE91dHB1dCBFbWl0dGVyLiBFbWl0IHdlbm4gZWluIE5vZGUgc2VsZWt0aWVydCB3aXJkLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKVxyXG4gIHNlbGVjdGVkaXRlbTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQSBsaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCBhZnRlciBBbmd1bGFyIGhhcyBpbml0aWFsaXplZCBhbGwgZGF0YS1ib3VuZCBwcm9wZXJ0aWVzIG9mIGEgZGlyZWN0aXZlLlxyXG4gICAqIERlZmluZSBhbiBuZ09uSW5pdCgpIG1ldGhvZCB0byBoYW5kbGUgYW55IGFkZGl0aW9uYWwgaW5pdGlhbGl6YXRpb24gdGFza3MuXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNvbGxhcHNlQWxsTm9kZSh0aGlzLl9jb2xsYXBzZUFsbCk7XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJZCkgdGhpcy5vcGVuU2VsZWN0ZWROb2RlKHRoaXMubm9kZXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRnVua3Rpb24gc2V0enQgYWxsZSBwYXJlbnQgaXRlbXMgcmVjdXNpdiB6dW0gc2VsZWN0ZWQgbm9kZVxyXG4gICAqIGF1ZiBjb2xsYXBzZWQgPSBmYWxzZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgb3BlblNlbGVjdGVkTm9kZShkYXRhKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGRhdGFbaV1bdGhpcy5jaGlsZHJlbkF0dHJdLmxlbmd0aCAmJlxyXG4gICAgICAgIGRhdGFbaV1bdGhpcy5pZEF0dHJdICE9IHRoaXMuc2VsZWN0ZWRJZFxyXG4gICAgICApXHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5vcGVuU2VsZWN0ZWROb2RlKGRhdGFbaV1bdGhpcy5jaGlsZHJlbkF0dHJdKTtcclxuICAgICAgaWYgKHJlc3VsdCB8fCBkYXRhW2ldW3RoaXMuaWRBdHRyXSA9PSB0aGlzLnNlbGVjdGVkSWQpIHtcclxuICAgICAgICBkYXRhW2ldW3RoaXMuY29sbGFwc2VBdHRyXSA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSB2b3JiZXJlaXRldCBkaWUgRGF0ZW4gZsO8ciBkYXMgVHJlZVZpZXcuIERpZSBGdW5rdGlvbiBzb2xsdGUgZ2XDpG5kZXJ0IHdlcmRlbiBhYmjDpG5naWcgdm9uIGRlbSBrb21tZW5kZW4gRGF0ZW4gKHdlbm4gYXJyYXkpXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBMb2FkVHJlZSgpIHtcclxuICAgIC8vaWYgdGhlIHRyZWUgc3RydWN0dXJlIHJlcXVpcmUgYXJyYXkgdGhlIGZ1bmN0aW9uIGJlbG93IHNob3VsZCBiZSBjaGFuZ2VkXHJcbiAgICBjb25zdCBjbG9uZWQgPSB0aGlzLl9kYXRhLm1hcCgoeCkgPT4gT2JqZWN0LmFzc2lnbih7fSwgeCkpO1xyXG5cclxuICAgIC8vIElmIGRhdGEgaXMgZmxhdCwgcHJlcGFyZSBkYXRhIHdpdGggcmVjdXJzaXZlIGZ1bmN0aW9uLlxyXG4gICAgdGhpcy5ub2RlcyA9IHRoaXMucHJlcGFyZURhdGEgPyB0aGlzLl9nZXRQcmVwYXJlZERhdGEoY2xvbmVkKSA6IHRoaXMuX2RhdGE7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBjb2xsYXBzZS9leHBhbmQgZGVuIHNlbGVjdGllcnRlbiBOb2RlXHJcbiAgICovXHJcbiAgb25Db2xsYXBzZUNsaWNrKG5vZGUpIHtcclxuICAgIGlmIChub2RlW3RoaXMuY2hpbGRyZW5BdHRyXS5sZW5ndGgpIHtcclxuICAgICAgbm9kZVt0aGlzLmNvbGxhcHNlQXR0cl0gPSAhbm9kZVt0aGlzLmNvbGxhcHNlQXR0cl07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBzZXQgZGVuIHNlbGVrdGllcnRlbiBOb2RlIHVuZCBlbWl0IGVzLlxyXG4gICAqL1xyXG4gIG9uQ2xpY2sobm9kZSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUgPSBub2RlO1xyXG4gICAgdGhpcy5zZWxlY3RlZGl0ZW0uZW1pdCh0aGlzLnNlbGVjdGVkTm9kZSk7XHJcbiAgICAvLyB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIHdpcmQgZWluIGV2ZW50IG1pdCBNZWxkdW5nIHp1IFBhcmVudCBlbWl0LWVuLlxyXG4gICAqL1xyXG4gIHNlbmRNc2dUb1BhcmVudChtc2cpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRpdGVtLmVtaXQobXNnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIHdpcmQgYWxsZSBOb2RlcyBjb2xsYXBzZVxyXG4gICAqL1xyXG4gIGNvbGxhcHNlQWxsTm9kZShjb21tYW5kKSB7XHJcbiAgICB0aGlzLm5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgaWYgKG5vZGVbdGhpcy5jaGlsZHJlbkF0dHJdLmxlbmd0aCkge1xyXG4gICAgICAgIGNvbGxhcHNlQWxsSElkZGVuKG5vZGUsIHRoaXMuY29sbGFwc2VBdHRyLCBjb21tYW5kLCB0aGlzLmNoaWxkcmVuQXR0cik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZnVuY3Rpb24gY29sbGFwc2VBbGxISWRkZW4obm9kZSwgY29sbGFwc2VBdHRyLCBjb21tYW5kLCBjaGlsZHJlbkF0dHIpIHtcclxuICAgICAgbm9kZVtjb2xsYXBzZUF0dHJdID0gY29tbWFuZDtcclxuICAgICAgbm9kZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGNoaWxkW2NoaWxkcmVuQXR0cl0ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBjb2xsYXBzZUFsbEhJZGRlbihjaGlsZCwgY29sbGFwc2VBdHRyLCBjb21tYW5kLCBjaGlsZHJlbkF0dHIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGdW5rdGlvbiBnaWJ0IG5vZGUgYXVzIGRlciBsaXN0ZSB6dXLDvGNrLCB3ZWxjaGVzIGRhcyBWYWx1ZSBhdWYgZGVtIGdld8O8bnNjaHRlbiBBdHRyaWJ1dCBoYXRcclxuICAgKiBXZW5uIG5vZGUgbmljaHQgZ2VmdW5kZW4gd2lyZCwgd2lyZCBudWxsIHp1csO8Y2sgZ2VnZWJlblxyXG4gICAqIEBwYXJhbSBkYXRhIExpc3RlIGRlciBub2Rlc1xyXG4gICAqIEBwYXJhbSBzZWFyY2hWYWx1ZSBEYXMgZ2VzdWNodGUgdmFsdWVcclxuICAgKiBAcGFyYW0gYXR0ciBEZXIgbmFtZW4gZGVzIEF0dHJpYnV0cyBhdWYgZGVtIGRhcyB2YWx1ZSBnZXN1Y2h0IHdpcmRcclxuICAgKi9cclxuICBwcml2YXRlIGZpbmROb2RlKGRhdGEsIHNlYXJjaFZhbHVlLCBhdHRyKTogYW55IHtcclxuICAgIGxldCByZXN1bHQ6IGFueSA9IG51bGw7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGRhdGFbaV1bYXR0cl0gPT0gc2VhcmNoVmFsdWUpIHJlc3VsdCA9IGRhdGFbaV07XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmIChkYXRhW2ldW3RoaXMuY2hpbGRyZW5BdHRyXS5sZW5ndGgpIHtcclxuICAgICAgICAgIGxldCByZWN1cnNpdmVSZXN1bHQgPSB0aGlzLmZpbmROb2RlKFxyXG4gICAgICAgICAgICBkYXRhW2ldW3RoaXMuY2hpbGRyZW5BdHRyXSxcclxuICAgICAgICAgICAgc2VhcmNoVmFsdWUsXHJcbiAgICAgICAgICAgIGF0dHJcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBpZiAocmVjdXJzaXZlUmVzdWx0KSByZXN1bHQgPSByZWN1cnNpdmVSZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGllIE1ldGhvZGUgZWRpdGllcnQgKHJlY3Vyc2l2ZSkgYWxsZSBlaW5nZWdlYmVuZSBOb2RlcyBhYmjDpG5naWcgdm9uIGdlZ2ViZW5lbiBBdHRpYnV0ZSB1bmQgVmFsdWUgS3JpdGVyaWVuLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3JlY3Vyc2l2ZUVkaXQobGlzdCwgY2hpbGRyZW5BdHRyLCBhdHRyLCB2YWx1ZSkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkobGlzdCkpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGxpc3QubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICBsaXN0W2ldW2F0dHJdID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKGxpc3RbaV1bY2hpbGRyZW5BdHRyXS5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuX3JlY3Vyc2l2ZUVkaXQobGlzdFtpXVtjaGlsZHJlbkF0dHJdLCBjaGlsZHJlbkF0dHIsIGF0dHIsIHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIGVyc3RlbGx0IGVpbmUgc3RhbmRhcnRlIFNpY2h0LUxpc3RlIHZvbiBOb2Rlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2dldFByZXBhcmVkRGF0YShsaXN0KSB7XHJcbiAgICBjb25zdCB0cmVlID0gW10sXHJcbiAgICAgIGxvb2t1cCA9IHt9O1xyXG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGxpc3QubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgbG9va3VwW2xpc3RbaV1bdGhpcy5pZEF0dHJdXSA9IGxpc3RbaV07XHJcbiAgICAgIGxpc3RbaV1bdGhpcy5jaGlsZHJlbkF0dHJdID0gW107XHJcbiAgICAgIGxpc3RbaV1bdGhpcy5jb2xsYXBzZUF0dHJdID0gdHJ1ZTtcclxuICAgICAgbGlzdFtpXVt0aGlzLnNlbGVjdEF0dHJdID0gZmFsc2U7XHJcbiAgICAgIGxpc3RbaV1bdGhpcy5pbkRldGVybWluYXRlQXR0cl0gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBsaXN0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgIGlmIChsaXN0W2ldW3RoaXMucGFyZW50QXR0cl0pIHtcclxuICAgICAgICBsb29rdXBbbGlzdFtpXVt0aGlzLnBhcmVudEF0dHJdXVt0aGlzLmNoaWxkcmVuQXR0cl0ucHVzaChsaXN0W2ldKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0cmVlLnB1c2gobGlzdFtpXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJlZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview This file was generated by the Angular template compiler. Do not edit.
|
|
3
|
+
*
|
|
4
|
+
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
|
+
* tslint:disable
|
|
6
|
+
*/
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3RyZWV2aWV3L3RyZWV2aWV3Lm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { SacTreeViewCommon } from './treeview';
|
|
3
|
+
/**
|
|
4
|
+
* Komponente für SacTreeViewChildCommon. Extends SacTreeViewCommon
|
|
5
|
+
*/
|
|
6
|
+
export class SacTreeViewChildCommon extends SacTreeViewCommon {
|
|
7
|
+
/**
|
|
8
|
+
* A lifecycle hook that is called after Angular has initialized all data-bound properties of a directive.
|
|
9
|
+
* Define an ngOnInit() method to handle any additional initialization tasks.
|
|
10
|
+
*/
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
this.collapseAllNode(this.collapseall);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
SacTreeViewChildCommon.decorators = [
|
|
16
|
+
{ type: Directive }
|
|
17
|
+
];
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXdjaGlsZC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy90cmVldmlldy90cmVldmlld2NoaWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DOztHQUVHO0FBRUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjtJQUMzRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDeEMsQ0FBQzs7O1lBUkYsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhY1RyZWVWaWV3Q29tbW9uIH0gZnJvbSAnLi90cmVldmlldyc7XHJcblxyXG4vKipcclxuICogS29tcG9uZW50ZSBmw7xyIFNhY1RyZWVWaWV3Q2hpbGRDb21tb24uIEV4dGVuZHMgU2FjVHJlZVZpZXdDb21tb24gXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY1RyZWVWaWV3Q2hpbGRDb21tb24gZXh0ZW5kcyBTYWNUcmVlVmlld0NvbW1vbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLyoqXHJcbiAgICogQSBsaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCBhZnRlciBBbmd1bGFyIGhhcyBpbml0aWFsaXplZCBhbGwgZGF0YS1ib3VuZCBwcm9wZXJ0aWVzIG9mIGEgZGlyZWN0aXZlLiBcclxuICAgKiBEZWZpbmUgYW4gbmdPbkluaXQoKSBtZXRob2QgdG8gaGFuZGxlIGFueSBhZGRpdGlvbmFsIGluaXRpYWxpemF0aW9uIHRhc2tzLlxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCl7ICAgIFxyXG4gICAgdGhpcy5jb2xsYXBzZUFsbE5vZGUodGhpcy5jb2xsYXBzZWFsbClcclxuICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview This file was generated by the Angular template compiler. Do not edit.
|
|
3
|
+
*
|
|
4
|
+
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
|
+
* tslint:disable
|
|
6
|
+
*/
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXdjaGlsZC5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvdHJlZXZpZXcvdHJlZXZpZXdjaGlsZC5uZ2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiJdfQ==
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { SacUploadBase } from '../../common/baseuploadcontrol';
|
|
3
|
+
import { Validation } from '../../validation';
|
|
4
|
+
/**
|
|
5
|
+
* Upload Komponente für ein einzelnes File
|
|
6
|
+
*/
|
|
7
|
+
export class SacDropzoneMultipleCommon extends SacUploadBase {
|
|
8
|
+
constructor() {
|
|
9
|
+
// #region Properties
|
|
10
|
+
super(...arguments);
|
|
11
|
+
/**
|
|
12
|
+
* Max. Anzahl Files die hochgeladen werden können
|
|
13
|
+
*/
|
|
14
|
+
this.maxfiles = 0;
|
|
15
|
+
/**
|
|
16
|
+
* Min. Anzahl Files die hochgeladen werden müssen
|
|
17
|
+
*/
|
|
18
|
+
this.minfiles = 0;
|
|
19
|
+
/**
|
|
20
|
+
* Höhe des Upload Controls
|
|
21
|
+
*/
|
|
22
|
+
this.uploadheight = null;
|
|
23
|
+
/**
|
|
24
|
+
* Resource Key für Validation Message Required bei Control
|
|
25
|
+
*/
|
|
26
|
+
this.validationmessageminfiles = this.validationKeyService.ValidationErrorFilesMin;
|
|
27
|
+
/**
|
|
28
|
+
* Resource Key für Validation Message Required in Validation Summary
|
|
29
|
+
*/
|
|
30
|
+
this.validationmessagesummaryminfiles = this.validationKeyService.ValidationErrorSummaryFilesMin;
|
|
31
|
+
/**
|
|
32
|
+
* Property wenn Drag Event aktiv ist (Maus über Zone)
|
|
33
|
+
*/
|
|
34
|
+
this.active = false;
|
|
35
|
+
// #endregion Public Methods
|
|
36
|
+
}
|
|
37
|
+
// #endregion Properties
|
|
38
|
+
// #region Public Methods
|
|
39
|
+
/**
|
|
40
|
+
* Prüft ob die max. Files in der Queue nicht überschritten werden
|
|
41
|
+
*
|
|
42
|
+
* @param file File das hinzugefügt wurde
|
|
43
|
+
*/
|
|
44
|
+
CustomAddValidation(file) {
|
|
45
|
+
if (this.maxfiles > 0 && this.uploads.length >= this.maxfiles) {
|
|
46
|
+
this.onfileerror.emit('INVALID_MAXFILES');
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Setzt die File ID's der hochgeladen Files in das Model
|
|
55
|
+
*
|
|
56
|
+
* @param file ID des Files welches hochgeladen wurde.
|
|
57
|
+
*/
|
|
58
|
+
SetUploadValue(file) {
|
|
59
|
+
let documentid = null;
|
|
60
|
+
if (file === null) {
|
|
61
|
+
documentid = null;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
if (file.response !== undefined &&
|
|
65
|
+
file.response !== null &&
|
|
66
|
+
file.response.documentid !== null &&
|
|
67
|
+
file.response.documentid !== undefined) {
|
|
68
|
+
documentid = file.response.documentid;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
documentid = file.uploadId;
|
|
72
|
+
}
|
|
73
|
+
// Document ID aktualisieren, damit Wert von Server in Model gesetzt werden kann.
|
|
74
|
+
this.uploads
|
|
75
|
+
.filter((itm) => itm !== null && itm.uploadId === file.uploadId)
|
|
76
|
+
.forEach((itm) => {
|
|
77
|
+
itm.documentid = documentid;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
// List of Files
|
|
81
|
+
const fileIds = [];
|
|
82
|
+
// Add all Items with Uploaded State to Model
|
|
83
|
+
this.uploads
|
|
84
|
+
.filter((itm) => itm.status === 'complete')
|
|
85
|
+
.forEach((itm) => {
|
|
86
|
+
if (itm.documentid !== null && itm.documentid !== undefined) {
|
|
87
|
+
fileIds.push(itm.documentid);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
if (fileIds.length > 0) {
|
|
91
|
+
super.setValue(fileIds);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
super.setValue(null);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Methode für Drag and Drop von Files
|
|
99
|
+
* @param event Drag Event
|
|
100
|
+
*/
|
|
101
|
+
dropHandler(event) {
|
|
102
|
+
if (event.dataTransfer &&
|
|
103
|
+
event.dataTransfer.files &&
|
|
104
|
+
event.dataTransfer.files.item(0)) {
|
|
105
|
+
event.stopPropagation();
|
|
106
|
+
event.preventDefault();
|
|
107
|
+
this.active = false;
|
|
108
|
+
this.uploadService.handleFileList(event.dataTransfer.files);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Ervent wenn das Control initialisert wird
|
|
113
|
+
*/
|
|
114
|
+
ngOnInit() {
|
|
115
|
+
super.ngOnInit();
|
|
116
|
+
this.autoupload = true;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Methode wenn Drag die Zone verlässt
|
|
120
|
+
* @param event DragLeave Event
|
|
121
|
+
*/
|
|
122
|
+
onDragLeave(event) {
|
|
123
|
+
this.active = false;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Methode wenn Drag in die Zone eintritt
|
|
127
|
+
* @param event DragEnter Event
|
|
128
|
+
*/
|
|
129
|
+
onDragOver(event) {
|
|
130
|
+
if (event.dataTransfer &&
|
|
131
|
+
event.dataTransfer.files &&
|
|
132
|
+
event.dataTransfer.types.every((itm) => itm === 'Files') &&
|
|
133
|
+
event.dataTransfer.types.length > 0) {
|
|
134
|
+
event.dataTransfer.dropEffect = 'copy';
|
|
135
|
+
event.stopPropagation();
|
|
136
|
+
event.preventDefault();
|
|
137
|
+
this.active = true;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Validiert das Control
|
|
142
|
+
*
|
|
143
|
+
* @param c Control
|
|
144
|
+
*/
|
|
145
|
+
validateData(c) {
|
|
146
|
+
let error = super.validateData(c);
|
|
147
|
+
if (error === null) {
|
|
148
|
+
error = Validation.minFiles(this.minfiles, this.validationmessageminfiles, this.validationmessagesummaryminfiles)(c);
|
|
149
|
+
}
|
|
150
|
+
return error;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
SacDropzoneMultipleCommon.decorators = [
|
|
154
|
+
{ type: Directive }
|
|
155
|
+
];
|
|
156
|
+
SacDropzoneMultipleCommon.propDecorators = {
|
|
157
|
+
maxfiles: [{ type: Input }],
|
|
158
|
+
minfiles: [{ type: Input }],
|
|
159
|
+
uploadheight: [{ type: Input }],
|
|
160
|
+
validationmessageminfiles: [{ type: Input }],
|
|
161
|
+
validationmessagesummaryminfiles: [{ type: Input }]
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy91cGxvYWQvZHJvcHpvbmVtdWx0aXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHlCQUNYLFNBQVEsYUFBdUI7SUFGakM7UUFLRSxxQkFBcUI7O1FBRXJCOztXQUVHO1FBRUksYUFBUSxHQUFXLENBQUMsQ0FBQztRQUM1Qjs7V0FFRztRQUVJLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDNUI7O1dBRUc7UUFFSSxpQkFBWSxHQUFXLElBQUksQ0FBQztRQUNuQzs7V0FFRztRQUNhLDhCQUF5QixHQUN2QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsdUJBQXVCLENBQUM7UUFDcEQ7O1dBRUc7UUFFSSxxQ0FBZ0MsR0FDckMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLDhCQUE4QixDQUFDO1FBRTNEOztXQUVHO1FBQ0ksV0FBTSxHQUFHLEtBQUssQ0FBQztRQTJJdEIsNEJBQTRCO0lBQzlCLENBQUM7SUExSUMsd0JBQXdCO0lBRXhCLHlCQUF5QjtJQUV6Qjs7OztPQUlHO0lBQ0ksbUJBQW1CLENBQUMsSUFBaUI7UUFDMUMsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdELElBQUksQ0FBQyxXQUFXLENBQUMs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QUN4QixLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxPQUFPLENBQUM7WUFDeEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDbkM7WUFDQSxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDdkMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLENBQWtCO1FBQ3BDLElBQUksS0FBSyxHQUE0QixLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTNELElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUNsQixLQUFLLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FDekIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMseUJBQXlCLEVBQzlCLElBQUksQ0FBQyxnQ0FBZ0MsQ0FDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7WUE5S0YsU0FBUzs7O3VCQVVQLEtBQUs7dUJBS0wsS0FBSzsyQkFLTCxLQUFLO3dDQUtMLEtBQUs7K0NBS0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFVwbG9hZFN0YXRlIH0gZnJvbSAnbmd4LXVwbG9hZHgnO1xyXG5pbXBvcnQgeyBTYWNVcGxvYWRCYXNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2V1cGxvYWRjb250cm9sJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xyXG5cclxuLyoqXHJcbiAqIFVwbG9hZCBLb21wb25lbnRlIGbDvHIgZWluIGVpbnplbG5lcyBGaWxlXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0Ryb3B6b25lTXVsdGlwbGVDb21tb25cclxuICBleHRlbmRzIFNhY1VwbG9hZEJhc2U8c3RyaW5nW10+XHJcbiAgaW1wbGVtZW50cyBPbkluaXRcclxue1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBNYXguIEFuemFobCBGaWxlcyBkaWUgaG9jaGdlbGFkZW4gd2VyZGVuIGvDtm5uZW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtYXhmaWxlczogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBNaW4uIEFuemFobCBGaWxlcyBkaWUgaG9jaGdlbGFkZW4gd2VyZGVuIG3DvHNzZW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtaW5maWxlczogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBIw7ZoZSBkZXMgVXBsb2FkIENvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXBsb2FkaGVpZ2h0OiBzdHJpbmcgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBiZWkgQ29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZW1pbmZpbGVzOiBzdHJpbmcgPVxyXG4gICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JGaWxlc01pbjtcclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5bWluZmlsZXM6IHN0cmluZyA9XHJcbiAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlGaWxlc01pbjtcclxuXHJcbiAgLyoqXHJcbiAgICogUHJvcGVydHkgd2VubiBEcmFnIEV2ZW50IGFrdGl2IGlzdCAoTWF1cyDDvGJlciBab25lKVxyXG4gICAqL1xyXG4gIHB1YmxpYyBhY3RpdmUgPSBmYWxzZTtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogUHLDvGZ0IG9iIGRpZSBtYXguIEZpbGVzIGluIGRlciBRdWV1ZSBuaWNodCDDvGJlcnNjaHJpdHRlbiB3ZXJkZW5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBmaWxlIEZpbGUgZGFzIGhpbnp1Z2Vmw7xndCB3dXJkZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBDdXN0b21BZGRWYWxpZGF0aW9uKGZpbGU6IFVwbG9hZFN0YXRlKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5tYXhmaWxlcyA+IDAgJiYgdGhpcy51cGxvYWRzLmxlbmd0aCA+PSB0aGlzLm1heGZpbGVzKSB7XHJcbiAgICAgIHRoaXMub25maWxlZXJyb3IuZW1pdCgnSU5WQUxJRF9NQVhGSUxFUycpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRpZSBGaWxlIElEJ3MgZGVyIGhvY2hnZWxhZGVuIEZpbGVzIGluIGRhcyBNb2RlbFxyXG4gICAqXHJcbiAgICogQHBhcmFtIGZpbGUgSUQgZGVzIEZpbGVzIHdlbGNoZXMgaG9jaGdlbGFkZW4gd3VyZGUuXHJcbiAgICovXHJcbiAgcHVibGljIFNldFVwbG9hZFZhbHVlKGZpbGU6IFVwbG9hZFN0YXRlKSB7XHJcbiAgICBsZXQgZG9jdW1lbnRpZDogc3RyaW5nID0gbnVsbDtcclxuICAgIGlmIChmaWxlID09PSBudWxsKSB7XHJcbiAgICAgIGRvY3VtZW50aWQgPSBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGZpbGUucmVzcG9uc2UgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICAgIGZpbGUucmVzcG9uc2UgIT09IG51bGwgJiZcclxuICAgICAgICBmaWxlLnJlc3BvbnNlLmRvY3VtZW50aWQgIT09IG51bGwgJiZcclxuICAgICAgICBmaWxlLnJlc3BvbnNlLmRvY3VtZW50aWQgIT09IHVuZGVmaW5lZFxyXG4gICAgICApIHtcclxuICAgICAgICBkb2N1bWVudGlkID0gZmlsZS5yZXNwb25zZS5kb2N1bWVudGlkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRvY3VtZW50aWQgPSBmaWxlLnVwbG9hZElkO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBEb2N1bWVudCBJRCBha3R1YWxpc2llcmVuLCBkYW1pdCBXZXJ0IHZvbiBTZXJ2ZXIgaW4gTW9kZWwgZ2VzZXR6dCB3ZXJkZW4ga2Fubi5cclxuICAgICAgdGhpcy51cGxvYWRzXHJcbiAgICAgICAgLmZpbHRlcigoaXRtKSA9PiBpdG0gIT09IG51bGwgJiYgaXRtLnVwbG9hZElkID09PSBmaWxlLnVwbG9hZElkKVxyXG4gICAgICAgIC5mb3JFYWNoKChpdG0pID0+IHtcclxuICAgICAgICAgIGl0bS5kb2N1bWVudGlkID0gZG9jdW1lbnRpZDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBMaXN0IG9mIEZpbGVzXHJcbiAgICBjb25zdCBmaWxlSWRzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIC8vIEFkZCBhbGwgSXRlbXMgd2l0aCBVcGxvYWRlZCBTdGF0ZSB0byBNb2RlbFxyXG4gICAgdGhpcy51cGxvYWRzXHJcbiAgICAgIC5maWx0ZXIoKGl0bSkgPT4gaXRtLnN0YXR1cyA9PT0gJ2NvbXBsZXRlJylcclxuICAgICAgLmZvckVhY2goKGl0bSkgPT4ge1xyXG4gICAgICAgIGlmIChpdG0uZG9jdW1lbnRpZCAhPT0gbnVsbCAmJiBpdG0uZG9jdW1lbnRpZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBmaWxlSWRzLnB1c2goaXRtLmRvY3VtZW50aWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgaWYgKGZpbGVJZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBzdXBlci5zZXRWYWx1ZShmaWxlSWRzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN1cGVyLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBmw7xyIERyYWcgYW5kIERyb3Agdm9uIEZpbGVzXHJcbiAgICogQHBhcmFtIGV2ZW50IERyYWcgRXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgZHJvcEhhbmRsZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKFxyXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIgJiZcclxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzICYmXHJcbiAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5pdGVtKDApXHJcbiAgICApIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudXBsb2FkU2VydmljZS5oYW5kbGVGaWxlTGlzdChldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXJ2ZW50IHdlbm4gZGFzIENvbnRyb2wgaW5pdGlhbGlzZXJ0IHdpcmRcclxuICAgKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG5cclxuICAgIHRoaXMuYXV0b3VwbG9hZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHdlbm4gRHJhZyBkaWUgWm9uZSB2ZXJsw6Rzc3RcclxuICAgKiBAcGFyYW0gZXZlbnQgRHJhZ0xlYXZlIEV2ZW50XHJcbiAgICovXHJcbiAgcHVibGljIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHdlbm4gRHJhZyBpbiBkaWUgWm9uZSBlaW50cml0dFxyXG4gICAqIEBwYXJhbSBldmVudCBEcmFnRW50ZXIgRXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGV2ZW50LmRhdGFUcmFuc2ZlciAmJlxyXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMgJiZcclxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzLmV2ZXJ5KChpdG0pID0+IGl0bSA9PT0gJ0ZpbGVzJykgJiZcclxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzLmxlbmd0aCA+IDBcclxuICAgICkge1xyXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdjb3B5JztcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkaWVydCBkYXMgQ29udHJvbFxyXG4gICAqXHJcbiAgICogQHBhcmFtIGMgQ29udHJvbFxyXG4gICAqL1xyXG4gIHB1YmxpYyB2YWxpZGF0ZURhdGEoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IHN1cGVyLnZhbGlkYXRlRGF0YShjKTtcclxuXHJcbiAgICBpZiAoZXJyb3IgPT09IG51bGwpIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm1pbkZpbGVzKFxyXG4gICAgICAgIHRoaXMubWluZmlsZXMsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZW1pbmZpbGVzLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5bWluZmlsZXNcclxuICAgICAgKShjKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZXJyb3I7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview This file was generated by the Angular template compiler. Do not edit.
|
|
3
|
+
*
|
|
4
|
+
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
|
+
* tslint:disable
|
|
6
|
+
*/
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvdXBsb2FkL2Ryb3B6b25lbXVsdGlwbGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iXX0=
|