@simpleangularcontrols/sac-bootstrap3 10.0.0-rc.20 → 10.0.0-rc.22
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 +27 -27
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js +2758 -2727
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js.map +1 -1
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js +1 -1
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js.map +1 -1
- package/controls/buttons/button.d.ts +3 -3
- package/controls/buttons/button.module.d.ts +2 -2
- package/controls/buttons/button.module.ngfactory.d.ts +3 -3
- package/controls/buttons/button.ngfactory.d.ts +1 -1
- package/controls/checkbox/checkbox.d.ts +11 -11
- package/controls/checkbox/checkbox.module.d.ts +2 -2
- package/controls/checkbox/checkbox.module.ngfactory.d.ts +3 -3
- package/controls/checkbox/checkbox.ngfactory.d.ts +1 -1
- package/controls/checkbox/checkbox.scss.ngstyle.d.ts +1 -1
- package/controls/checkbox/checkbox.scss.shim.ngstyle.d.ts +1 -1
- package/controls/checkbox/radiobutton.d.ts +7 -7
- package/controls/checkbox/radiobutton.ngfactory.d.ts +1 -1
- package/controls/checkbox/radiobutton.scss.ngstyle.d.ts +1 -1
- package/controls/checkbox/radiobutton.scss.shim.ngstyle.d.ts +1 -1
- package/controls/checkbox/radiobuttons.d.ts +11 -11
- package/controls/checkbox/radiobuttons.ngfactory.d.ts +1 -1
- package/controls/confirm/confirm.d.ts +3 -3
- package/controls/confirm/confirm.module.d.ts +11 -11
- package/controls/confirm/confirm.module.ngfactory.d.ts +3 -3
- package/controls/confirm/confirm.ngfactory.d.ts +1 -1
- package/controls/confirm/confirm.service.d.ts +54 -54
- package/controls/confirm/confirm.service.ngfactory.d.ts +1 -1
- package/controls/contextmenu/contextmenu.d.ts +16 -16
- package/controls/contextmenu/contextmenu.module.d.ts +2 -2
- package/controls/contextmenu/contextmenu.module.ngfactory.d.ts +3 -3
- package/controls/contextmenu/contextmenu.ngfactory.d.ts +1 -1
- package/controls/contextmenu/contextmenuanchor.d.ts +12 -12
- package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +1 -1
- package/controls/contextmenu/contextmenucontainer.d.ts +12 -12
- package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +1 -1
- package/controls/contextmenu/contextmenuitembutton.d.ts +14 -14
- package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +1 -1
- package/controls/contextmenu/contextmenuitemsplitter.d.ts +6 -6
- package/controls/contextmenu/contextmenuitemsplitter.ngfactory.d.ts +1 -1
- package/controls/datetime/date.d.ts +13 -13
- package/controls/datetime/date.ngfactory.d.ts +1 -1
- package/controls/datetime/dateselector.d.ts +3 -3
- package/controls/datetime/dateselector.ngfactory.d.ts +1 -1
- package/controls/datetime/datetime.d.ts +13 -13
- package/controls/datetime/datetime.module.d.ts +2 -2
- package/controls/datetime/datetime.module.ngfactory.d.ts +3 -3
- package/controls/datetime/datetime.ngfactory.d.ts +1 -1
- package/controls/datetime/time.d.ts +13 -13
- package/controls/datetime/time.ngfactory.d.ts +1 -1
- package/controls/dialog/dialog.d.ts +11 -11
- package/controls/dialog/dialog.module.d.ts +2 -2
- package/controls/dialog/dialog.module.ngfactory.d.ts +3 -3
- package/controls/dialog/dialog.ngfactory.d.ts +1 -1
- package/controls/form/form.d.ts +28 -28
- package/controls/form/form.module.d.ts +2 -2
- package/controls/form/form.module.ngfactory.d.ts +3 -3
- package/controls/form/form.ngfactory.d.ts +1 -1
- package/controls/form/inheritform.directive.d.ts +24 -24
- package/controls/form/inheritform.directive.ngfactory.d.ts +1 -1
- package/controls/grid/grid.d.ts +6 -6
- package/controls/grid/grid.module.d.ts +2 -2
- package/controls/grid/grid.module.ngfactory.d.ts +3 -3
- package/controls/grid/grid.ngfactory.d.ts +1 -1
- package/controls/grid/gridbutton.d.ts +10 -10
- package/controls/grid/gridbutton.ngfactory.d.ts +1 -1
- package/controls/grid/gridcolumn.d.ts +6 -6
- package/controls/grid/gridcolumn.ngfactory.d.ts +1 -1
- package/controls/grid/gridcolumnaction.d.ts +6 -6
- package/controls/grid/gridcolumnaction.ngfactory.d.ts +1 -1
- package/controls/grid/gridimage.d.ts +4 -4
- package/controls/grid/gridimage.ngfactory.d.ts +1 -1
- package/controls/grid/paging.d.ts +8 -8
- package/controls/grid/paging.ngfactory.d.ts +1 -1
- package/controls/input/input.d.ts +11 -11
- package/controls/input/input.module.d.ts +2 -2
- package/controls/input/input.module.ngfactory.d.ts +3 -3
- package/controls/input/input.ngfactory.d.ts +1 -1
- package/controls/input/inputarea.d.ts +23 -23
- package/controls/input/inputarea.ngfactory.d.ts +1 -1
- package/controls/input/inputcurrency.d.ts +11 -11
- package/controls/input/inputcurrency.ngfactory.d.ts +1 -1
- package/controls/input/inputdecimal.d.ts +11 -11
- package/controls/input/inputdecimal.ngfactory.d.ts +1 -1
- package/controls/input/inputemail.d.ts +11 -11
- package/controls/input/inputemail.ngfactory.d.ts +1 -1
- package/controls/input/inputinteger.d.ts +11 -11
- package/controls/input/inputinteger.ngfactory.d.ts +1 -1
- package/controls/input/inputpassword.d.ts +11 -11
- package/controls/input/inputpassword.ngfactory.d.ts +1 -1
- package/controls/input/inputsearch.d.ts +11 -11
- package/controls/input/inputsearch.ngfactory.d.ts +1 -1
- package/controls/layout/formlayout.directive.d.ts +3 -3
- package/controls/layout/formlayout.directive.ngfactory.d.ts +1 -1
- package/controls/layout/layout.module.d.ts +2 -2
- package/controls/layout/layout.module.ngfactory.d.ts +3 -3
- package/controls/layout/tocontrolheight.pipe.d.ts +9 -9
- package/controls/layout/tocontrolheight.pipe.ngfactory.d.ts +1 -1
- package/controls/layout/tocontrolwidthcss.pipe.d.ts +16 -16
- package/controls/layout/tocontrolwidthcss.pipe.ngfactory.d.ts +1 -1
- package/controls/layout/tolabelheight.pipe.d.ts +9 -9
- package/controls/layout/tolabelheight.pipe.ngfactory.d.ts +1 -1
- package/controls/layout/tolabelwidthcss.pipe.d.ts +10 -10
- package/controls/layout/tolabelwidthcss.pipe.ngfactory.d.ts +1 -1
- package/controls/list/dropdown.d.ts +22 -22
- package/controls/list/dropdown.ngfactory.d.ts +1 -1
- package/controls/list/list.module.d.ts +2 -2
- package/controls/list/list.module.ngfactory.d.ts +3 -3
- package/controls/list/listbox.d.ts +11 -11
- package/controls/list/listbox.ngfactory.d.ts +1 -1
- package/controls/static/formcontainer.d.ts +25 -25
- package/controls/static/formcontainer.ngfactory.d.ts +1 -1
- package/controls/static/staticlabel.d.ts +11 -11
- package/controls/static/staticlabel.module.d.ts +2 -2
- package/controls/static/staticlabel.module.ngfactory.d.ts +3 -3
- package/controls/static/staticlabel.ngfactory.d.ts +1 -1
- package/controls/tabs/tab.d.ts +7 -7
- package/controls/tabs/tab.ngfactory.d.ts +1 -1
- package/controls/tabs/tabitem.d.ts +3 -3
- package/controls/tabs/tabitem.ngfactory.d.ts +1 -1
- package/controls/tabs/tabs.module.d.ts +2 -2
- package/controls/tabs/tabs.module.ngfactory.d.ts +3 -3
- package/controls/tinymce/tinymce.d.ts +20 -20
- package/controls/tinymce/tinymce.module.d.ts +2 -2
- package/controls/tinymce/tinymce.module.ngfactory.d.ts +3 -3
- package/controls/tinymce/tinymce.ngfactory.d.ts +1 -1
- package/controls/tooltip/tooltip.d.ts +34 -34
- package/controls/tooltip/tooltip.module.d.ts +2 -2
- package/controls/tooltip/tooltip.module.ngfactory.d.ts +3 -3
- package/controls/tooltip/tooltip.ngfactory.d.ts +1 -1
- package/controls/treeview/treeview.d.ts +14 -14
- package/controls/treeview/treeview.module.d.ts +2 -2
- package/controls/treeview/treeview.module.ngfactory.d.ts +3 -3
- package/controls/treeview/treeview.ngfactory.d.ts +1 -1
- package/controls/upload/dropzonemultiple.d.ts +21 -21
- package/controls/upload/dropzonemultiple.ngfactory.d.ts +1 -1
- package/controls/upload/dropzonesingle.d.ts +21 -21
- package/controls/upload/dropzonesingle.ngfactory.d.ts +1 -1
- package/controls/upload/upload.d.ts +13 -13
- package/controls/upload/upload.module.d.ts +2 -2
- package/controls/upload/upload.module.ngfactory.d.ts +3 -3
- package/controls/upload/upload.ngfactory.d.ts +1 -1
- package/controls/upload/upload.scss.ngstyle.d.ts +1 -1
- package/controls/upload/upload.scss.shim.ngstyle.d.ts +1 -1
- package/controls/upload/uploadmultiple.d.ts +13 -13
- package/controls/upload/uploadmultiple.ngfactory.d.ts +1 -1
- package/controls/validation/validationsummary.d.ts +11 -11
- package/controls/validation/validationsummary.module.d.ts +2 -2
- package/controls/validation/validationsummary.module.ngfactory.d.ts +3 -3
- package/controls/validation/validationsummary.ngfactory.d.ts +1 -1
- package/controls/wizard/wizard.d.ts +7 -7
- package/controls/wizard/wizard.module.d.ts +2 -2
- package/controls/wizard/wizard.module.ngfactory.d.ts +3 -3
- package/controls/wizard/wizard.ngfactory.d.ts +1 -1
- package/controls/wizard/wizarditem.d.ts +3 -3
- package/controls/wizard/wizarditem.ngfactory.d.ts +1 -1
- package/esm2015/controls/buttons/button.js +13 -13
- package/esm2015/controls/buttons/button.module.js +15 -15
- package/esm2015/controls/buttons/button.module.ngfactory.js +7 -7
- package/esm2015/controls/buttons/button.ngfactory.js +7 -7
- package/esm2015/controls/checkbox/checkbox.js +40 -40
- package/esm2015/controls/checkbox/checkbox.module.js +29 -29
- package/esm2015/controls/checkbox/checkbox.module.ngfactory.js +7 -7
- package/esm2015/controls/checkbox/checkbox.ngfactory.js +7 -7
- package/esm2015/controls/checkbox/checkbox.scss.ngstyle.js +7 -7
- package/esm2015/controls/checkbox/checkbox.scss.shim.ngstyle.js +7 -7
- package/esm2015/controls/checkbox/radiobutton.js +23 -23
- package/esm2015/controls/checkbox/radiobutton.ngfactory.js +7 -7
- package/esm2015/controls/checkbox/radiobutton.scss.ngstyle.js +7 -7
- package/esm2015/controls/checkbox/radiobutton.scss.shim.ngstyle.js +7 -7
- package/esm2015/controls/checkbox/radiobuttons.js +39 -39
- package/esm2015/controls/checkbox/radiobuttons.ngfactory.js +7 -7
- package/esm2015/controls/confirm/confirm.js +11 -11
- package/esm2015/controls/confirm/confirm.module.js +31 -31
- package/esm2015/controls/confirm/confirm.module.ngfactory.js +7 -7
- package/esm2015/controls/confirm/confirm.ngfactory.js +7 -7
- package/esm2015/controls/confirm/confirm.service.js +102 -102
- package/esm2015/controls/confirm/confirm.service.ngfactory.js +7 -7
- package/esm2015/controls/contextmenu/contextmenu.js +34 -34
- package/esm2015/controls/contextmenu/contextmenu.module.js +28 -28
- package/esm2015/controls/contextmenu/contextmenu.module.ngfactory.js +7 -7
- package/esm2015/controls/contextmenu/contextmenu.ngfactory.js +7 -7
- package/esm2015/controls/contextmenu/contextmenuanchor.js +30 -30
- package/esm2015/controls/contextmenu/contextmenuanchor.ngfactory.js +7 -7
- package/esm2015/controls/contextmenu/contextmenucontainer.js +30 -30
- package/esm2015/controls/contextmenu/contextmenucontainer.ngfactory.js +7 -7
- package/esm2015/controls/contextmenu/contextmenuitembutton.js +42 -42
- package/esm2015/controls/contextmenu/contextmenuitembutton.ngfactory.js +7 -7
- package/esm2015/controls/contextmenu/contextmenuitemsplitter.js +20 -20
- package/esm2015/controls/contextmenu/contextmenuitemsplitter.ngfactory.js +7 -7
- package/esm2015/controls/datetime/date.js +49 -49
- package/esm2015/controls/datetime/date.ngfactory.js +7 -7
- package/esm2015/controls/datetime/dateselector.js +11 -11
- package/esm2015/controls/datetime/dateselector.ngfactory.js +7 -7
- package/esm2015/controls/datetime/datetime.js +43 -43
- package/esm2015/controls/datetime/datetime.module.js +34 -34
- package/esm2015/controls/datetime/datetime.module.ngfactory.js +7 -7
- package/esm2015/controls/datetime/datetime.ngfactory.js +7 -7
- package/esm2015/controls/datetime/time.js +43 -43
- package/esm2015/controls/datetime/time.ngfactory.js +7 -7
- package/esm2015/controls/dialog/dialog.js +51 -51
- package/esm2015/controls/dialog/dialog.module.js +15 -15
- package/esm2015/controls/dialog/dialog.module.ngfactory.js +7 -7
- package/esm2015/controls/dialog/dialog.ngfactory.js +7 -7
- package/esm2015/controls/form/form.js +49 -49
- package/esm2015/controls/form/form.module.js +15 -15
- package/esm2015/controls/form/form.module.ngfactory.js +7 -7
- package/esm2015/controls/form/form.ngfactory.js +7 -7
- package/esm2015/controls/form/inheritform.directive.js +57 -57
- package/esm2015/controls/form/inheritform.directive.ngfactory.js +7 -7
- package/esm2015/controls/grid/grid.js +24 -24
- package/esm2015/controls/grid/grid.module.js +33 -33
- package/esm2015/controls/grid/grid.module.ngfactory.js +7 -7
- package/esm2015/controls/grid/grid.ngfactory.js +7 -7
- package/esm2015/controls/grid/gridbutton.js +39 -39
- package/esm2015/controls/grid/gridbutton.ngfactory.js +7 -7
- package/esm2015/controls/grid/gridcolumn.js +26 -26
- package/esm2015/controls/grid/gridcolumn.ngfactory.js +7 -7
- package/esm2015/controls/grid/gridcolumnaction.js +27 -27
- package/esm2015/controls/grid/gridcolumnaction.ngfactory.js +7 -7
- package/esm2015/controls/grid/gridimage.js +21 -21
- package/esm2015/controls/grid/gridimage.ngfactory.js +7 -7
- package/esm2015/controls/grid/paging.js +24 -24
- package/esm2015/controls/grid/paging.ngfactory.js +7 -7
- package/esm2015/controls/input/input.js +35 -35
- package/esm2015/controls/input/input.module.js +47 -47
- package/esm2015/controls/input/input.module.ngfactory.js +7 -7
- package/esm2015/controls/input/input.ngfactory.js +7 -7
- package/esm2015/controls/input/inputarea.js +51 -51
- package/esm2015/controls/input/inputarea.ngfactory.js +7 -7
- package/esm2015/controls/input/inputcurrency.js +39 -39
- package/esm2015/controls/input/inputcurrency.ngfactory.js +7 -7
- package/esm2015/controls/input/inputdecimal.js +39 -39
- package/esm2015/controls/input/inputdecimal.ngfactory.js +7 -7
- package/esm2015/controls/input/inputemail.js +39 -39
- package/esm2015/controls/input/inputemail.ngfactory.js +7 -7
- package/esm2015/controls/input/inputinteger.js +39 -39
- package/esm2015/controls/input/inputinteger.ngfactory.js +7 -7
- package/esm2015/controls/input/inputpassword.js +39 -39
- package/esm2015/controls/input/inputpassword.ngfactory.js +7 -7
- package/esm2015/controls/input/inputsearch.js +39 -39
- package/esm2015/controls/input/inputsearch.ngfactory.js +7 -7
- package/esm2015/controls/layout/formlayout.directive.js +10 -10
- package/esm2015/controls/layout/formlayout.directive.ngfactory.js +7 -7
- package/esm2015/controls/layout/layout.module.js +29 -29
- package/esm2015/controls/layout/layout.module.ngfactory.js +7 -7
- package/esm2015/controls/layout/tocontrolheight.pipe.js +29 -29
- package/esm2015/controls/layout/tocontrolheight.pipe.ngfactory.js +7 -7
- package/esm2015/controls/layout/tocontrolwidthcss.pipe.js +47 -47
- package/esm2015/controls/layout/tocontrolwidthcss.pipe.ngfactory.js +7 -7
- package/esm2015/controls/layout/tolabelheight.pipe.js +29 -29
- package/esm2015/controls/layout/tolabelheight.pipe.ngfactory.js +7 -7
- package/esm2015/controls/layout/tolabelwidthcss.pipe.js +31 -31
- package/esm2015/controls/layout/tolabelwidthcss.pipe.ngfactory.js +7 -7
- package/esm2015/controls/list/dropdown.js +65 -65
- package/esm2015/controls/list/dropdown.ngfactory.js +7 -7
- package/esm2015/controls/list/list.module.js +32 -32
- package/esm2015/controls/list/list.module.ngfactory.js +7 -7
- package/esm2015/controls/list/listbox.js +41 -41
- package/esm2015/controls/list/listbox.ngfactory.js +7 -7
- package/esm2015/controls/static/formcontainer.js +53 -53
- package/esm2015/controls/static/formcontainer.ngfactory.js +7 -7
- package/esm2015/controls/static/staticlabel.js +39 -39
- package/esm2015/controls/static/staticlabel.module.js +20 -20
- package/esm2015/controls/static/staticlabel.module.ngfactory.js +7 -7
- package/esm2015/controls/static/staticlabel.ngfactory.js +7 -7
- package/esm2015/controls/tabs/tab.js +18 -18
- package/esm2015/controls/tabs/tab.ngfactory.js +7 -7
- package/esm2015/controls/tabs/tabitem.js +11 -11
- package/esm2015/controls/tabs/tabitem.ngfactory.js +7 -7
- package/esm2015/controls/tabs/tabs.module.js +16 -16
- package/esm2015/controls/tabs/tabs.module.ngfactory.js +7 -7
- package/esm2015/controls/tinymce/tinymce.js +50 -50
- package/esm2015/controls/tinymce/tinymce.module.js +27 -27
- package/esm2015/controls/tinymce/tinymce.module.ngfactory.js +7 -7
- package/esm2015/controls/tinymce/tinymce.ngfactory.js +7 -7
- package/esm2015/controls/tooltip/tooltip.js +52 -52
- package/esm2015/controls/tooltip/tooltip.module.js +13 -13
- package/esm2015/controls/tooltip/tooltip.module.ngfactory.js +7 -7
- package/esm2015/controls/tooltip/tooltip.ngfactory.js +7 -7
- package/esm2015/controls/treeview/treeview.js +41 -41
- package/esm2015/controls/treeview/treeview.module.js +16 -16
- package/esm2015/controls/treeview/treeview.module.ngfactory.js +7 -7
- package/esm2015/controls/treeview/treeview.ngfactory.js +7 -7
- package/esm2015/controls/upload/dropzonemultiple.js +55 -55
- package/esm2015/controls/upload/dropzonemultiple.ngfactory.js +7 -7
- package/esm2015/controls/upload/dropzonesingle.js +55 -55
- package/esm2015/controls/upload/dropzonesingle.ngfactory.js +7 -7
- package/esm2015/controls/upload/upload.js +44 -44
- package/esm2015/controls/upload/upload.module.js +24 -24
- package/esm2015/controls/upload/upload.module.ngfactory.js +7 -7
- package/esm2015/controls/upload/upload.ngfactory.js +7 -7
- package/esm2015/controls/upload/upload.scss.ngstyle.js +7 -7
- package/esm2015/controls/upload/upload.scss.shim.ngstyle.js +7 -7
- package/esm2015/controls/upload/uploadmultiple.js +44 -44
- package/esm2015/controls/upload/uploadmultiple.ngfactory.js +7 -7
- package/esm2015/controls/validation/validationsummary.js +34 -34
- package/esm2015/controls/validation/validationsummary.module.js +15 -15
- package/esm2015/controls/validation/validationsummary.module.ngfactory.js +7 -7
- package/esm2015/controls/validation/validationsummary.ngfactory.js +7 -7
- package/esm2015/controls/wizard/wizard.js +23 -23
- package/esm2015/controls/wizard/wizard.module.js +16 -16
- package/esm2015/controls/wizard/wizard.module.ngfactory.js +7 -7
- package/esm2015/controls/wizard/wizard.ngfactory.js +7 -7
- package/esm2015/controls/wizard/wizarditem.js +11 -11
- package/esm2015/controls/wizard/wizarditem.ngfactory.js +7 -7
- package/esm2015/public_api.js +76 -76
- package/esm2015/public_api.ngfactory.js +7 -7
- package/esm2015/simpleangularcontrols-sac-bootstrap3.js +6 -6
- package/esm2015/simpleangularcontrols-sac-bootstrap3.ngfactory.js +7 -7
- package/fesm2015/simpleangularcontrols-sac-bootstrap3.js +2098 -2098
- package/fesm2015/simpleangularcontrols-sac-bootstrap3.js.map +1 -1
- package/package.json +31 -31
- package/public_api.d.ts +70 -70
- package/public_api.ngfactory.d.ts +1 -1
- package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.22.tgz +0 -0
- package/simpleangularcontrols-sac-bootstrap3.d.ts +5 -5
- package/simpleangularcontrols-sac-bootstrap3.metadata.json +1 -1
- package/simpleangularcontrols-sac-bootstrap3.ngfactory.d.ts +1 -1
- package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.20.tgz +0 -0
|
@@ -8,2124 +8,2124 @@ import { IMaskModule } from 'angular-imask';
|
|
|
8
8
|
import moment_ from 'moment';
|
|
9
9
|
import { EditorModule } from '@tinymce/tinymce-angular';
|
|
10
10
|
|
|
11
|
-
class SacButtonComponent extends SacButtonCommon {
|
|
12
|
-
}
|
|
13
|
-
SacButtonComponent.decorators = [
|
|
14
|
-
{ type: Component, args: [{
|
|
15
|
-
selector: 'sac-button',
|
|
16
|
-
template: "<a\
|
|
17
|
-
encapsulation: ViewEncapsulation.None,
|
|
18
|
-
styles: ['sac-button+sac-button {margin-left: 5px}', '.spin { animation: spin 1.5s infinite; } @keyframes spin { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } }']
|
|
19
|
-
},] }
|
|
20
|
-
];
|
|
21
|
-
|
|
22
|
-
class SACBootstrap3ButtonModule {
|
|
23
|
-
}
|
|
24
|
-
SACBootstrap3ButtonModule.decorators = [
|
|
25
|
-
{ type: NgModule, args: [{
|
|
26
|
-
declarations: [SacButtonComponent],
|
|
27
|
-
imports: [
|
|
28
|
-
CommonModule
|
|
29
|
-
],
|
|
30
|
-
exports: [SacButtonComponent]
|
|
31
|
-
},] }
|
|
32
|
-
];
|
|
33
|
-
|
|
34
|
-
class SacFormLayoutDirective extends SacFormLayoutCommon {
|
|
35
|
-
}
|
|
36
|
-
SacFormLayoutDirective.decorators = [
|
|
37
|
-
{ type: Directive, args: [{
|
|
38
|
-
selector: '[sacFormLayout]',
|
|
39
|
-
},] }
|
|
40
|
-
];
|
|
41
|
-
|
|
42
|
-
class SacToControlHeightPipe {
|
|
43
|
-
// #region Public Methods
|
|
44
|
-
/**
|
|
45
|
-
* Returns the CSS class that defines the height for the control
|
|
46
|
-
* @param value ControlHeight value or null
|
|
47
|
-
*/
|
|
48
|
-
transform(value) {
|
|
49
|
-
// Return default value
|
|
50
|
-
if (!value) {
|
|
51
|
-
return '';
|
|
52
|
-
}
|
|
53
|
-
switch (value) {
|
|
54
|
-
case ControlHeight.Small:
|
|
55
|
-
return 'input-sm';
|
|
56
|
-
case ControlHeight.Large:
|
|
57
|
-
return 'input-lg';
|
|
58
|
-
default:
|
|
59
|
-
return '';
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
SacToControlHeightPipe.decorators = [
|
|
64
|
-
{ type: Pipe, args: [{
|
|
65
|
-
name: 'toControlHeight',
|
|
66
|
-
},] }
|
|
67
|
-
];
|
|
68
|
-
|
|
69
|
-
class SacToControlWidthCssPipe {
|
|
70
|
-
// #region Public Methods
|
|
71
|
-
/**
|
|
72
|
-
* Get CSS classes from label width configuration to set control size
|
|
73
|
-
* @param value Configuration with grid columns for different viewports
|
|
74
|
-
* @returns string with css classe for bootstrap3
|
|
75
|
-
*/
|
|
76
|
-
transform(value) {
|
|
77
|
-
const classes = [];
|
|
78
|
-
if (value.labelSizeXs) {
|
|
79
|
-
classes.push('col-xs-' + this.calcControlSize(value.labelSizeXs));
|
|
80
|
-
}
|
|
81
|
-
if (value.labelSizeSm) {
|
|
82
|
-
classes.push('col-sm-' + this.calcControlSize(value.labelSizeSm));
|
|
83
|
-
}
|
|
84
|
-
if (value.labelSizeMd) {
|
|
85
|
-
classes.push('col-md-' + this.calcControlSize(value.labelSizeMd));
|
|
86
|
-
}
|
|
87
|
-
if (value.labelSizeLg) {
|
|
88
|
-
classes.push('col-lg-' + this.calcControlSize(value.labelSizeLg));
|
|
89
|
-
}
|
|
90
|
-
return classes.join(' ');
|
|
91
|
-
}
|
|
92
|
-
// #endregion Public Methods
|
|
93
|
-
// #region Private Methods
|
|
94
|
-
/**
|
|
95
|
-
* calculate the control size
|
|
96
|
-
* @param labelsize grid size of label
|
|
97
|
-
* @returns grid size for control. should be between 1 and 12
|
|
98
|
-
*/
|
|
99
|
-
calcControlSize(labelsize) {
|
|
100
|
-
if (labelsize === 12) {
|
|
101
|
-
return 12;
|
|
102
|
-
}
|
|
103
|
-
if (!labelsize) {
|
|
104
|
-
return 12;
|
|
105
|
-
}
|
|
106
|
-
return 12 - labelsize;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
SacToControlWidthCssPipe.decorators = [
|
|
110
|
-
{ type: Pipe, args: [{
|
|
111
|
-
name: 'toControlWidthCss',
|
|
112
|
-
},] }
|
|
113
|
-
];
|
|
114
|
-
|
|
115
|
-
class SacToLabelHeightPipe {
|
|
116
|
-
// #region Public Methods
|
|
117
|
-
/**
|
|
118
|
-
* Returns the CSS class that defines the height for the control
|
|
119
|
-
* @param value ControlHeight value or null
|
|
120
|
-
*/
|
|
121
|
-
transform(value) {
|
|
122
|
-
// Return default value
|
|
123
|
-
if (!value) {
|
|
124
|
-
return '';
|
|
125
|
-
}
|
|
126
|
-
switch (value) {
|
|
127
|
-
case ControlHeight.Small:
|
|
128
|
-
return 'form-group-sm';
|
|
129
|
-
case ControlHeight.Large:
|
|
130
|
-
return 'form-group-lg';
|
|
131
|
-
default:
|
|
132
|
-
return '';
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
SacToLabelHeightPipe.decorators = [
|
|
137
|
-
{ type: Pipe, args: [{
|
|
138
|
-
name: 'toLabelHeight',
|
|
139
|
-
},] }
|
|
140
|
-
];
|
|
141
|
-
|
|
142
|
-
class SacToLabelWidthCssPipe {
|
|
143
|
-
// #region Public Methods
|
|
144
|
-
/**
|
|
145
|
-
* Get CSS classes from label width configuration to set label size
|
|
146
|
-
* @param value Configuration with grid columns for different viewports
|
|
147
|
-
* @returns string with css classe for bootstrap3
|
|
148
|
-
*/
|
|
149
|
-
transform(value) {
|
|
150
|
-
const classes = [];
|
|
151
|
-
if (value.labelSizeXs) {
|
|
152
|
-
classes.push('col-xs-' + value.labelSizeXs);
|
|
153
|
-
}
|
|
154
|
-
if (value.labelSizeSm) {
|
|
155
|
-
classes.push('col-sm-' + value.labelSizeSm);
|
|
156
|
-
}
|
|
157
|
-
if (value.labelSizeMd) {
|
|
158
|
-
classes.push('col-md-' + value.labelSizeMd);
|
|
159
|
-
}
|
|
160
|
-
if (value.labelSizeLg) {
|
|
161
|
-
classes.push('col-lg-' + value.labelSizeLg);
|
|
162
|
-
}
|
|
163
|
-
return classes.join(' ');
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
SacToLabelWidthCssPipe.decorators = [
|
|
167
|
-
{ type: Pipe, args: [{
|
|
168
|
-
name: 'toLabelWidthCss',
|
|
169
|
-
},] }
|
|
170
|
-
];
|
|
171
|
-
|
|
172
|
-
class SACBootstrap3LayoutModule {
|
|
173
|
-
}
|
|
174
|
-
SACBootstrap3LayoutModule.decorators = [
|
|
175
|
-
{ type: NgModule, args: [{
|
|
176
|
-
declarations: [
|
|
177
|
-
SacFormLayoutDirective,
|
|
178
|
-
SacToControlHeightPipe,
|
|
179
|
-
SacToControlWidthCssPipe,
|
|
180
|
-
SacToLabelHeightPipe,
|
|
181
|
-
SacToLabelWidthCssPipe,
|
|
182
|
-
],
|
|
183
|
-
imports: [CommonModule],
|
|
184
|
-
exports: [
|
|
185
|
-
SacFormLayoutDirective,
|
|
186
|
-
SacToControlHeightPipe,
|
|
187
|
-
SacToControlWidthCssPipe,
|
|
188
|
-
SacToLabelHeightPipe,
|
|
189
|
-
SacToLabelWidthCssPipe,
|
|
190
|
-
],
|
|
191
|
-
},] }
|
|
192
|
-
];
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Tooltip Komponente
|
|
196
|
-
*
|
|
197
|
-
* @example ToolTip Control
|
|
198
|
-
*
|
|
199
|
-
* <ngTooltip tooltiptext="Mein Tooltip" [inlinemode]="true">
|
|
200
|
-
* <i class="tooltip"></i>
|
|
201
|
-
* </ngTooltip>
|
|
202
|
-
*
|
|
203
|
-
* @example ToolTip Control im Inline Mode. Style auf Icon kann auch in Klasse ausgelagert werden.
|
|
204
|
-
*
|
|
205
|
-
* <div class="form-inline">
|
|
206
|
-
* <ngInputSearch iconname="Suchen"></ngInputSearch>
|
|
207
|
-
* <ngTooltip tooltiptext="Mein Tooltip" [inlinemode]="true">
|
|
208
|
-
* <i class="tooltip" style="position: relative; left: 0; top: 3px; display: inline-block; margin-right: 10px;"></i>
|
|
209
|
-
* </ngTooltip>
|
|
210
|
-
* </div>
|
|
211
|
-
*
|
|
212
|
-
*/
|
|
213
|
-
class SacTooltipComponent extends SacTooltipCommon {
|
|
214
|
-
// #region Constructors
|
|
215
|
-
/**
|
|
216
|
-
* Konstrukor
|
|
217
|
-
* @param parent SacFormular Instanz
|
|
218
|
-
* @param injector Component Injector
|
|
219
|
-
*/
|
|
220
|
-
constructor(cdRef, ref) {
|
|
221
|
-
super(cdRef, ref);
|
|
222
|
-
}
|
|
223
|
-
// #endregion Constructors
|
|
224
|
-
// #region Protected Methods
|
|
225
|
-
/**
|
|
226
|
-
* Padding for Tooltip
|
|
227
|
-
* @returns Always 0. BS3 not require Padding
|
|
228
|
-
*/
|
|
229
|
-
getTooltipOffset() {
|
|
230
|
-
return 0;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
SacTooltipComponent.decorators = [
|
|
234
|
-
{ type: Component, args: [{
|
|
235
|
-
selector: 'sac-tooltip',
|
|
236
|
-
template: "<div [style.display]=\"inlinemode ? 'inline' : null\">\
|
|
237
|
-
},] }
|
|
238
|
-
];
|
|
239
|
-
SacTooltipComponent.ctorParameters = () => [
|
|
240
|
-
{ type: ChangeDetectorRef },
|
|
241
|
-
{ type: ElementRef }
|
|
242
|
-
];
|
|
243
|
-
|
|
244
|
-
class SACBootstrap3TooltipModule {
|
|
245
|
-
}
|
|
246
|
-
SACBootstrap3TooltipModule.decorators = [
|
|
247
|
-
{ type: NgModule, args: [{
|
|
248
|
-
declarations: [SacTooltipComponent],
|
|
249
|
-
imports: [CommonModule],
|
|
250
|
-
exports: [SacTooltipComponent],
|
|
251
|
-
},] }
|
|
252
|
-
];
|
|
253
|
-
|
|
254
|
-
class SacCheckboxComponent extends SacCheckboxCommon {
|
|
255
|
-
// #region Constructors
|
|
256
|
-
/**
|
|
257
|
-
* Constructor
|
|
258
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
259
|
-
* @param injector Injector for injecting services
|
|
260
|
-
*/
|
|
261
|
-
constructor(formLayout, injector) {
|
|
262
|
-
super(formLayout, injector);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
SacCheckboxComponent.decorators = [
|
|
266
|
-
{ type: Component, args: [{
|
|
267
|
-
selector: 'sac-checkbox',
|
|
268
|
-
template: "<div\
|
|
269
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
270
|
-
providers: [
|
|
271
|
-
{
|
|
272
|
-
provide: NG_VALUE_ACCESSOR,
|
|
273
|
-
multi: true,
|
|
274
|
-
useExisting: SacCheckboxComponent,
|
|
275
|
-
},
|
|
276
|
-
{
|
|
277
|
-
provide: NG_VALIDATORS,
|
|
278
|
-
useExisting: forwardRef(() => SacCheckboxComponent),
|
|
279
|
-
multi: true,
|
|
280
|
-
},
|
|
281
|
-
],
|
|
282
|
-
styles: [".checkbox-sm{padding-top:2px}.checkbox-sm input{height:12px;margin-top:2px;width:12px}.checkbox-sm label{font-size:12px;padding-top:2px}.checkbox-lg input{height:20px;margin-top:2px;width:20px}.checkbox-lg label{font-size:18px;padding-top:4px}"]
|
|
283
|
-
},] }
|
|
284
|
-
];
|
|
285
|
-
SacCheckboxComponent.ctorParameters = () => [
|
|
286
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
287
|
-
{ type: Injector }
|
|
288
|
-
];
|
|
289
|
-
|
|
290
|
-
class SacRadiobuttonsComponent extends SacRadiobuttonsCommon {
|
|
291
|
-
// #region Constructors
|
|
292
|
-
/**
|
|
293
|
-
* Constructor
|
|
294
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
295
|
-
* @param injector Injector for injecting services
|
|
296
|
-
*/
|
|
297
|
-
constructor(formLayout, injector) {
|
|
298
|
-
super(formLayout, injector);
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
SacRadiobuttonsComponent.decorators = [
|
|
302
|
-
{ type: Component, args: [{
|
|
303
|
-
selector: 'sac-radiobuttons',
|
|
304
|
-
template: "<div\
|
|
305
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
306
|
-
providers: [
|
|
307
|
-
{
|
|
308
|
-
provide: NG_VALUE_ACCESSOR,
|
|
309
|
-
useExisting: forwardRef(() => SacRadiobuttonsComponent),
|
|
310
|
-
multi: true,
|
|
311
|
-
},
|
|
312
|
-
{
|
|
313
|
-
provide: NG_VALIDATORS,
|
|
314
|
-
useExisting: forwardRef(() => SacRadiobuttonsComponent),
|
|
315
|
-
multi: true,
|
|
316
|
-
},
|
|
317
|
-
]
|
|
318
|
-
},] }
|
|
319
|
-
];
|
|
320
|
-
SacRadiobuttonsComponent.ctorParameters = () => [
|
|
321
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
322
|
-
{ type: Injector }
|
|
323
|
-
];
|
|
324
|
-
|
|
325
|
-
class SacRadiobuttonComponent extends SacRadiobuttonCommon {
|
|
326
|
-
// #region Constructors
|
|
327
|
-
constructor(sacRadioButtons, formLayout, injector) {
|
|
328
|
-
super(sacRadioButtons, formLayout, injector);
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
SacRadiobuttonComponent.decorators = [
|
|
332
|
-
{ type: Component, args: [{
|
|
333
|
-
selector: 'sac-radiobutton',
|
|
334
|
-
template: "<div\
|
|
335
|
-
styles: [".radio-lg label{font-size:18px;padding-top:2px}.radio-lg label input{height:20px;margin-top:2px;width:20px}.radio-sm{padding-top:2px}.radio-sm label{font-size:12px;min-height:14px;padding-top:2px}.radio-sm label input{height:12px;margin-top:2px;width:12px}"]
|
|
336
|
-
},] }
|
|
337
|
-
];
|
|
338
|
-
SacRadiobuttonComponent.ctorParameters = () => [
|
|
339
|
-
{ type: SacRadiobuttonsComponent, decorators: [{ type: Host }] },
|
|
340
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
341
|
-
{ type: Injector }
|
|
342
|
-
];
|
|
343
|
-
|
|
344
|
-
class SACBootstrap3CheckboxModule {
|
|
345
|
-
}
|
|
346
|
-
SACBootstrap3CheckboxModule.decorators = [
|
|
347
|
-
{ type: NgModule, args: [{
|
|
348
|
-
declarations: [
|
|
349
|
-
SacCheckboxComponent,
|
|
350
|
-
SacRadiobuttonComponent,
|
|
351
|
-
SacRadiobuttonsComponent,
|
|
352
|
-
],
|
|
353
|
-
imports: [
|
|
354
|
-
CommonModule,
|
|
355
|
-
SACBootstrap3LayoutModule,
|
|
356
|
-
SACBootstrap3TooltipModule,
|
|
357
|
-
],
|
|
358
|
-
exports: [
|
|
359
|
-
SacCheckboxComponent,
|
|
360
|
-
SacRadiobuttonComponent,
|
|
361
|
-
SacRadiobuttonsComponent,
|
|
362
|
-
],
|
|
363
|
-
},] }
|
|
364
|
-
];
|
|
365
|
-
|
|
366
|
-
class SacDialogComponent extends SacDialogCommon {
|
|
367
|
-
constructor(el, cdRef) {
|
|
368
|
-
super(cdRef);
|
|
369
|
-
//#region Bootstrap 3 Spezifische Properites
|
|
370
|
-
this.zindex = 20002;
|
|
371
|
-
this._lastDialogMarginTop = 0;
|
|
372
|
-
this.element = el.nativeElement;
|
|
373
|
-
}
|
|
374
|
-
// Margin Top für Center Position des Dialogs berechnen
|
|
375
|
-
get dialogMarginTop() {
|
|
376
|
-
let result = 0;
|
|
377
|
-
// ContentPlaceholder kann NULL/UNDEFINED sein wenn Dialog nicht angezeigt wird
|
|
378
|
-
if (this.dialogElement !== null && this.dialogElement !== undefined) {
|
|
379
|
-
result = (this.dialogElement.nativeElement.clientHeight / 2) * -1;
|
|
380
|
-
}
|
|
381
|
-
// Change Detection ausführen, falls Wert nach Rendering noch geändert hat. Kann durch HTML Content / Zeilenumbrüche usw. ausgelöst werden.
|
|
382
|
-
if (this._lastDialogMarginTop !== result) {
|
|
383
|
-
this._lastDialogMarginTop = result;
|
|
384
|
-
this.ChangeDetector.detectChanges();
|
|
385
|
-
}
|
|
386
|
-
return result;
|
|
387
|
-
}
|
|
388
|
-
//#endregion
|
|
389
|
-
ngOnInit() {
|
|
390
|
-
// Element an Body für korrektes Styling unter Bootstrap 3 verschieben
|
|
391
|
-
document.body.appendChild(this.element);
|
|
392
|
-
}
|
|
393
|
-
ngOnDestroy() {
|
|
394
|
-
this.hide();
|
|
395
|
-
if (document.body.contains(this.element)) {
|
|
396
|
-
document.body.removeChild(this.element);
|
|
397
|
-
}
|
|
398
|
-
super.ngOnDestroy();
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
SacDialogComponent.decorators = [
|
|
402
|
-
{ type: Component, args: [{
|
|
403
|
-
selector: 'sac-dialog',
|
|
404
|
-
template: "<div [id]=\"name\" *ngIf=\"_show\" [ngStyle]=\"{'z-index': zindex}\">\
|
|
405
|
-
},] }
|
|
406
|
-
];
|
|
407
|
-
SacDialogComponent.ctorParameters = () => [
|
|
408
|
-
{ type: ElementRef },
|
|
409
|
-
{ type: ChangeDetectorRef }
|
|
410
|
-
];
|
|
411
|
-
SacDialogComponent.propDecorators = {
|
|
412
|
-
zindex: [{ type: Input }]
|
|
11
|
+
class SacButtonComponent extends SacButtonCommon {
|
|
12
|
+
}
|
|
13
|
+
SacButtonComponent.decorators = [
|
|
14
|
+
{ type: Component, args: [{
|
|
15
|
+
selector: 'sac-button',
|
|
16
|
+
template: "<a\n [id]=\"name\"\n class=\"btn\"\n [class.btn-primary]=\"role === 'primary'\"\n [class.btn-secondary]=\"role === 'secondary'\"\n [class.btn-success]=\"role === 'success'\"\n [class.btn-danger]=\"role === 'danger'\"\n [class.btn-warning]=\"role === 'warning'\"\n [class.btn-info]=\"role === 'info'\"\n [class.btn-default]=\"role === 'default'\"\n [class.btn-link]=\"role === 'link'\"\n [attr.disabled]=\"_isdisabled ? 'disabled' : null\"\n (click)=\"buttonClick()\"\n>\n <i\n *ngIf=\"isloading\"\n class=\"\"\n role=\"status\"\n aria-hidden=\"true\"\n class=\"glyphicon glyphicon-repeat spin\"\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem': null}\"\n ></i>\n <i\n *ngIf=\"!isloading && icon !== ''\"\n [ngClass]=\"icon\"\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem': null}\"\n ></i>\n {{text}}\n</a>\n",
|
|
17
|
+
encapsulation: ViewEncapsulation.None,
|
|
18
|
+
styles: ['sac-button+sac-button {margin-left: 5px}', '.spin { animation: spin 1.5s infinite; } @keyframes spin { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } }']
|
|
19
|
+
},] }
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
class SACBootstrap3ButtonModule {
|
|
23
|
+
}
|
|
24
|
+
SACBootstrap3ButtonModule.decorators = [
|
|
25
|
+
{ type: NgModule, args: [{
|
|
26
|
+
declarations: [SacButtonComponent],
|
|
27
|
+
imports: [
|
|
28
|
+
CommonModule
|
|
29
|
+
],
|
|
30
|
+
exports: [SacButtonComponent]
|
|
31
|
+
},] }
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
class SacFormLayoutDirective extends SacFormLayoutCommon {
|
|
35
|
+
}
|
|
36
|
+
SacFormLayoutDirective.decorators = [
|
|
37
|
+
{ type: Directive, args: [{
|
|
38
|
+
selector: '[sacFormLayout]',
|
|
39
|
+
},] }
|
|
40
|
+
];
|
|
41
|
+
|
|
42
|
+
class SacToControlHeightPipe {
|
|
43
|
+
// #region Public Methods
|
|
44
|
+
/**
|
|
45
|
+
* Returns the CSS class that defines the height for the control
|
|
46
|
+
* @param value ControlHeight value or null
|
|
47
|
+
*/
|
|
48
|
+
transform(value) {
|
|
49
|
+
// Return default value
|
|
50
|
+
if (!value) {
|
|
51
|
+
return '';
|
|
52
|
+
}
|
|
53
|
+
switch (value) {
|
|
54
|
+
case ControlHeight.Small:
|
|
55
|
+
return 'input-sm';
|
|
56
|
+
case ControlHeight.Large:
|
|
57
|
+
return 'input-lg';
|
|
58
|
+
default:
|
|
59
|
+
return '';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
SacToControlHeightPipe.decorators = [
|
|
64
|
+
{ type: Pipe, args: [{
|
|
65
|
+
name: 'toControlHeight',
|
|
66
|
+
},] }
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
class SacToControlWidthCssPipe {
|
|
70
|
+
// #region Public Methods
|
|
71
|
+
/**
|
|
72
|
+
* Get CSS classes from label width configuration to set control size
|
|
73
|
+
* @param value Configuration with grid columns for different viewports
|
|
74
|
+
* @returns string with css classe for bootstrap3
|
|
75
|
+
*/
|
|
76
|
+
transform(value) {
|
|
77
|
+
const classes = [];
|
|
78
|
+
if (value.labelSizeXs) {
|
|
79
|
+
classes.push('col-xs-' + this.calcControlSize(value.labelSizeXs));
|
|
80
|
+
}
|
|
81
|
+
if (value.labelSizeSm) {
|
|
82
|
+
classes.push('col-sm-' + this.calcControlSize(value.labelSizeSm));
|
|
83
|
+
}
|
|
84
|
+
if (value.labelSizeMd) {
|
|
85
|
+
classes.push('col-md-' + this.calcControlSize(value.labelSizeMd));
|
|
86
|
+
}
|
|
87
|
+
if (value.labelSizeLg) {
|
|
88
|
+
classes.push('col-lg-' + this.calcControlSize(value.labelSizeLg));
|
|
89
|
+
}
|
|
90
|
+
return classes.join(' ');
|
|
91
|
+
}
|
|
92
|
+
// #endregion Public Methods
|
|
93
|
+
// #region Private Methods
|
|
94
|
+
/**
|
|
95
|
+
* calculate the control size
|
|
96
|
+
* @param labelsize grid size of label
|
|
97
|
+
* @returns grid size for control. should be between 1 and 12
|
|
98
|
+
*/
|
|
99
|
+
calcControlSize(labelsize) {
|
|
100
|
+
if (labelsize === 12) {
|
|
101
|
+
return 12;
|
|
102
|
+
}
|
|
103
|
+
if (!labelsize) {
|
|
104
|
+
return 12;
|
|
105
|
+
}
|
|
106
|
+
return 12 - labelsize;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
SacToControlWidthCssPipe.decorators = [
|
|
110
|
+
{ type: Pipe, args: [{
|
|
111
|
+
name: 'toControlWidthCss',
|
|
112
|
+
},] }
|
|
113
|
+
];
|
|
114
|
+
|
|
115
|
+
class SacToLabelHeightPipe {
|
|
116
|
+
// #region Public Methods
|
|
117
|
+
/**
|
|
118
|
+
* Returns the CSS class that defines the height for the control
|
|
119
|
+
* @param value ControlHeight value or null
|
|
120
|
+
*/
|
|
121
|
+
transform(value) {
|
|
122
|
+
// Return default value
|
|
123
|
+
if (!value) {
|
|
124
|
+
return '';
|
|
125
|
+
}
|
|
126
|
+
switch (value) {
|
|
127
|
+
case ControlHeight.Small:
|
|
128
|
+
return 'form-group-sm';
|
|
129
|
+
case ControlHeight.Large:
|
|
130
|
+
return 'form-group-lg';
|
|
131
|
+
default:
|
|
132
|
+
return '';
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
SacToLabelHeightPipe.decorators = [
|
|
137
|
+
{ type: Pipe, args: [{
|
|
138
|
+
name: 'toLabelHeight',
|
|
139
|
+
},] }
|
|
140
|
+
];
|
|
141
|
+
|
|
142
|
+
class SacToLabelWidthCssPipe {
|
|
143
|
+
// #region Public Methods
|
|
144
|
+
/**
|
|
145
|
+
* Get CSS classes from label width configuration to set label size
|
|
146
|
+
* @param value Configuration with grid columns for different viewports
|
|
147
|
+
* @returns string with css classe for bootstrap3
|
|
148
|
+
*/
|
|
149
|
+
transform(value) {
|
|
150
|
+
const classes = [];
|
|
151
|
+
if (value.labelSizeXs) {
|
|
152
|
+
classes.push('col-xs-' + value.labelSizeXs);
|
|
153
|
+
}
|
|
154
|
+
if (value.labelSizeSm) {
|
|
155
|
+
classes.push('col-sm-' + value.labelSizeSm);
|
|
156
|
+
}
|
|
157
|
+
if (value.labelSizeMd) {
|
|
158
|
+
classes.push('col-md-' + value.labelSizeMd);
|
|
159
|
+
}
|
|
160
|
+
if (value.labelSizeLg) {
|
|
161
|
+
classes.push('col-lg-' + value.labelSizeLg);
|
|
162
|
+
}
|
|
163
|
+
return classes.join(' ');
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
SacToLabelWidthCssPipe.decorators = [
|
|
167
|
+
{ type: Pipe, args: [{
|
|
168
|
+
name: 'toLabelWidthCss',
|
|
169
|
+
},] }
|
|
170
|
+
];
|
|
171
|
+
|
|
172
|
+
class SACBootstrap3LayoutModule {
|
|
173
|
+
}
|
|
174
|
+
SACBootstrap3LayoutModule.decorators = [
|
|
175
|
+
{ type: NgModule, args: [{
|
|
176
|
+
declarations: [
|
|
177
|
+
SacFormLayoutDirective,
|
|
178
|
+
SacToControlHeightPipe,
|
|
179
|
+
SacToControlWidthCssPipe,
|
|
180
|
+
SacToLabelHeightPipe,
|
|
181
|
+
SacToLabelWidthCssPipe,
|
|
182
|
+
],
|
|
183
|
+
imports: [CommonModule],
|
|
184
|
+
exports: [
|
|
185
|
+
SacFormLayoutDirective,
|
|
186
|
+
SacToControlHeightPipe,
|
|
187
|
+
SacToControlWidthCssPipe,
|
|
188
|
+
SacToLabelHeightPipe,
|
|
189
|
+
SacToLabelWidthCssPipe,
|
|
190
|
+
],
|
|
191
|
+
},] }
|
|
192
|
+
];
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Tooltip Komponente
|
|
196
|
+
*
|
|
197
|
+
* @example ToolTip Control
|
|
198
|
+
*
|
|
199
|
+
* <ngTooltip tooltiptext="Mein Tooltip" [inlinemode]="true">
|
|
200
|
+
* <i class="tooltip"></i>
|
|
201
|
+
* </ngTooltip>
|
|
202
|
+
*
|
|
203
|
+
* @example ToolTip Control im Inline Mode. Style auf Icon kann auch in Klasse ausgelagert werden.
|
|
204
|
+
*
|
|
205
|
+
* <div class="form-inline">
|
|
206
|
+
* <ngInputSearch iconname="Suchen"></ngInputSearch>
|
|
207
|
+
* <ngTooltip tooltiptext="Mein Tooltip" [inlinemode]="true">
|
|
208
|
+
* <i class="tooltip" style="position: relative; left: 0; top: 3px; display: inline-block; margin-right: 10px;"></i>
|
|
209
|
+
* </ngTooltip>
|
|
210
|
+
* </div>
|
|
211
|
+
*
|
|
212
|
+
*/
|
|
213
|
+
class SacTooltipComponent extends SacTooltipCommon {
|
|
214
|
+
// #region Constructors
|
|
215
|
+
/**
|
|
216
|
+
* Konstrukor
|
|
217
|
+
* @param parent SacFormular Instanz
|
|
218
|
+
* @param injector Component Injector
|
|
219
|
+
*/
|
|
220
|
+
constructor(cdRef, ref) {
|
|
221
|
+
super(cdRef, ref);
|
|
222
|
+
}
|
|
223
|
+
// #endregion Constructors
|
|
224
|
+
// #region Protected Methods
|
|
225
|
+
/**
|
|
226
|
+
* Padding for Tooltip
|
|
227
|
+
* @returns Always 0. BS3 not require Padding
|
|
228
|
+
*/
|
|
229
|
+
getTooltipOffset() {
|
|
230
|
+
return 0;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
SacTooltipComponent.decorators = [
|
|
234
|
+
{ type: Component, args: [{
|
|
235
|
+
selector: 'sac-tooltip',
|
|
236
|
+
template: "<div [style.display]=\"inlinemode ? 'inline' : null\">\n <div\n #container\n (mouseenter)=\"ShowTooltip()\"\n (mouseleave)=\"HideTooltip()\"\n [style.display]=\"inlinemode ? 'inline' : null\">\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"IsTooltipVisible()\"\n #tooltip>\n <div\n [style.visibility]=\"IsTooltipContentVisible ? 'visible' : 'hidden'\"\n class=\"tooltip in\"\n style=\"display: block\"\n [style.left.px]=\"LeftPos\"\n [style.top.px]=\"TopPos\"\n [class.top]=\"GetTooltipPosition() === TooltipPosition.top\"\n [class.left]=\"GetTooltipPosition() === TooltipPosition.left\"\n [class.right]=\"GetTooltipPosition() === TooltipPosition.right\"\n [class.bottom]=\"GetTooltipPosition() === TooltipPosition.bottom\">\n <div class=\"tooltip-arrow\"></div>\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n"
|
|
237
|
+
},] }
|
|
238
|
+
];
|
|
239
|
+
SacTooltipComponent.ctorParameters = () => [
|
|
240
|
+
{ type: ChangeDetectorRef },
|
|
241
|
+
{ type: ElementRef }
|
|
242
|
+
];
|
|
243
|
+
|
|
244
|
+
class SACBootstrap3TooltipModule {
|
|
245
|
+
}
|
|
246
|
+
SACBootstrap3TooltipModule.decorators = [
|
|
247
|
+
{ type: NgModule, args: [{
|
|
248
|
+
declarations: [SacTooltipComponent],
|
|
249
|
+
imports: [CommonModule],
|
|
250
|
+
exports: [SacTooltipComponent],
|
|
251
|
+
},] }
|
|
252
|
+
];
|
|
253
|
+
|
|
254
|
+
class SacCheckboxComponent extends SacCheckboxCommon {
|
|
255
|
+
// #region Constructors
|
|
256
|
+
/**
|
|
257
|
+
* Constructor
|
|
258
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
259
|
+
* @param injector Injector for injecting services
|
|
260
|
+
*/
|
|
261
|
+
constructor(formLayout, injector) {
|
|
262
|
+
super(formLayout, injector);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
SacCheckboxComponent.decorators = [
|
|
266
|
+
{ type: Component, args: [{
|
|
267
|
+
selector: 'sac-checkbox',
|
|
268
|
+
template: "<div\n class=\"row\"\n [class.form-group]=\"!stacked\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"!disablelabel && !stacked\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\n <div\n class=\"checkbox\"\n [class.checkbox-sm]=\"componentHeight === ControlHeight.Small\"\n [class.checkbox-lg]=\"componentHeight === ControlHeight.Large\">\n <label for=\"{{ name }}\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"checkbox\"\n class=\"visible-checkbox\"\n [checked]=\"value\"\n [disabled]=\"isdisabled\"\n (blur)=\"onTouch()\"\n (change)=\"setValue($event.target.checked)\" />\n <ng-container *ngIf=\"checkboxtext\">\n <span>{{ checkboxtext }}</span>\n </ng-container>\n </label>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && (disablelabel || stacked)\"\n class=\"form-control-static\"\n style=\"display: inline\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n",
|
|
269
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
270
|
+
providers: [
|
|
271
|
+
{
|
|
272
|
+
provide: NG_VALUE_ACCESSOR,
|
|
273
|
+
multi: true,
|
|
274
|
+
useExisting: SacCheckboxComponent,
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
provide: NG_VALIDATORS,
|
|
278
|
+
useExisting: forwardRef(() => SacCheckboxComponent),
|
|
279
|
+
multi: true,
|
|
280
|
+
},
|
|
281
|
+
],
|
|
282
|
+
styles: [".checkbox-sm{padding-top:2px}.checkbox-sm input{height:12px;margin-top:2px;width:12px}.checkbox-sm label{font-size:12px;padding-top:2px}.checkbox-lg input{height:20px;margin-top:2px;width:20px}.checkbox-lg label{font-size:18px;padding-top:4px}"]
|
|
283
|
+
},] }
|
|
284
|
+
];
|
|
285
|
+
SacCheckboxComponent.ctorParameters = () => [
|
|
286
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
287
|
+
{ type: Injector }
|
|
288
|
+
];
|
|
289
|
+
|
|
290
|
+
class SacRadiobuttonsComponent extends SacRadiobuttonsCommon {
|
|
291
|
+
// #region Constructors
|
|
292
|
+
/**
|
|
293
|
+
* Constructor
|
|
294
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
295
|
+
* @param injector Injector for injecting services
|
|
296
|
+
*/
|
|
297
|
+
constructor(formLayout, injector) {
|
|
298
|
+
super(formLayout, injector);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
SacRadiobuttonsComponent.decorators = [
|
|
302
|
+
{ type: Component, args: [{
|
|
303
|
+
selector: 'sac-radiobuttons',
|
|
304
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div>\n <ng-content></ng-content>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n",
|
|
305
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
306
|
+
providers: [
|
|
307
|
+
{
|
|
308
|
+
provide: NG_VALUE_ACCESSOR,
|
|
309
|
+
useExisting: forwardRef(() => SacRadiobuttonsComponent),
|
|
310
|
+
multi: true,
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
provide: NG_VALIDATORS,
|
|
314
|
+
useExisting: forwardRef(() => SacRadiobuttonsComponent),
|
|
315
|
+
multi: true,
|
|
316
|
+
},
|
|
317
|
+
]
|
|
318
|
+
},] }
|
|
319
|
+
];
|
|
320
|
+
SacRadiobuttonsComponent.ctorParameters = () => [
|
|
321
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
322
|
+
{ type: Injector }
|
|
323
|
+
];
|
|
324
|
+
|
|
325
|
+
class SacRadiobuttonComponent extends SacRadiobuttonCommon {
|
|
326
|
+
// #region Constructors
|
|
327
|
+
constructor(sacRadioButtons, formLayout, injector) {
|
|
328
|
+
super(sacRadioButtons, formLayout, injector);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
SacRadiobuttonComponent.decorators = [
|
|
332
|
+
{ type: Component, args: [{
|
|
333
|
+
selector: 'sac-radiobutton',
|
|
334
|
+
template: "<div\n class=\"radio\"\n *ngIf=\"hidden === false\"\n [class.radio-sm]=\"componentHeight === ControlHeight.Small\"\n [class.radio-lg]=\"componentHeight === ControlHeight.Large\">\n <label for=\"{{ getName }}_{{ getIndex }}\">\n <input\n id=\"{{ getName }}_{{ getIndex }}\"\n name=\"{{ getName }}\"\n type=\"radio\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"ChangeEvent()\"\n [disabled]=\"isDisabled\" />\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"></ng-template>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </label>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n class=\"form-control-static\"\n style=\"display: inline\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n <span>{{ label }}</span>\n</ng-template>\n",
|
|
335
|
+
styles: [".radio-lg label{font-size:18px;padding-top:2px}.radio-lg label input{height:20px;margin-top:2px;width:20px}.radio-sm{padding-top:2px}.radio-sm label{font-size:12px;min-height:14px;padding-top:2px}.radio-sm label input{height:12px;margin-top:2px;width:12px}"]
|
|
336
|
+
},] }
|
|
337
|
+
];
|
|
338
|
+
SacRadiobuttonComponent.ctorParameters = () => [
|
|
339
|
+
{ type: SacRadiobuttonsComponent, decorators: [{ type: Host }] },
|
|
340
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
341
|
+
{ type: Injector }
|
|
342
|
+
];
|
|
343
|
+
|
|
344
|
+
class SACBootstrap3CheckboxModule {
|
|
345
|
+
}
|
|
346
|
+
SACBootstrap3CheckboxModule.decorators = [
|
|
347
|
+
{ type: NgModule, args: [{
|
|
348
|
+
declarations: [
|
|
349
|
+
SacCheckboxComponent,
|
|
350
|
+
SacRadiobuttonComponent,
|
|
351
|
+
SacRadiobuttonsComponent,
|
|
352
|
+
],
|
|
353
|
+
imports: [
|
|
354
|
+
CommonModule,
|
|
355
|
+
SACBootstrap3LayoutModule,
|
|
356
|
+
SACBootstrap3TooltipModule,
|
|
357
|
+
],
|
|
358
|
+
exports: [
|
|
359
|
+
SacCheckboxComponent,
|
|
360
|
+
SacRadiobuttonComponent,
|
|
361
|
+
SacRadiobuttonsComponent,
|
|
362
|
+
],
|
|
363
|
+
},] }
|
|
364
|
+
];
|
|
365
|
+
|
|
366
|
+
class SacDialogComponent extends SacDialogCommon {
|
|
367
|
+
constructor(el, cdRef) {
|
|
368
|
+
super(cdRef);
|
|
369
|
+
//#region Bootstrap 3 Spezifische Properites
|
|
370
|
+
this.zindex = 20002;
|
|
371
|
+
this._lastDialogMarginTop = 0;
|
|
372
|
+
this.element = el.nativeElement;
|
|
373
|
+
}
|
|
374
|
+
// Margin Top für Center Position des Dialogs berechnen
|
|
375
|
+
get dialogMarginTop() {
|
|
376
|
+
let result = 0;
|
|
377
|
+
// ContentPlaceholder kann NULL/UNDEFINED sein wenn Dialog nicht angezeigt wird
|
|
378
|
+
if (this.dialogElement !== null && this.dialogElement !== undefined) {
|
|
379
|
+
result = (this.dialogElement.nativeElement.clientHeight / 2) * -1;
|
|
380
|
+
}
|
|
381
|
+
// Change Detection ausführen, falls Wert nach Rendering noch geändert hat. Kann durch HTML Content / Zeilenumbrüche usw. ausgelöst werden.
|
|
382
|
+
if (this._lastDialogMarginTop !== result) {
|
|
383
|
+
this._lastDialogMarginTop = result;
|
|
384
|
+
this.ChangeDetector.detectChanges();
|
|
385
|
+
}
|
|
386
|
+
return result;
|
|
387
|
+
}
|
|
388
|
+
//#endregion
|
|
389
|
+
ngOnInit() {
|
|
390
|
+
// Element an Body für korrektes Styling unter Bootstrap 3 verschieben
|
|
391
|
+
document.body.appendChild(this.element);
|
|
392
|
+
}
|
|
393
|
+
ngOnDestroy() {
|
|
394
|
+
this.hide();
|
|
395
|
+
if (document.body.contains(this.element)) {
|
|
396
|
+
document.body.removeChild(this.element);
|
|
397
|
+
}
|
|
398
|
+
super.ngOnDestroy();
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
SacDialogComponent.decorators = [
|
|
402
|
+
{ type: Component, args: [{
|
|
403
|
+
selector: 'sac-dialog',
|
|
404
|
+
template: "<div [id]=\"name\" *ngIf=\"_show\" [ngStyle]=\"{'z-index': zindex}\">\n <div\n class=\"modal in\"\n style=\"display: block\"\n tabindex=\"-1\"\n role=\"dialog\"\n #dialog\n >\n <div\n class=\"modal-dialog\"\n [class.modal-sm]=\"_size==='small'\"\n [class.modal-lg]=\"_size === 'large' || _size === 'extralarge'\"\n role=\"document\"\n >\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <button\n type=\"button\"\n class=\"close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n (click)=\"hide()\"\n *ngIf=\"closebutton\"\n >\n <span aria-hidden=\"true\">×</span>\n </button>\n <span class=\"modal-title\">{{title}}</span>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[dialogbody]\"></ng-content>\n </div>\n <div class=\"modal-footer\">\n <ng-content select=\"[dialogfooter]\"></ng-content>\n </div>\n </div>\n <!-- /.modal-content -->\n </div>\n <!-- /.modal-dialog -->\n </div>\n <!-- /.modal -->\n</div>\n<div class=\"modal-backdrop in\" *ngIf=\"_show && backdrop\" #backdrop></div>\n"
|
|
405
|
+
},] }
|
|
406
|
+
];
|
|
407
|
+
SacDialogComponent.ctorParameters = () => [
|
|
408
|
+
{ type: ElementRef },
|
|
409
|
+
{ type: ChangeDetectorRef }
|
|
410
|
+
];
|
|
411
|
+
SacDialogComponent.propDecorators = {
|
|
412
|
+
zindex: [{ type: Input }]
|
|
413
413
|
};
|
|
414
414
|
|
|
415
|
-
class SACBootstrap3DialogModule {
|
|
416
|
-
}
|
|
417
|
-
SACBootstrap3DialogModule.decorators = [
|
|
418
|
-
{ type: NgModule, args: [{
|
|
419
|
-
declarations: [SacDialogComponent],
|
|
420
|
-
imports: [
|
|
421
|
-
CommonModule
|
|
422
|
-
],
|
|
423
|
-
exports: [SacDialogComponent]
|
|
424
|
-
},] }
|
|
425
|
-
];
|
|
426
|
-
|
|
427
|
-
class SacConfirmComponent extends SacConfirmCommon {
|
|
428
|
-
}
|
|
429
|
-
SacConfirmComponent.decorators = [
|
|
430
|
-
{ type: Component, args: [{
|
|
431
|
-
selector: 'sac-confirm',
|
|
432
|
-
template: "<sac-dialog\
|
|
433
|
-
},] }
|
|
434
|
-
];
|
|
435
|
-
|
|
436
|
-
/**
|
|
437
|
-
* Service für Confirm Messages in TypeScript Code
|
|
438
|
-
*
|
|
439
|
-
* @example
|
|
440
|
-
* // Beispiel für ConfirmMessage mit Standard Buttons (Ja / Nein).
|
|
441
|
-
* confirmService.ConfirmMessage('titel', 'frage').subscribe(action => { // Action Code });
|
|
442
|
-
*
|
|
443
|
-
* @example
|
|
444
|
-
* // Beispiel für ConfirmMessage mit eigenen Buttons
|
|
445
|
-
* let buttons: SacConfirmButton[] = [];
|
|
446
|
-
* buttons.push(new SacConfirmButton('ActionKey','Text Primary'));
|
|
447
|
-
* buttons.push(new SacConfirmButton('ActionKey2','Text Button 2'));
|
|
448
|
-
* confirmService.ConfirmMessage('titel', 'frage', buttons).subscribe(action => { // Action Code });
|
|
449
|
-
*/
|
|
450
|
-
class ServiceConfirm extends ServiceConfirmCommon {
|
|
451
|
-
// #endregion Properties
|
|
452
|
-
// #region Constructors
|
|
453
|
-
/**
|
|
454
|
-
* Konstruktor
|
|
455
|
-
* @param componentFactoryResolver Component Factory Resolver Instanz
|
|
456
|
-
* @param appRef Application Referenz. Wird benötigt um den Dialog am Body anzuhängen
|
|
457
|
-
* @param injector Injector. Wird benötigt um den Dialog dynamisch zu erzeugen
|
|
458
|
-
*/
|
|
459
|
-
constructor(componentFactoryResolver, appRef, injector) {
|
|
460
|
-
super(appRef, injector);
|
|
461
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
462
|
-
// #region Properties
|
|
463
|
-
/**
|
|
464
|
-
* Collection von Buttons die angezeigt werden müssen.
|
|
465
|
-
*/
|
|
466
|
-
this.buttons = [];
|
|
467
|
-
/**
|
|
468
|
-
* Message die in Dialog angezeigt werden soll.
|
|
469
|
-
*/
|
|
470
|
-
this.message = '';
|
|
471
|
-
/**
|
|
472
|
-
* Titel der im Dialog angezeigt werden soll.
|
|
473
|
-
*/
|
|
474
|
-
this.title = '';
|
|
475
|
-
}
|
|
476
|
-
// #endregion Constructors
|
|
477
|
-
// #region Public Methods
|
|
478
|
-
/**
|
|
479
|
-
* Confirm Dialog anzeigen
|
|
480
|
-
* @param message Nachricht die angezeigt werden soll.
|
|
481
|
-
* @returns EventEmitter mit Key des Buttons, welcher geklickt wurde.
|
|
482
|
-
*/
|
|
483
|
-
ConfirmMessage(title, message, buttons = null) {
|
|
484
|
-
this.title = title;
|
|
485
|
-
this.message = message;
|
|
486
|
-
// Default Buttons setzen, wenn keine Buttons angegeben sind
|
|
487
|
-
if (!isDefined(buttons)) {
|
|
488
|
-
this.buttons = [];
|
|
489
|
-
forkJoin({
|
|
490
|
-
button_yes: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonYes),
|
|
491
|
-
button_no: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonNo),
|
|
492
|
-
})
|
|
493
|
-
.pipe(take(1))
|
|
494
|
-
.subscribe((texte) => {
|
|
495
|
-
this.buttons.push(new SacConfirmButton('yes', texte.button_yes, 'primary'));
|
|
496
|
-
this.buttons.push(new SacConfirmButton('no', texte.button_no));
|
|
497
|
-
});
|
|
498
|
-
}
|
|
499
|
-
else {
|
|
500
|
-
this.buttons = buttons;
|
|
501
|
-
}
|
|
502
|
-
return super.Confirm();
|
|
503
|
-
}
|
|
504
|
-
/**
|
|
505
|
-
* Erzeugen einer Component Factory für einen Dialog
|
|
506
|
-
*/
|
|
507
|
-
GetComponentFactory() {
|
|
508
|
-
return this.componentFactoryResolver.resolveComponentFactory(SacConfirmComponent);
|
|
509
|
-
}
|
|
510
|
-
// #endregion Public Methods
|
|
511
|
-
// #region Protected Methods
|
|
512
|
-
/**
|
|
513
|
-
* Konfiguration des Dialogs
|
|
514
|
-
* @param instance Instanz eines SacConfirm Dialogs
|
|
515
|
-
*/
|
|
516
|
-
ConfigureDialog(instance) {
|
|
517
|
-
// Text in Dialog setzen
|
|
518
|
-
instance.title = this.title;
|
|
519
|
-
instance.message = this.message;
|
|
520
|
-
instance.buttons = this.buttons;
|
|
521
|
-
instance.image = this.iconService.ConfirmDefaultImage;
|
|
522
|
-
}
|
|
523
|
-
}
|
|
524
|
-
ServiceConfirm.decorators = [
|
|
525
|
-
{ type: Injectable }
|
|
526
|
-
];
|
|
527
|
-
ServiceConfirm.ctorParameters = () => [
|
|
528
|
-
{ type: ComponentFactoryResolver, decorators: [{ type: Inject, args: [ComponentFactoryResolver,] }] },
|
|
529
|
-
{ type: ApplicationRef },
|
|
530
|
-
{ type: Injector }
|
|
531
|
-
];
|
|
532
|
-
|
|
533
|
-
/**
|
|
534
|
-
* Module für Confirm Messages
|
|
535
|
-
*
|
|
536
|
-
* In NgModule der Applikation folgenden Eintrag bei Imports einfügen: ExanicBootstrap3ConfirmModule.forRoot()
|
|
537
|
-
*
|
|
538
|
-
*/
|
|
539
|
-
class SACBootstrap3ConfirmModule {
|
|
540
|
-
// #region Public Static Methods
|
|
541
|
-
static forRoot() {
|
|
542
|
-
return {
|
|
543
|
-
ngModule: SACBootstrap3ConfirmModule,
|
|
544
|
-
providers: [ServiceConfirm],
|
|
545
|
-
};
|
|
546
|
-
}
|
|
547
|
-
}
|
|
548
|
-
SACBootstrap3ConfirmModule.decorators = [
|
|
549
|
-
{ type: NgModule, args: [{
|
|
550
|
-
declarations: [SacConfirmComponent],
|
|
551
|
-
imports: [CommonModule, SACBootstrap3DialogModule, SACBootstrap3ButtonModule],
|
|
552
|
-
exports: [SacConfirmComponent],
|
|
553
|
-
entryComponents: [SacConfirmComponent],
|
|
554
|
-
},] }
|
|
555
|
-
];
|
|
556
|
-
|
|
557
|
-
/**
|
|
558
|
-
* Component for context menu
|
|
559
|
-
*/
|
|
560
|
-
class SacContextmenuComponent extends SacContextmenuCommon {
|
|
561
|
-
// #region Constructors
|
|
562
|
-
/**
|
|
563
|
-
* Constructor
|
|
564
|
-
* @param document Reference to HTML document
|
|
565
|
-
* @param ngZone Angular Zone Service
|
|
566
|
-
* @param elementRef Reference to HTML element of the current component
|
|
567
|
-
* @param renderer Render Service from Angular
|
|
568
|
-
* @param injector injector to resolve services
|
|
569
|
-
*/
|
|
570
|
-
constructor(document, ngZone, elementRef, renderer, injector) {
|
|
571
|
-
super(document, ngZone, elementRef, renderer, injector);
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
SacContextmenuComponent.decorators = [
|
|
575
|
-
{ type: Component, args: [{
|
|
576
|
-
selector: 'sac-contextmenu',
|
|
577
|
-
template: "<div\
|
|
578
|
-
},] }
|
|
579
|
-
];
|
|
580
|
-
SacContextmenuComponent.ctorParameters = () => [
|
|
581
|
-
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
582
|
-
{ type: NgZone },
|
|
583
|
-
{ type: ElementRef },
|
|
584
|
-
{ type: Renderer2 },
|
|
585
|
-
{ type: Injector }
|
|
586
|
-
];
|
|
587
|
-
|
|
588
|
-
/**
|
|
589
|
-
* Anker Komponente für Context Menü. Wird zum positionieren des Context Menü in der Page benötigt.
|
|
590
|
-
*/
|
|
591
|
-
class SacContextmenuAnchorDirective extends SacContextmenuAnchorCommon {
|
|
592
|
-
// #region Constructors
|
|
593
|
-
/**
|
|
594
|
-
* Konstruktor
|
|
595
|
-
* @param elementRef HTML DOM Referenz
|
|
596
|
-
*/
|
|
597
|
-
constructor(elementRef) {
|
|
598
|
-
super(elementRef);
|
|
599
|
-
}
|
|
600
|
-
}
|
|
601
|
-
SacContextmenuAnchorDirective.decorators = [
|
|
602
|
-
{ type: Directive, args: [{
|
|
603
|
-
selector: '[sacContextMenuAnchor]',
|
|
604
|
-
providers: [
|
|
605
|
-
{
|
|
606
|
-
provide: SacContextmenuAnchorCommon,
|
|
607
|
-
useExisting: forwardRef(() => SacContextmenuAnchorDirective),
|
|
608
|
-
},
|
|
609
|
-
],
|
|
610
|
-
},] }
|
|
611
|
-
];
|
|
612
|
-
SacContextmenuAnchorDirective.ctorParameters = () => [
|
|
613
|
-
{ type: ElementRef }
|
|
614
|
-
];
|
|
615
|
-
|
|
616
|
-
/**
|
|
617
|
-
* Marker Komponente für Context Menü
|
|
618
|
-
*/
|
|
619
|
-
class SacContextmenuContainerDirective extends SacContextMenuContrainerCommon {
|
|
620
|
-
// #region Constructors
|
|
621
|
-
/**
|
|
622
|
-
* Konstruktor
|
|
623
|
-
* @param elementRef Referenz auf DOM Element
|
|
624
|
-
*/
|
|
625
|
-
constructor(elementRef) {
|
|
626
|
-
super(elementRef);
|
|
627
|
-
}
|
|
628
|
-
}
|
|
629
|
-
SacContextmenuContainerDirective.decorators = [
|
|
630
|
-
{ type: Directive, args: [{
|
|
631
|
-
selector: '[sacContextMenuContainer]',
|
|
632
|
-
providers: [
|
|
633
|
-
{
|
|
634
|
-
provide: SacContextMenuContrainerCommon,
|
|
635
|
-
useExisting: forwardRef(() => SacContextmenuContainerDirective),
|
|
636
|
-
},
|
|
637
|
-
],
|
|
638
|
-
},] }
|
|
639
|
-
];
|
|
640
|
-
SacContextmenuContainerDirective.ctorParameters = () => [
|
|
641
|
-
{ type: ElementRef }
|
|
642
|
-
];
|
|
643
|
-
|
|
644
|
-
/**
|
|
645
|
-
* Component for menu entry in context menu
|
|
646
|
-
*/
|
|
647
|
-
class SacContextmenuItemButtonComponent extends SacContextmenuItemButtonCommon {
|
|
648
|
-
// #region Constructors
|
|
649
|
-
/**
|
|
650
|
-
* Constructor
|
|
651
|
-
* @param contextmenu Instance von Context Menü
|
|
652
|
-
*/
|
|
653
|
-
constructor(el) {
|
|
654
|
-
super();
|
|
655
|
-
this.el = el;
|
|
656
|
-
}
|
|
657
|
-
// #endregion Constructors
|
|
658
|
-
// #region Public Methods
|
|
659
|
-
ngOnInit() {
|
|
660
|
-
const rootElement = this.el.nativeElement;
|
|
661
|
-
const parentElement = rootElement.parentElement;
|
|
662
|
-
while (rootElement.firstChild) {
|
|
663
|
-
parentElement.insertBefore(rootElement.firstChild, rootElement);
|
|
664
|
-
}
|
|
665
|
-
parentElement.removeChild(rootElement);
|
|
666
|
-
}
|
|
667
|
-
}
|
|
668
|
-
SacContextmenuItemButtonComponent.decorators = [
|
|
669
|
-
{ type: Component, args: [{
|
|
670
|
-
selector: 'sac-contextmenubutton',
|
|
671
|
-
template: "<li\
|
|
672
|
-
providers: [
|
|
673
|
-
{
|
|
674
|
-
provide: SacContextmenuItemCommon,
|
|
675
|
-
useExisting: forwardRef(() => SacContextmenuItemButtonComponent),
|
|
676
|
-
},
|
|
677
|
-
]
|
|
678
|
-
},] }
|
|
679
|
-
];
|
|
680
|
-
SacContextmenuItemButtonComponent.ctorParameters = () => [
|
|
681
|
-
{ type: ElementRef }
|
|
682
|
-
];
|
|
683
|
-
|
|
684
|
-
/**
|
|
685
|
-
* Splitter Komponente in Context Menü
|
|
686
|
-
*/
|
|
687
|
-
class SacContextmenuItemSplitterComponent extends SacContextmenuItemCommon {
|
|
688
|
-
}
|
|
689
|
-
SacContextmenuItemSplitterComponent.decorators = [
|
|
690
|
-
{ type: Component, args: [{
|
|
691
|
-
selector: 'sac-contextmenusplitter',
|
|
692
|
-
template: "<li\
|
|
693
|
-
providers: [
|
|
694
|
-
{
|
|
695
|
-
provide: SacContextmenuItemCommon,
|
|
696
|
-
useExisting: forwardRef(() => SacContextmenuItemSplitterComponent),
|
|
697
|
-
},
|
|
698
|
-
]
|
|
699
|
-
},] }
|
|
700
|
-
];
|
|
701
|
-
|
|
702
|
-
class SACBootstrap3ContextmenuModule {
|
|
703
|
-
}
|
|
704
|
-
SACBootstrap3ContextmenuModule.decorators = [
|
|
705
|
-
{ type: NgModule, args: [{
|
|
706
|
-
declarations: [
|
|
707
|
-
SacContextmenuComponent,
|
|
708
|
-
SacContextmenuItemButtonComponent,
|
|
709
|
-
SacContextmenuItemSplitterComponent,
|
|
710
|
-
SacContextmenuAnchorDirective,
|
|
711
|
-
SacContextmenuContainerDirective,
|
|
712
|
-
],
|
|
713
|
-
imports: [CommonModule],
|
|
714
|
-
exports: [
|
|
715
|
-
SacContextmenuComponent,
|
|
716
|
-
SacContextmenuItemButtonComponent,
|
|
717
|
-
SacContextmenuItemSplitterComponent,
|
|
718
|
-
SacContextmenuAnchorDirective,
|
|
719
|
-
],
|
|
720
|
-
},] }
|
|
721
|
-
];
|
|
722
|
-
|
|
723
|
-
// #region Classes
|
|
724
|
-
class SacDateComponent extends SacDateCommon {
|
|
725
|
-
// #region Constructors
|
|
726
|
-
/**
|
|
727
|
-
* Constructor
|
|
728
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
729
|
-
* @param injector Injector for injecting services
|
|
730
|
-
* @param elementRef Reference to html dom element
|
|
731
|
-
* @param cdRef Change Dectection Servie
|
|
732
|
-
*/
|
|
733
|
-
constructor(formLayout, injector, elementRef, cdRef) {
|
|
734
|
-
super(formLayout, injector, elementRef, cdRef);
|
|
735
|
-
}
|
|
736
|
-
}
|
|
737
|
-
SacDateComponent.decorators = [
|
|
738
|
-
{ type: Component, args: [{
|
|
739
|
-
selector: 'sac-date',
|
|
740
|
-
template: "<div\
|
|
741
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
742
|
-
providers: [
|
|
743
|
-
{
|
|
744
|
-
provide: NG_VALUE_ACCESSOR,
|
|
745
|
-
multi: true,
|
|
746
|
-
useExisting: forwardRef(() => SacDateComponent),
|
|
747
|
-
},
|
|
748
|
-
{
|
|
749
|
-
provide: NG_VALIDATORS,
|
|
750
|
-
multi: true,
|
|
751
|
-
useExisting: forwardRef(() => SacDateComponent),
|
|
752
|
-
},
|
|
753
|
-
]
|
|
754
|
-
},] }
|
|
755
|
-
];
|
|
756
|
-
SacDateComponent.ctorParameters = () => [
|
|
757
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
758
|
-
{ type: Injector },
|
|
759
|
-
{ type: ElementRef },
|
|
760
|
-
{ type: ChangeDetectorRef }
|
|
761
|
-
];
|
|
762
|
-
// #endregion Classes
|
|
763
|
-
// #region Variables
|
|
764
|
-
const moment = moment_;
|
|
415
|
+
class SACBootstrap3DialogModule {
|
|
416
|
+
}
|
|
417
|
+
SACBootstrap3DialogModule.decorators = [
|
|
418
|
+
{ type: NgModule, args: [{
|
|
419
|
+
declarations: [SacDialogComponent],
|
|
420
|
+
imports: [
|
|
421
|
+
CommonModule
|
|
422
|
+
],
|
|
423
|
+
exports: [SacDialogComponent]
|
|
424
|
+
},] }
|
|
425
|
+
];
|
|
426
|
+
|
|
427
|
+
class SacConfirmComponent extends SacConfirmCommon {
|
|
428
|
+
}
|
|
429
|
+
SacConfirmComponent.decorators = [
|
|
430
|
+
{ type: Component, args: [{
|
|
431
|
+
selector: 'sac-confirm',
|
|
432
|
+
template: "<sac-dialog\n name=\"confirmDialog\"\n [(isvisible)]=\"isvisible\"\n [title]=\"title\"\n [allowesc]=\"false\"\n [closebutton]=\"false\"\n>\n <div dialogbody>\n <div class=\"media\">\n <div class=\"media-left media-middle\" *ngIf=\"hasImage()\">\n <img [attr.src]=\"image\" />\n </div>\n <div class=\"media-body\">{{message}}</div>\n </div>\n </div>\n <div dialogfooter>\n <ng-container *ngFor=\"let button of buttons\">\n <sac-button\n [name]=\"button.key\"\n [text]=\"button.text\"\n [role]=\"button.role || 'default'\"\n (clicked)=\"confirm(button.key)\"\n ></sac-button>\n </ng-container>\n </div>\n</sac-dialog>\n"
|
|
433
|
+
},] }
|
|
434
|
+
];
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Service für Confirm Messages in TypeScript Code
|
|
438
|
+
*
|
|
439
|
+
* @example
|
|
440
|
+
* // Beispiel für ConfirmMessage mit Standard Buttons (Ja / Nein).
|
|
441
|
+
* confirmService.ConfirmMessage('titel', 'frage').subscribe(action => { // Action Code });
|
|
442
|
+
*
|
|
443
|
+
* @example
|
|
444
|
+
* // Beispiel für ConfirmMessage mit eigenen Buttons
|
|
445
|
+
* let buttons: SacConfirmButton[] = [];
|
|
446
|
+
* buttons.push(new SacConfirmButton('ActionKey','Text Primary'));
|
|
447
|
+
* buttons.push(new SacConfirmButton('ActionKey2','Text Button 2'));
|
|
448
|
+
* confirmService.ConfirmMessage('titel', 'frage', buttons).subscribe(action => { // Action Code });
|
|
449
|
+
*/
|
|
450
|
+
class ServiceConfirm extends ServiceConfirmCommon {
|
|
451
|
+
// #endregion Properties
|
|
452
|
+
// #region Constructors
|
|
453
|
+
/**
|
|
454
|
+
* Konstruktor
|
|
455
|
+
* @param componentFactoryResolver Component Factory Resolver Instanz
|
|
456
|
+
* @param appRef Application Referenz. Wird benötigt um den Dialog am Body anzuhängen
|
|
457
|
+
* @param injector Injector. Wird benötigt um den Dialog dynamisch zu erzeugen
|
|
458
|
+
*/
|
|
459
|
+
constructor(componentFactoryResolver, appRef, injector) {
|
|
460
|
+
super(appRef, injector);
|
|
461
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
462
|
+
// #region Properties
|
|
463
|
+
/**
|
|
464
|
+
* Collection von Buttons die angezeigt werden müssen.
|
|
465
|
+
*/
|
|
466
|
+
this.buttons = [];
|
|
467
|
+
/**
|
|
468
|
+
* Message die in Dialog angezeigt werden soll.
|
|
469
|
+
*/
|
|
470
|
+
this.message = '';
|
|
471
|
+
/**
|
|
472
|
+
* Titel der im Dialog angezeigt werden soll.
|
|
473
|
+
*/
|
|
474
|
+
this.title = '';
|
|
475
|
+
}
|
|
476
|
+
// #endregion Constructors
|
|
477
|
+
// #region Public Methods
|
|
478
|
+
/**
|
|
479
|
+
* Confirm Dialog anzeigen
|
|
480
|
+
* @param message Nachricht die angezeigt werden soll.
|
|
481
|
+
* @returns EventEmitter mit Key des Buttons, welcher geklickt wurde.
|
|
482
|
+
*/
|
|
483
|
+
ConfirmMessage(title, message, buttons = null) {
|
|
484
|
+
this.title = title;
|
|
485
|
+
this.message = message;
|
|
486
|
+
// Default Buttons setzen, wenn keine Buttons angegeben sind
|
|
487
|
+
if (!isDefined(buttons)) {
|
|
488
|
+
this.buttons = [];
|
|
489
|
+
forkJoin({
|
|
490
|
+
button_yes: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonYes),
|
|
491
|
+
button_no: this.localisationService.GetString(this.validationKeyService.ConfirmDefaultButtonNo),
|
|
492
|
+
})
|
|
493
|
+
.pipe(take(1))
|
|
494
|
+
.subscribe((texte) => {
|
|
495
|
+
this.buttons.push(new SacConfirmButton('yes', texte.button_yes, 'primary'));
|
|
496
|
+
this.buttons.push(new SacConfirmButton('no', texte.button_no));
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
else {
|
|
500
|
+
this.buttons = buttons;
|
|
501
|
+
}
|
|
502
|
+
return super.Confirm();
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* Erzeugen einer Component Factory für einen Dialog
|
|
506
|
+
*/
|
|
507
|
+
GetComponentFactory() {
|
|
508
|
+
return this.componentFactoryResolver.resolveComponentFactory(SacConfirmComponent);
|
|
509
|
+
}
|
|
510
|
+
// #endregion Public Methods
|
|
511
|
+
// #region Protected Methods
|
|
512
|
+
/**
|
|
513
|
+
* Konfiguration des Dialogs
|
|
514
|
+
* @param instance Instanz eines SacConfirm Dialogs
|
|
515
|
+
*/
|
|
516
|
+
ConfigureDialog(instance) {
|
|
517
|
+
// Text in Dialog setzen
|
|
518
|
+
instance.title = this.title;
|
|
519
|
+
instance.message = this.message;
|
|
520
|
+
instance.buttons = this.buttons;
|
|
521
|
+
instance.image = this.iconService.ConfirmDefaultImage;
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
ServiceConfirm.decorators = [
|
|
525
|
+
{ type: Injectable }
|
|
526
|
+
];
|
|
527
|
+
ServiceConfirm.ctorParameters = () => [
|
|
528
|
+
{ type: ComponentFactoryResolver, decorators: [{ type: Inject, args: [ComponentFactoryResolver,] }] },
|
|
529
|
+
{ type: ApplicationRef },
|
|
530
|
+
{ type: Injector }
|
|
531
|
+
];
|
|
532
|
+
|
|
533
|
+
/**
|
|
534
|
+
* Module für Confirm Messages
|
|
535
|
+
*
|
|
536
|
+
* In NgModule der Applikation folgenden Eintrag bei Imports einfügen: ExanicBootstrap3ConfirmModule.forRoot()
|
|
537
|
+
*
|
|
538
|
+
*/
|
|
539
|
+
class SACBootstrap3ConfirmModule {
|
|
540
|
+
// #region Public Static Methods
|
|
541
|
+
static forRoot() {
|
|
542
|
+
return {
|
|
543
|
+
ngModule: SACBootstrap3ConfirmModule,
|
|
544
|
+
providers: [ServiceConfirm],
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
SACBootstrap3ConfirmModule.decorators = [
|
|
549
|
+
{ type: NgModule, args: [{
|
|
550
|
+
declarations: [SacConfirmComponent],
|
|
551
|
+
imports: [CommonModule, SACBootstrap3DialogModule, SACBootstrap3ButtonModule],
|
|
552
|
+
exports: [SacConfirmComponent],
|
|
553
|
+
entryComponents: [SacConfirmComponent],
|
|
554
|
+
},] }
|
|
555
|
+
];
|
|
556
|
+
|
|
557
|
+
/**
|
|
558
|
+
* Component for context menu
|
|
559
|
+
*/
|
|
560
|
+
class SacContextmenuComponent extends SacContextmenuCommon {
|
|
561
|
+
// #region Constructors
|
|
562
|
+
/**
|
|
563
|
+
* Constructor
|
|
564
|
+
* @param document Reference to HTML document
|
|
565
|
+
* @param ngZone Angular Zone Service
|
|
566
|
+
* @param elementRef Reference to HTML element of the current component
|
|
567
|
+
* @param renderer Render Service from Angular
|
|
568
|
+
* @param injector injector to resolve services
|
|
569
|
+
*/
|
|
570
|
+
constructor(document, ngZone, elementRef, renderer, injector) {
|
|
571
|
+
super(document, ngZone, elementRef, renderer, injector);
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
SacContextmenuComponent.decorators = [
|
|
575
|
+
{ type: Component, args: [{
|
|
576
|
+
selector: 'sac-contextmenu',
|
|
577
|
+
template: "<div\n class=\"dropdown\"\n [ngClass]=\"cssclass\">\n <ng-container [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"></ng-container>\n\n <ul\n class=\"dropdown-menu dropdown-menu-right\"\n sacContextMenuContainer\n [class.show]=\"isopen\">\n <ng-content></ng-content>\n </ul>\n</div>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacContextMenuAnchor\n class=\"btn btn-link\"\n type=\"button\"\n (click)=\"toggle()\">\n <i [class]=\"IconContextMenu\"></i>\n </button>\n</ng-template>\n"
|
|
578
|
+
},] }
|
|
579
|
+
];
|
|
580
|
+
SacContextmenuComponent.ctorParameters = () => [
|
|
581
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
582
|
+
{ type: NgZone },
|
|
583
|
+
{ type: ElementRef },
|
|
584
|
+
{ type: Renderer2 },
|
|
585
|
+
{ type: Injector }
|
|
586
|
+
];
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Anker Komponente für Context Menü. Wird zum positionieren des Context Menü in der Page benötigt.
|
|
590
|
+
*/
|
|
591
|
+
class SacContextmenuAnchorDirective extends SacContextmenuAnchorCommon {
|
|
592
|
+
// #region Constructors
|
|
593
|
+
/**
|
|
594
|
+
* Konstruktor
|
|
595
|
+
* @param elementRef HTML DOM Referenz
|
|
596
|
+
*/
|
|
597
|
+
constructor(elementRef) {
|
|
598
|
+
super(elementRef);
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
SacContextmenuAnchorDirective.decorators = [
|
|
602
|
+
{ type: Directive, args: [{
|
|
603
|
+
selector: '[sacContextMenuAnchor]',
|
|
604
|
+
providers: [
|
|
605
|
+
{
|
|
606
|
+
provide: SacContextmenuAnchorCommon,
|
|
607
|
+
useExisting: forwardRef(() => SacContextmenuAnchorDirective),
|
|
608
|
+
},
|
|
609
|
+
],
|
|
610
|
+
},] }
|
|
611
|
+
];
|
|
612
|
+
SacContextmenuAnchorDirective.ctorParameters = () => [
|
|
613
|
+
{ type: ElementRef }
|
|
614
|
+
];
|
|
615
|
+
|
|
616
|
+
/**
|
|
617
|
+
* Marker Komponente für Context Menü
|
|
618
|
+
*/
|
|
619
|
+
class SacContextmenuContainerDirective extends SacContextMenuContrainerCommon {
|
|
620
|
+
// #region Constructors
|
|
621
|
+
/**
|
|
622
|
+
* Konstruktor
|
|
623
|
+
* @param elementRef Referenz auf DOM Element
|
|
624
|
+
*/
|
|
625
|
+
constructor(elementRef) {
|
|
626
|
+
super(elementRef);
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
SacContextmenuContainerDirective.decorators = [
|
|
630
|
+
{ type: Directive, args: [{
|
|
631
|
+
selector: '[sacContextMenuContainer]',
|
|
632
|
+
providers: [
|
|
633
|
+
{
|
|
634
|
+
provide: SacContextMenuContrainerCommon,
|
|
635
|
+
useExisting: forwardRef(() => SacContextmenuContainerDirective),
|
|
636
|
+
},
|
|
637
|
+
],
|
|
638
|
+
},] }
|
|
639
|
+
];
|
|
640
|
+
SacContextmenuContainerDirective.ctorParameters = () => [
|
|
641
|
+
{ type: ElementRef }
|
|
642
|
+
];
|
|
643
|
+
|
|
644
|
+
/**
|
|
645
|
+
* Component for menu entry in context menu
|
|
646
|
+
*/
|
|
647
|
+
class SacContextmenuItemButtonComponent extends SacContextmenuItemButtonCommon {
|
|
648
|
+
// #region Constructors
|
|
649
|
+
/**
|
|
650
|
+
* Constructor
|
|
651
|
+
* @param contextmenu Instance von Context Menü
|
|
652
|
+
*/
|
|
653
|
+
constructor(el) {
|
|
654
|
+
super();
|
|
655
|
+
this.el = el;
|
|
656
|
+
}
|
|
657
|
+
// #endregion Constructors
|
|
658
|
+
// #region Public Methods
|
|
659
|
+
ngOnInit() {
|
|
660
|
+
const rootElement = this.el.nativeElement;
|
|
661
|
+
const parentElement = rootElement.parentElement;
|
|
662
|
+
while (rootElement.firstChild) {
|
|
663
|
+
parentElement.insertBefore(rootElement.firstChild, rootElement);
|
|
664
|
+
}
|
|
665
|
+
parentElement.removeChild(rootElement);
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
SacContextmenuItemButtonComponent.decorators = [
|
|
669
|
+
{ type: Component, args: [{
|
|
670
|
+
selector: 'sac-contextmenubutton',
|
|
671
|
+
template: "<li\n [class.disabled]=\"isdisabled\"\n [ngClass]=\"cssclass\">\n <a\n [id]=\"name\"\n (click)=\"callaction($event)\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\n [ngStyle]=\"{ cursor: !isdisabled ? 'pointer' : null }\"\n style=\"display: flex\">\n <div\n style=\"min-width: 25px\"\n *ngIf=\"!isicondisabled\">\n <img\n *ngIf=\"image\"\n [src]=\"image\"\n style=\"vertical-align: baseline\"\n [ngStyle]=\"{ 'margin-right': text ? '5px' : null }\" />\n <i\n *ngIf=\"icon\"\n [class]=\"iconstyle + ' ' + icon\"\n [ngStyle]=\"{ 'margin-right': text ? '5px' : null }\">\n </i>\n </div>\n <div>{{ text }}</div>\n </a>\n</li>\n",
|
|
672
|
+
providers: [
|
|
673
|
+
{
|
|
674
|
+
provide: SacContextmenuItemCommon,
|
|
675
|
+
useExisting: forwardRef(() => SacContextmenuItemButtonComponent),
|
|
676
|
+
},
|
|
677
|
+
]
|
|
678
|
+
},] }
|
|
679
|
+
];
|
|
680
|
+
SacContextmenuItemButtonComponent.ctorParameters = () => [
|
|
681
|
+
{ type: ElementRef }
|
|
682
|
+
];
|
|
683
|
+
|
|
684
|
+
/**
|
|
685
|
+
* Splitter Komponente in Context Menü
|
|
686
|
+
*/
|
|
687
|
+
class SacContextmenuItemSplitterComponent extends SacContextmenuItemCommon {
|
|
688
|
+
}
|
|
689
|
+
SacContextmenuItemSplitterComponent.decorators = [
|
|
690
|
+
{ type: Component, args: [{
|
|
691
|
+
selector: 'sac-contextmenusplitter',
|
|
692
|
+
template: "<li\n role=\"separator\"\n class=\"divider\"></li>\n",
|
|
693
|
+
providers: [
|
|
694
|
+
{
|
|
695
|
+
provide: SacContextmenuItemCommon,
|
|
696
|
+
useExisting: forwardRef(() => SacContextmenuItemSplitterComponent),
|
|
697
|
+
},
|
|
698
|
+
]
|
|
699
|
+
},] }
|
|
700
|
+
];
|
|
701
|
+
|
|
702
|
+
class SACBootstrap3ContextmenuModule {
|
|
703
|
+
}
|
|
704
|
+
SACBootstrap3ContextmenuModule.decorators = [
|
|
705
|
+
{ type: NgModule, args: [{
|
|
706
|
+
declarations: [
|
|
707
|
+
SacContextmenuComponent,
|
|
708
|
+
SacContextmenuItemButtonComponent,
|
|
709
|
+
SacContextmenuItemSplitterComponent,
|
|
710
|
+
SacContextmenuAnchorDirective,
|
|
711
|
+
SacContextmenuContainerDirective,
|
|
712
|
+
],
|
|
713
|
+
imports: [CommonModule],
|
|
714
|
+
exports: [
|
|
715
|
+
SacContextmenuComponent,
|
|
716
|
+
SacContextmenuItemButtonComponent,
|
|
717
|
+
SacContextmenuItemSplitterComponent,
|
|
718
|
+
SacContextmenuAnchorDirective,
|
|
719
|
+
],
|
|
720
|
+
},] }
|
|
721
|
+
];
|
|
722
|
+
|
|
723
|
+
// #region Classes
|
|
724
|
+
class SacDateComponent extends SacDateCommon {
|
|
725
|
+
// #region Constructors
|
|
726
|
+
/**
|
|
727
|
+
* Constructor
|
|
728
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
729
|
+
* @param injector Injector for injecting services
|
|
730
|
+
* @param elementRef Reference to html dom element
|
|
731
|
+
* @param cdRef Change Dectection Servie
|
|
732
|
+
*/
|
|
733
|
+
constructor(formLayout, injector, elementRef, cdRef) {
|
|
734
|
+
super(formLayout, injector, elementRef, cdRef);
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
SacDateComponent.decorators = [
|
|
738
|
+
{ type: Component, args: [{
|
|
739
|
+
selector: 'sac-date',
|
|
740
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 180 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\">\n </sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
|
|
741
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
742
|
+
providers: [
|
|
743
|
+
{
|
|
744
|
+
provide: NG_VALUE_ACCESSOR,
|
|
745
|
+
multi: true,
|
|
746
|
+
useExisting: forwardRef(() => SacDateComponent),
|
|
747
|
+
},
|
|
748
|
+
{
|
|
749
|
+
provide: NG_VALIDATORS,
|
|
750
|
+
multi: true,
|
|
751
|
+
useExisting: forwardRef(() => SacDateComponent),
|
|
752
|
+
},
|
|
753
|
+
]
|
|
754
|
+
},] }
|
|
755
|
+
];
|
|
756
|
+
SacDateComponent.ctorParameters = () => [
|
|
757
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
758
|
+
{ type: Injector },
|
|
759
|
+
{ type: ElementRef },
|
|
760
|
+
{ type: ChangeDetectorRef }
|
|
761
|
+
];
|
|
762
|
+
// #endregion Classes
|
|
763
|
+
// #region Variables
|
|
764
|
+
const moment = moment_;
|
|
765
765
|
// #endregion Variables
|
|
766
766
|
|
|
767
|
-
class SacDateSelectorComponent extends SacDateSelectorCommon {
|
|
768
|
-
}
|
|
769
|
-
SacDateSelectorComponent.decorators = [
|
|
770
|
-
{ type: Component, args: [{
|
|
771
|
-
selector: 'sac-dateselector',
|
|
772
|
-
template: "<div class=\"calendar-selector\" style=\"min-width: 265px\">\
|
|
773
|
-
},] }
|
|
774
|
-
];
|
|
775
|
-
|
|
776
|
-
class SacDateTimeComponent extends SacDateTimeCommon {
|
|
777
|
-
// #region Constructors
|
|
778
|
-
/**
|
|
779
|
-
* Constructor
|
|
780
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
781
|
-
* @param injector Injector for injecting services
|
|
782
|
-
* @param elementRef Reference to html dom element
|
|
783
|
-
* @param cdRef Change Dectection Servie
|
|
784
|
-
*/
|
|
785
|
-
constructor(formLayout, injector, elementRef, cdRef) {
|
|
786
|
-
super(formLayout, injector, elementRef, cdRef);
|
|
787
|
-
}
|
|
788
|
-
}
|
|
789
|
-
SacDateTimeComponent.decorators = [
|
|
790
|
-
{ type: Component, args: [{
|
|
791
|
-
selector: 'sac-datetime',
|
|
792
|
-
template: "<div\
|
|
793
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
794
|
-
providers: [
|
|
795
|
-
{
|
|
796
|
-
provide: NG_VALUE_ACCESSOR,
|
|
797
|
-
multi: true,
|
|
798
|
-
useExisting: forwardRef(() => SacDateTimeComponent),
|
|
799
|
-
},
|
|
800
|
-
{
|
|
801
|
-
provide: NG_VALIDATORS,
|
|
802
|
-
multi: true,
|
|
803
|
-
useExisting: forwardRef(() => SacDateTimeComponent),
|
|
804
|
-
},
|
|
805
|
-
]
|
|
806
|
-
},] }
|
|
807
|
-
];
|
|
808
|
-
SacDateTimeComponent.ctorParameters = () => [
|
|
809
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
810
|
-
{ type: Injector },
|
|
811
|
-
{ type: ElementRef },
|
|
812
|
-
{ type: ChangeDetectorRef }
|
|
813
|
-
];
|
|
814
|
-
|
|
815
|
-
class SacTimeComponent extends SacTimeCommon {
|
|
816
|
-
// #region Constructors
|
|
817
|
-
/**
|
|
818
|
-
* Constructor
|
|
819
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
820
|
-
* @param injector Injector for injecting services
|
|
821
|
-
* @param elementRef Reference to html dom element
|
|
822
|
-
* @param cdRef Change Dectection Servie
|
|
823
|
-
*/
|
|
824
|
-
constructor(formLayout, injector, elementRef, cdRef) {
|
|
825
|
-
super(formLayout, injector, elementRef, cdRef);
|
|
826
|
-
}
|
|
827
|
-
}
|
|
828
|
-
SacTimeComponent.decorators = [
|
|
829
|
-
{ type: Component, args: [{
|
|
830
|
-
selector: 'sac-time',
|
|
831
|
-
template: "<div\
|
|
832
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
833
|
-
providers: [
|
|
834
|
-
{
|
|
835
|
-
provide: NG_VALUE_ACCESSOR,
|
|
836
|
-
multi: true,
|
|
837
|
-
useExisting: forwardRef(() => SacTimeComponent),
|
|
838
|
-
},
|
|
839
|
-
{
|
|
840
|
-
provide: NG_VALIDATORS,
|
|
841
|
-
multi: true,
|
|
842
|
-
useExisting: forwardRef(() => SacTimeComponent),
|
|
843
|
-
},
|
|
844
|
-
]
|
|
845
|
-
},] }
|
|
846
|
-
];
|
|
847
|
-
SacTimeComponent.ctorParameters = () => [
|
|
848
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
849
|
-
{ type: Injector },
|
|
850
|
-
{ type: ElementRef },
|
|
851
|
-
{ type: ChangeDetectorRef }
|
|
852
|
-
];
|
|
853
|
-
|
|
854
|
-
class SACBootstrap3DateTimeModule {
|
|
855
|
-
}
|
|
856
|
-
SACBootstrap3DateTimeModule.decorators = [
|
|
857
|
-
{ type: NgModule, args: [{
|
|
858
|
-
declarations: [
|
|
859
|
-
SacDateComponent,
|
|
860
|
-
SacDateTimeComponent,
|
|
861
|
-
SacTimeComponent,
|
|
862
|
-
SacDateSelectorComponent,
|
|
863
|
-
],
|
|
864
|
-
imports: [
|
|
865
|
-
CommonModule,
|
|
866
|
-
IMaskModule,
|
|
867
|
-
SACBootstrap3LayoutModule,
|
|
868
|
-
SACBootstrap3TooltipModule,
|
|
869
|
-
],
|
|
870
|
-
exports: [
|
|
871
|
-
SacDateComponent,
|
|
872
|
-
SacDateTimeComponent,
|
|
873
|
-
SacTimeComponent,
|
|
874
|
-
SacDateSelectorComponent,
|
|
875
|
-
],
|
|
876
|
-
},] }
|
|
877
|
-
];
|
|
878
|
-
|
|
879
|
-
class SacGridComponent extends SacGridCommon {
|
|
880
|
-
constructor() {
|
|
881
|
-
super(...arguments);
|
|
882
|
-
this.ellipsis = false;
|
|
883
|
-
}
|
|
884
|
-
}
|
|
885
|
-
SacGridComponent.decorators = [
|
|
886
|
-
{ type: Component, args: [{
|
|
887
|
-
selector: 'sac-grid',
|
|
888
|
-
template: "<table class=\"table table-striped table-condensed table-hover\" id=\"{{name}}\">\
|
|
889
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
890
|
-
providers: [
|
|
891
|
-
{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
|
|
892
|
-
{ provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacGridComponent) }
|
|
893
|
-
]
|
|
894
|
-
},] }
|
|
895
|
-
];
|
|
896
|
-
SacGridComponent.propDecorators = {
|
|
897
|
-
template: [{ type: ContentChild, args: [TemplateRef, { static: true },] }]
|
|
767
|
+
class SacDateSelectorComponent extends SacDateSelectorCommon {
|
|
768
|
+
}
|
|
769
|
+
SacDateSelectorComponent.decorators = [
|
|
770
|
+
{ type: Component, args: [{
|
|
771
|
+
selector: 'sac-dateselector',
|
|
772
|
+
template: "<div class=\"calendar-selector\" style=\"min-width: 265px\">\n <table class=\"table-condensed\" style=\"width: 100%\" *ngIf=\"dateselection\">\n <thead>\n <tr>\n <th class=\"prev text-left\" (click)=\"monthBack()\">\n <i [class]=\"iconMonthPrev\"></i>\n </th>\n <th colspan=\"5\" class=\"switch text-center\">{{month+1}}/{{year}}</th>\n <th class=\"next text-right\" (click)=\"monthNext()\">\n <i [class]=\"iconMonthNext\"></i>\n </th>\n </tr>\n <tr>\n <th class=\"dow text-center\">Mo</th>\n <th class=\"dow text-center\">Di</th>\n <th class=\"dow text-center\">Mi</th>\n <th class=\"dow text-center\">Do</th>\n <th class=\"dow text-center\">Fr</th>\n <th class=\"dow text-center\">Sa</th>\n <th class=\"dow text-center\">So</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let week of dates; let i=index\">\n <tr>\n <td\n class=\"text-center\"\n *ngFor=\"let item of week\"\n [ngStyle]=\"{'cursor': item.isenabled ? 'pointer' : null}\"\n [ngClass]=\"{'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled}\"\n (click)=\"selectDate(item)\"\n >\n {{ item.displaytext }}\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div class=\"container-fluid\" *ngIf=\"timeselection\" style=\"margin-top: 10px\">\n <div class=\"row\">\n <div class=\"col-md-6\" style=\"padding-right: 20px\">\n <div class=\"form-group\">\n <label>Stunde</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getHours()\"\n (input)=\"setHours($event.target.value)\"\n min=\"0\"\n max=\"23\"\n />\n </div>\n </div>\n <div class=\"col-md-6\" style=\"padding-left: 20px\">\n <div class=\"form-group\">\n <label>Minute</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getMinutes()\"\n (input)=\"setMinutes($event.target.value)\"\n min=\"0\"\n max=\"59\"\n />\n </div>\n </div>\n </div>\n </div>\n <div class=\"row\" style=\"margin-top: 10px\">\n <div class=\"col-md-4 text-left\">\n <button type=\"button\" class=\"btn btn-default\" (click)=\"setToday()\">\n Heute\n </button>\n </div>\n <div class=\"col-md-8 text-right\">\n <button type=\"button\" class=\"btn btn-default\" (click)=\"resetSelection()\">\n Reset\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n style=\"margin-left: 10px\"\n (click)=\"applySelection()\"\n >\n Apply\n </button>\n </div>\n </div>\n</div>\n"
|
|
773
|
+
},] }
|
|
774
|
+
];
|
|
775
|
+
|
|
776
|
+
class SacDateTimeComponent extends SacDateTimeCommon {
|
|
777
|
+
// #region Constructors
|
|
778
|
+
/**
|
|
779
|
+
* Constructor
|
|
780
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
781
|
+
* @param injector Injector for injecting services
|
|
782
|
+
* @param elementRef Reference to html dom element
|
|
783
|
+
* @param cdRef Change Dectection Servie
|
|
784
|
+
*/
|
|
785
|
+
constructor(formLayout, injector, elementRef, cdRef) {
|
|
786
|
+
super(formLayout, injector, elementRef, cdRef);
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
SacDateTimeComponent.decorators = [
|
|
790
|
+
{ type: Component, args: [{
|
|
791
|
+
selector: 'sac-datetime',
|
|
792
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 160 : componentHeight === ControlHeight.Large ? 230 : 180\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
|
|
793
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
794
|
+
providers: [
|
|
795
|
+
{
|
|
796
|
+
provide: NG_VALUE_ACCESSOR,
|
|
797
|
+
multi: true,
|
|
798
|
+
useExisting: forwardRef(() => SacDateTimeComponent),
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
provide: NG_VALIDATORS,
|
|
802
|
+
multi: true,
|
|
803
|
+
useExisting: forwardRef(() => SacDateTimeComponent),
|
|
804
|
+
},
|
|
805
|
+
]
|
|
806
|
+
},] }
|
|
807
|
+
];
|
|
808
|
+
SacDateTimeComponent.ctorParameters = () => [
|
|
809
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
810
|
+
{ type: Injector },
|
|
811
|
+
{ type: ElementRef },
|
|
812
|
+
{ type: ChangeDetectorRef }
|
|
813
|
+
];
|
|
814
|
+
|
|
815
|
+
class SacTimeComponent extends SacTimeCommon {
|
|
816
|
+
// #region Constructors
|
|
817
|
+
/**
|
|
818
|
+
* Constructor
|
|
819
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
820
|
+
* @param injector Injector for injecting services
|
|
821
|
+
* @param elementRef Reference to html dom element
|
|
822
|
+
* @param cdRef Change Dectection Servie
|
|
823
|
+
*/
|
|
824
|
+
constructor(formLayout, injector, elementRef, cdRef) {
|
|
825
|
+
super(formLayout, injector, elementRef, cdRef);
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
SacTimeComponent.decorators = [
|
|
829
|
+
{ type: Component, args: [{
|
|
830
|
+
selector: 'sac-time',
|
|
831
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 160 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control time-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showTimeSelector()\"\n maxlength=\"6\"\n size=\"6\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showTimeSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"timeselect($event)\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
|
|
832
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
833
|
+
providers: [
|
|
834
|
+
{
|
|
835
|
+
provide: NG_VALUE_ACCESSOR,
|
|
836
|
+
multi: true,
|
|
837
|
+
useExisting: forwardRef(() => SacTimeComponent),
|
|
838
|
+
},
|
|
839
|
+
{
|
|
840
|
+
provide: NG_VALIDATORS,
|
|
841
|
+
multi: true,
|
|
842
|
+
useExisting: forwardRef(() => SacTimeComponent),
|
|
843
|
+
},
|
|
844
|
+
]
|
|
845
|
+
},] }
|
|
846
|
+
];
|
|
847
|
+
SacTimeComponent.ctorParameters = () => [
|
|
848
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
849
|
+
{ type: Injector },
|
|
850
|
+
{ type: ElementRef },
|
|
851
|
+
{ type: ChangeDetectorRef }
|
|
852
|
+
];
|
|
853
|
+
|
|
854
|
+
class SACBootstrap3DateTimeModule {
|
|
855
|
+
}
|
|
856
|
+
SACBootstrap3DateTimeModule.decorators = [
|
|
857
|
+
{ type: NgModule, args: [{
|
|
858
|
+
declarations: [
|
|
859
|
+
SacDateComponent,
|
|
860
|
+
SacDateTimeComponent,
|
|
861
|
+
SacTimeComponent,
|
|
862
|
+
SacDateSelectorComponent,
|
|
863
|
+
],
|
|
864
|
+
imports: [
|
|
865
|
+
CommonModule,
|
|
866
|
+
IMaskModule,
|
|
867
|
+
SACBootstrap3LayoutModule,
|
|
868
|
+
SACBootstrap3TooltipModule,
|
|
869
|
+
],
|
|
870
|
+
exports: [
|
|
871
|
+
SacDateComponent,
|
|
872
|
+
SacDateTimeComponent,
|
|
873
|
+
SacTimeComponent,
|
|
874
|
+
SacDateSelectorComponent,
|
|
875
|
+
],
|
|
876
|
+
},] }
|
|
877
|
+
];
|
|
878
|
+
|
|
879
|
+
class SacGridComponent extends SacGridCommon {
|
|
880
|
+
constructor() {
|
|
881
|
+
super(...arguments);
|
|
882
|
+
this.ellipsis = false;
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
SacGridComponent.decorators = [
|
|
886
|
+
{ type: Component, args: [{
|
|
887
|
+
selector: 'sac-grid',
|
|
888
|
+
template: "<table class=\"table table-striped table-condensed table-hover\" id=\"{{name}}\">\n <thead>\n <tr>\n <ng-container\n *ngTemplateOutlet=\"template; context { row: {}, type: 'header'}\"\n >\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of value; let i=index\">\n <tr>\n <ng-container\n *ngTemplateOutlet=\"template; context { row: item, type: 'body'}\"\n >\n </ng-container>\n </tr>\n </ng-container>\n <tr\n *ngIf=\"value === undefined || value === null || value.length === 0\"\n data-e2e=\"emptyrow\"\n >\n <td [attr.colspan]=\"ColumnCount\">{{emptytext}}</td>\n </tr>\n </tbody>\n <tfoot *ngIf=\"pagerdata\">\n <tr>\n <td [attr.colspan]=\"ColumnCount\">\n <div class=\"container-fluid\">\n <sac-paging\n name=\"{{name}}Paging\"\n (paging)=\"pageChange($event)\"\n [pagerdata]=\"pagerdata\"\n [pagingtext]=\"pagingtext\"\n [pagesizetext]=\"pagesizetext\"\n ></sac-paging>\n </div>\n </td>\n </tr>\n </tfoot>\n</table>\n",
|
|
889
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
890
|
+
providers: [
|
|
891
|
+
{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
|
|
892
|
+
{ provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacGridComponent) }
|
|
893
|
+
]
|
|
894
|
+
},] }
|
|
895
|
+
];
|
|
896
|
+
SacGridComponent.propDecorators = {
|
|
897
|
+
template: [{ type: ContentChild, args: [TemplateRef, { static: true },] }]
|
|
898
898
|
};
|
|
899
899
|
|
|
900
|
-
/**
|
|
901
|
-
* Grid Action Button
|
|
902
|
-
*/
|
|
903
|
-
class SacGridButtonComponent extends SacGridButtonCommon {
|
|
904
|
-
// #region Public Methods
|
|
905
|
-
/**
|
|
906
|
-
* Returns the icon for the button
|
|
907
|
-
*/
|
|
908
|
-
getIconClass() {
|
|
909
|
-
let iconset = this.iconstyle;
|
|
910
|
-
let iconcss = this.icon;
|
|
911
|
-
if (iconset === '') {
|
|
912
|
-
switch (this.icon) {
|
|
913
|
-
case 'edit':
|
|
914
|
-
iconset = 'sprite';
|
|
915
|
-
iconcss = 'icon-sprite-base-main_edit';
|
|
916
|
-
break;
|
|
917
|
-
case 'delete':
|
|
918
|
-
iconset = 'sprite';
|
|
919
|
-
iconcss = 'icon-sprite-base-main_delete';
|
|
920
|
-
break;
|
|
921
|
-
}
|
|
922
|
-
}
|
|
923
|
-
if (this._isdisabledvalue) {
|
|
924
|
-
iconcss += '_disabled';
|
|
925
|
-
}
|
|
926
|
-
const result = iconset + ' ' + iconcss;
|
|
927
|
-
return result.trim();
|
|
928
|
-
}
|
|
929
|
-
}
|
|
930
|
-
SacGridButtonComponent.decorators = [
|
|
931
|
-
{ type: Component, args: [{
|
|
932
|
-
selector: 'sac-gridbutton',
|
|
933
|
-
template: "<a (click)=\"callaction()\" style=\"padding-right: 5px;\" [class.disabled]=\"isdisabled\" [attr.disabled]=\"isdisabled ? 'disabled' : null\"><span class=\"{{getIconClass()}}\"></span></a>\
|
|
934
|
-
},] }
|
|
935
|
-
];
|
|
936
|
-
|
|
937
|
-
class SacGridColumnComponent extends SacGridColumnCommon {
|
|
938
|
-
constructor(grid, injector, el) {
|
|
939
|
-
super(grid, injector, el);
|
|
940
|
-
}
|
|
941
|
-
}
|
|
942
|
-
SacGridColumnComponent.decorators = [
|
|
943
|
-
{ type: Component, args: [{
|
|
944
|
-
selector: 'sac-gridcolumn',
|
|
945
|
-
template: "<th\
|
|
946
|
-
providers: [
|
|
947
|
-
{
|
|
948
|
-
provide: SacGridColumnBaseCommon,
|
|
949
|
-
useExisting: forwardRef(() => SacGridColumnComponent),
|
|
950
|
-
},
|
|
951
|
-
]
|
|
952
|
-
},] }
|
|
953
|
-
];
|
|
954
|
-
SacGridColumnComponent.ctorParameters = () => [
|
|
955
|
-
{ type: SacGridComponent },
|
|
956
|
-
{ type: Injector },
|
|
957
|
-
{ type: ElementRef }
|
|
958
|
-
];
|
|
959
|
-
|
|
960
|
-
class SacGridColumnActionComponent extends SacGridColumnActionCommon {
|
|
961
|
-
constructor(grid, injector, el) {
|
|
962
|
-
super(grid, injector, el);
|
|
963
|
-
this.width = '52px';
|
|
964
|
-
}
|
|
965
|
-
}
|
|
966
|
-
SacGridColumnActionComponent.decorators = [
|
|
967
|
-
{ type: Component, args: [{
|
|
968
|
-
selector: 'sac-gridcolumnaction',
|
|
969
|
-
template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\
|
|
970
|
-
providers: [
|
|
971
|
-
{
|
|
972
|
-
provide: SacGridColumnBaseCommon,
|
|
973
|
-
useExisting: forwardRef(() => SacGridColumnActionComponent),
|
|
974
|
-
},
|
|
975
|
-
]
|
|
976
|
-
},] }
|
|
977
|
-
];
|
|
978
|
-
SacGridColumnActionComponent.ctorParameters = () => [
|
|
979
|
-
{ type: SacGridComponent },
|
|
980
|
-
{ type: Injector },
|
|
981
|
-
{ type: ElementRef }
|
|
982
|
-
];
|
|
983
|
-
|
|
984
|
-
class SacGridImageComponent extends SacGridImageCommon {
|
|
985
|
-
getIconClass() {
|
|
986
|
-
switch (this.iconstyle) {
|
|
987
|
-
case 'edit':
|
|
988
|
-
return 'sprite icon-sprite-base-main_edit';
|
|
989
|
-
case 'delete':
|
|
990
|
-
return 'sprite icon-sprite-base-main_delete';
|
|
991
|
-
default:
|
|
992
|
-
return this.iconstyle;
|
|
993
|
-
}
|
|
994
|
-
}
|
|
995
|
-
}
|
|
996
|
-
SacGridImageComponent.decorators = [
|
|
997
|
-
{ type: Component, args: [{
|
|
998
|
-
selector: 'sac-gridimage',
|
|
999
|
-
template: "<span style=\"padding-right: 5px;\"><span class=\"{{getIconClass()}}\"></span></span>\
|
|
1000
|
-
},] }
|
|
1001
|
-
];
|
|
1002
|
-
|
|
1003
|
-
class SacPagingComponent extends SacPagingCommon {
|
|
1004
|
-
/**
|
|
1005
|
-
* Konstruktor
|
|
1006
|
-
*/
|
|
1007
|
-
constructor(injector) { super(injector); }
|
|
1008
|
-
}
|
|
1009
|
-
SacPagingComponent.decorators = [
|
|
1010
|
-
{ type: Component, args: [{
|
|
1011
|
-
selector: 'sac-paging',
|
|
1012
|
-
template: "<div class=\"row\">\
|
|
1013
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1014
|
-
providers: [
|
|
1015
|
-
{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },
|
|
1016
|
-
{ provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacPagingComponent) }
|
|
1017
|
-
]
|
|
1018
|
-
},] }
|
|
1019
|
-
];
|
|
1020
|
-
SacPagingComponent.ctorParameters = () => [
|
|
1021
|
-
{ type: Injector }
|
|
1022
|
-
];
|
|
1023
|
-
|
|
1024
|
-
class SACBootstrap3GridModule {
|
|
1025
|
-
}
|
|
1026
|
-
SACBootstrap3GridModule.decorators = [
|
|
1027
|
-
{ type: NgModule, args: [{
|
|
1028
|
-
declarations: [
|
|
1029
|
-
SacGridComponent,
|
|
1030
|
-
SacGridColumnComponent,
|
|
1031
|
-
SacGridColumnActionComponent,
|
|
1032
|
-
SacPagingComponent,
|
|
1033
|
-
SacGridButtonComponent,
|
|
1034
|
-
SacGridImageComponent,
|
|
1035
|
-
],
|
|
1036
|
-
imports: [CommonModule, FormsModule],
|
|
1037
|
-
exports: [
|
|
1038
|
-
SacGridComponent,
|
|
1039
|
-
SacGridColumnComponent,
|
|
1040
|
-
SacGridColumnActionComponent,
|
|
1041
|
-
SacPagingComponent,
|
|
1042
|
-
SacGridButtonComponent,
|
|
1043
|
-
SacGridImageComponent,
|
|
1044
|
-
],
|
|
1045
|
-
},] }
|
|
1046
|
-
];
|
|
1047
|
-
|
|
1048
|
-
class SacInputComponent extends SacInputCommon {
|
|
1049
|
-
// #region Constructors
|
|
1050
|
-
/**
|
|
1051
|
-
* Constructor
|
|
1052
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1053
|
-
* @param injector Injector for injecting services
|
|
1054
|
-
*/
|
|
1055
|
-
constructor(formLayout, injector) {
|
|
1056
|
-
super(formLayout, injector);
|
|
1057
|
-
}
|
|
1058
|
-
}
|
|
1059
|
-
SacInputComponent.decorators = [
|
|
1060
|
-
{ type: Component, args: [{
|
|
1061
|
-
selector: 'sac-input',
|
|
1062
|
-
template: "<div\
|
|
1063
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1064
|
-
providers: [
|
|
1065
|
-
{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputComponent },
|
|
1066
|
-
{
|
|
1067
|
-
provide: NG_VALIDATORS,
|
|
1068
|
-
multi: true,
|
|
1069
|
-
useExisting: forwardRef(() => SacInputComponent),
|
|
1070
|
-
},
|
|
1071
|
-
]
|
|
1072
|
-
},] }
|
|
1073
|
-
];
|
|
1074
|
-
SacInputComponent.ctorParameters = () => [
|
|
1075
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1076
|
-
{ type: Injector }
|
|
1077
|
-
];
|
|
1078
|
-
|
|
1079
|
-
/**
|
|
1080
|
-
* Komponente für TextArea
|
|
1081
|
-
*
|
|
1082
|
-
* @example
|
|
1083
|
-
*
|
|
1084
|
-
* <ngInputArea name="ngInputArea" label="My Label" placeholder='i am input area' [isrequired]="true" customCssClass="myClass1 myClass3"></ngInputArea>
|
|
1085
|
-
*
|
|
1086
|
-
* @example
|
|
1087
|
-
*
|
|
1088
|
-
* <ngInputArea name="ngInputArea" label="My Label" height="150px" placeholder='i am input area' [islanguagespecific]="true">
|
|
1089
|
-
*
|
|
1090
|
-
*/
|
|
1091
|
-
class SacInputAreaComponent extends SacInputAreaCommon {
|
|
1092
|
-
// #region Constructors
|
|
1093
|
-
/**
|
|
1094
|
-
* Constructor
|
|
1095
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1096
|
-
* @param injector Injector for injecting services
|
|
1097
|
-
*/
|
|
1098
|
-
constructor(formLayout, injector) {
|
|
1099
|
-
super(formLayout, injector);
|
|
1100
|
-
}
|
|
1101
|
-
}
|
|
1102
|
-
SacInputAreaComponent.decorators = [
|
|
1103
|
-
{ type: Component, args: [{
|
|
1104
|
-
selector: 'sac-inputarea',
|
|
1105
|
-
template: "<div\
|
|
1106
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1107
|
-
providers: [
|
|
1108
|
-
{
|
|
1109
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1110
|
-
multi: true,
|
|
1111
|
-
useExisting: SacInputAreaComponent,
|
|
1112
|
-
},
|
|
1113
|
-
{
|
|
1114
|
-
provide: NG_VALIDATORS,
|
|
1115
|
-
multi: true,
|
|
1116
|
-
useExisting: forwardRef(() => SacInputAreaComponent),
|
|
1117
|
-
},
|
|
1118
|
-
]
|
|
1119
|
-
},] }
|
|
1120
|
-
];
|
|
1121
|
-
SacInputAreaComponent.ctorParameters = () => [
|
|
1122
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1123
|
-
{ type: Injector }
|
|
1124
|
-
];
|
|
1125
|
-
|
|
1126
|
-
class SacInputCurrencyComponent extends SacInputCurrencyCommon {
|
|
1127
|
-
// #region Constructors
|
|
1128
|
-
/**
|
|
1129
|
-
* Constructor
|
|
1130
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1131
|
-
* @param injector Injector for injecting services
|
|
1132
|
-
*/
|
|
1133
|
-
constructor(formLayout, injector) {
|
|
1134
|
-
super(formLayout, injector);
|
|
1135
|
-
}
|
|
1136
|
-
}
|
|
1137
|
-
SacInputCurrencyComponent.decorators = [
|
|
1138
|
-
{ type: Component, args: [{
|
|
1139
|
-
selector: 'sac-inputcurrency',
|
|
1140
|
-
template: "<div\
|
|
1141
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1142
|
-
providers: [
|
|
1143
|
-
{
|
|
1144
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1145
|
-
multi: true,
|
|
1146
|
-
useExisting: SacInputCurrencyComponent,
|
|
1147
|
-
},
|
|
1148
|
-
{
|
|
1149
|
-
provide: NG_VALIDATORS,
|
|
1150
|
-
multi: true,
|
|
1151
|
-
useExisting: forwardRef(() => SacInputCurrencyComponent),
|
|
1152
|
-
},
|
|
1153
|
-
]
|
|
1154
|
-
},] }
|
|
1155
|
-
];
|
|
1156
|
-
SacInputCurrencyComponent.ctorParameters = () => [
|
|
1157
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1158
|
-
{ type: Injector }
|
|
1159
|
-
];
|
|
1160
|
-
|
|
1161
|
-
class SacInputDecimalComponent extends SacInputDecimalCommon {
|
|
1162
|
-
// #region Constructors
|
|
1163
|
-
/**
|
|
1164
|
-
* Constructor
|
|
1165
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1166
|
-
* @param injector Injector for injecting services
|
|
1167
|
-
*/
|
|
1168
|
-
constructor(formLayout, injector) {
|
|
1169
|
-
super(formLayout, injector);
|
|
1170
|
-
}
|
|
1171
|
-
}
|
|
1172
|
-
SacInputDecimalComponent.decorators = [
|
|
1173
|
-
{ type: Component, args: [{
|
|
1174
|
-
selector: 'sac-inputdecimal',
|
|
1175
|
-
template: "<div\
|
|
1176
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1177
|
-
providers: [
|
|
1178
|
-
{
|
|
1179
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1180
|
-
multi: true,
|
|
1181
|
-
useExisting: SacInputDecimalComponent,
|
|
1182
|
-
},
|
|
1183
|
-
{
|
|
1184
|
-
provide: NG_VALIDATORS,
|
|
1185
|
-
multi: true,
|
|
1186
|
-
useExisting: forwardRef(() => SacInputDecimalComponent),
|
|
1187
|
-
},
|
|
1188
|
-
]
|
|
1189
|
-
},] }
|
|
1190
|
-
];
|
|
1191
|
-
SacInputDecimalComponent.ctorParameters = () => [
|
|
1192
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1193
|
-
{ type: Injector }
|
|
1194
|
-
];
|
|
1195
|
-
|
|
1196
|
-
class SacInputEmailComponent extends SacInputEmailCommon {
|
|
1197
|
-
// #region Constructors
|
|
1198
|
-
/**
|
|
1199
|
-
* Constructor
|
|
1200
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1201
|
-
* @param injector Injector for injecting services
|
|
1202
|
-
*/
|
|
1203
|
-
constructor(formLayout, injector) {
|
|
1204
|
-
super(formLayout, injector);
|
|
1205
|
-
}
|
|
1206
|
-
}
|
|
1207
|
-
SacInputEmailComponent.decorators = [
|
|
1208
|
-
{ type: Component, args: [{
|
|
1209
|
-
selector: 'sac-inputemail',
|
|
1210
|
-
template: "<div\
|
|
1211
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1212
|
-
providers: [
|
|
1213
|
-
{
|
|
1214
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1215
|
-
multi: true,
|
|
1216
|
-
useExisting: SacInputEmailComponent,
|
|
1217
|
-
},
|
|
1218
|
-
{
|
|
1219
|
-
provide: NG_VALIDATORS,
|
|
1220
|
-
multi: true,
|
|
1221
|
-
useExisting: forwardRef(() => SacInputEmailComponent),
|
|
1222
|
-
},
|
|
1223
|
-
]
|
|
1224
|
-
},] }
|
|
1225
|
-
];
|
|
1226
|
-
SacInputEmailComponent.ctorParameters = () => [
|
|
1227
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1228
|
-
{ type: Injector }
|
|
1229
|
-
];
|
|
1230
|
-
|
|
1231
|
-
class SacInputIntegerComponent extends SacInputIntegerCommon {
|
|
1232
|
-
// #region Constructors
|
|
1233
|
-
/**
|
|
1234
|
-
* Constructor
|
|
1235
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1236
|
-
* @param injector Injector for injecting services
|
|
1237
|
-
*/
|
|
1238
|
-
constructor(formLayout, injector) {
|
|
1239
|
-
super(formLayout, injector);
|
|
1240
|
-
}
|
|
1241
|
-
}
|
|
1242
|
-
SacInputIntegerComponent.decorators = [
|
|
1243
|
-
{ type: Component, args: [{
|
|
1244
|
-
selector: 'sac-inputinteger',
|
|
1245
|
-
template: "<div\
|
|
1246
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1247
|
-
providers: [
|
|
1248
|
-
{
|
|
1249
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1250
|
-
multi: true,
|
|
1251
|
-
useExisting: SacInputIntegerComponent,
|
|
1252
|
-
},
|
|
1253
|
-
{
|
|
1254
|
-
provide: NG_VALIDATORS,
|
|
1255
|
-
multi: true,
|
|
1256
|
-
useExisting: forwardRef(() => SacInputIntegerComponent),
|
|
1257
|
-
},
|
|
1258
|
-
]
|
|
1259
|
-
},] }
|
|
1260
|
-
];
|
|
1261
|
-
SacInputIntegerComponent.ctorParameters = () => [
|
|
1262
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1263
|
-
{ type: Injector }
|
|
1264
|
-
];
|
|
1265
|
-
|
|
1266
|
-
class SacInputPasswordComponent extends SacInputPasswordCommon {
|
|
1267
|
-
// #region Constructors
|
|
1268
|
-
/**
|
|
1269
|
-
* Constructor
|
|
1270
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1271
|
-
* @param injector Injector for injecting services
|
|
1272
|
-
*/
|
|
1273
|
-
constructor(formLayout, injector) {
|
|
1274
|
-
super(formLayout, injector);
|
|
1275
|
-
}
|
|
1276
|
-
}
|
|
1277
|
-
SacInputPasswordComponent.decorators = [
|
|
1278
|
-
{ type: Component, args: [{
|
|
1279
|
-
selector: 'sac-inputpassword',
|
|
1280
|
-
template: "<div\
|
|
1281
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1282
|
-
providers: [
|
|
1283
|
-
{
|
|
1284
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1285
|
-
multi: true,
|
|
1286
|
-
useExisting: SacInputPasswordComponent,
|
|
1287
|
-
},
|
|
1288
|
-
{
|
|
1289
|
-
provide: NG_VALIDATORS,
|
|
1290
|
-
multi: true,
|
|
1291
|
-
useExisting: forwardRef(() => SacInputPasswordComponent),
|
|
1292
|
-
},
|
|
1293
|
-
]
|
|
1294
|
-
},] }
|
|
1295
|
-
];
|
|
1296
|
-
SacInputPasswordComponent.ctorParameters = () => [
|
|
1297
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1298
|
-
{ type: Injector }
|
|
1299
|
-
];
|
|
1300
|
-
|
|
1301
|
-
class SacInputSearchComponent extends SacInputSearchCommon {
|
|
1302
|
-
// #region Constructors
|
|
1303
|
-
/**
|
|
1304
|
-
* Constructor
|
|
1305
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1306
|
-
* @param injector Injector for injecting services
|
|
1307
|
-
*/
|
|
1308
|
-
constructor(formLayout, injector) {
|
|
1309
|
-
super(formLayout, injector);
|
|
1310
|
-
}
|
|
1311
|
-
}
|
|
1312
|
-
SacInputSearchComponent.decorators = [
|
|
1313
|
-
{ type: Component, args: [{
|
|
1314
|
-
selector: 'sac-inputsearch',
|
|
1315
|
-
template: "<div\
|
|
1316
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1317
|
-
providers: [
|
|
1318
|
-
{
|
|
1319
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1320
|
-
multi: true,
|
|
1321
|
-
useExisting: SacInputSearchComponent,
|
|
1322
|
-
},
|
|
1323
|
-
{
|
|
1324
|
-
provide: NG_VALIDATORS,
|
|
1325
|
-
multi: true,
|
|
1326
|
-
useExisting: forwardRef(() => SacInputSearchComponent),
|
|
1327
|
-
},
|
|
1328
|
-
]
|
|
1329
|
-
},] }
|
|
1330
|
-
];
|
|
1331
|
-
SacInputSearchComponent.ctorParameters = () => [
|
|
1332
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1333
|
-
{ type: Injector }
|
|
1334
|
-
];
|
|
1335
|
-
|
|
1336
|
-
class SACBootstrap3InputModule {
|
|
1337
|
-
}
|
|
1338
|
-
SACBootstrap3InputModule.decorators = [
|
|
1339
|
-
{ type: NgModule, args: [{
|
|
1340
|
-
declarations: [
|
|
1341
|
-
SacInputComponent,
|
|
1342
|
-
SacInputAreaComponent,
|
|
1343
|
-
SacInputCurrencyComponent,
|
|
1344
|
-
SacInputDecimalComponent,
|
|
1345
|
-
SacInputEmailComponent,
|
|
1346
|
-
SacInputIntegerComponent,
|
|
1347
|
-
SacInputPasswordComponent,
|
|
1348
|
-
SacInputSearchComponent,
|
|
1349
|
-
],
|
|
1350
|
-
imports: [
|
|
1351
|
-
CommonModule,
|
|
1352
|
-
CommonModule,
|
|
1353
|
-
FormsModule,
|
|
1354
|
-
SACBootstrap3TooltipModule,
|
|
1355
|
-
SACBootstrap3LayoutModule,
|
|
1356
|
-
],
|
|
1357
|
-
exports: [
|
|
1358
|
-
SacInputComponent,
|
|
1359
|
-
SacInputAreaComponent,
|
|
1360
|
-
SacInputCurrencyComponent,
|
|
1361
|
-
SacInputDecimalComponent,
|
|
1362
|
-
SacInputEmailComponent,
|
|
1363
|
-
SacInputIntegerComponent,
|
|
1364
|
-
SacInputPasswordComponent,
|
|
1365
|
-
SacInputSearchComponent,
|
|
1366
|
-
],
|
|
1367
|
-
},] }
|
|
1368
|
-
];
|
|
1369
|
-
|
|
1370
|
-
// #region Classes
|
|
1371
|
-
class SacDropdownComponent extends SacDropdownCommon {
|
|
1372
|
-
// #region Constructors
|
|
1373
|
-
/**
|
|
1374
|
-
* Constructor
|
|
1375
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1376
|
-
* @param injector Injector for injecting services
|
|
1377
|
-
* @param renderer Angular rendering engine
|
|
1378
|
-
* @param elementRef Reference to html dom element
|
|
1379
|
-
*/
|
|
1380
|
-
constructor(formLayout, injector, renderer, elementRef) {
|
|
1381
|
-
super(formLayout, injector, renderer, elementRef);
|
|
1382
|
-
}
|
|
1383
|
-
}
|
|
1384
|
-
SacDropdownComponent.decorators = [
|
|
1385
|
-
{ type: Component, args: [{
|
|
1386
|
-
selector: 'sac-dropdown',
|
|
1387
|
-
template: "<div\
|
|
1388
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1389
|
-
providers: [
|
|
1390
|
-
{
|
|
1391
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1392
|
-
multi: true,
|
|
1393
|
-
useExisting: SacDropdownComponent,
|
|
1394
|
-
},
|
|
1395
|
-
{
|
|
1396
|
-
provide: NG_VALIDATORS,
|
|
1397
|
-
multi: true,
|
|
1398
|
-
useExisting: forwardRef(() => SacDropdownComponent),
|
|
1399
|
-
},
|
|
1400
|
-
]
|
|
1401
|
-
},] }
|
|
1402
|
-
];
|
|
1403
|
-
SacDropdownComponent.ctorParameters = () => [
|
|
1404
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1405
|
-
{ type: Injector },
|
|
1406
|
-
{ type: Renderer2 },
|
|
1407
|
-
{ type: ElementRef }
|
|
1408
|
-
];
|
|
1409
|
-
class SacDropdownOptionDirective extends SacDropdownOptionCommon {
|
|
1410
|
-
// #region Constructors
|
|
1411
|
-
/**
|
|
1412
|
-
* Konstruktor
|
|
1413
|
-
* @param elementRef Referenz auf HTML DOM Element
|
|
1414
|
-
* @param renderer Angular Rendering Engine
|
|
1415
|
-
* @param dropdownList Referenz auf DropDown Komponente
|
|
1416
|
-
*/
|
|
1417
|
-
constructor(elementRef, renderer, dropdownList) {
|
|
1418
|
-
super(elementRef, renderer, dropdownList);
|
|
1419
|
-
}
|
|
1420
|
-
}
|
|
1421
|
-
SacDropdownOptionDirective.decorators = [
|
|
1422
|
-
{ type: Directive, args: [{ selector: 'option,[sacOption]' },] }
|
|
1423
|
-
];
|
|
1424
|
-
SacDropdownOptionDirective.ctorParameters = () => [
|
|
1425
|
-
{ type: ElementRef },
|
|
1426
|
-
{ type: Renderer2 },
|
|
1427
|
-
{ type: SacDropdownComponent, decorators: [{ type: Optional }, { type: Host }] }
|
|
1428
|
-
];
|
|
900
|
+
/**
|
|
901
|
+
* Grid Action Button
|
|
902
|
+
*/
|
|
903
|
+
class SacGridButtonComponent extends SacGridButtonCommon {
|
|
904
|
+
// #region Public Methods
|
|
905
|
+
/**
|
|
906
|
+
* Returns the icon for the button
|
|
907
|
+
*/
|
|
908
|
+
getIconClass() {
|
|
909
|
+
let iconset = this.iconstyle;
|
|
910
|
+
let iconcss = this.icon;
|
|
911
|
+
if (iconset === '') {
|
|
912
|
+
switch (this.icon) {
|
|
913
|
+
case 'edit':
|
|
914
|
+
iconset = 'sprite';
|
|
915
|
+
iconcss = 'icon-sprite-base-main_edit';
|
|
916
|
+
break;
|
|
917
|
+
case 'delete':
|
|
918
|
+
iconset = 'sprite';
|
|
919
|
+
iconcss = 'icon-sprite-base-main_delete';
|
|
920
|
+
break;
|
|
921
|
+
}
|
|
922
|
+
}
|
|
923
|
+
if (this._isdisabledvalue) {
|
|
924
|
+
iconcss += '_disabled';
|
|
925
|
+
}
|
|
926
|
+
const result = iconset + ' ' + iconcss;
|
|
927
|
+
return result.trim();
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
SacGridButtonComponent.decorators = [
|
|
931
|
+
{ type: Component, args: [{
|
|
932
|
+
selector: 'sac-gridbutton',
|
|
933
|
+
template: "<a (click)=\"callaction()\" style=\"padding-right: 5px;\" [class.disabled]=\"isdisabled\" [attr.disabled]=\"isdisabled ? 'disabled' : null\"><span class=\"{{getIconClass()}}\"></span></a>\n"
|
|
934
|
+
},] }
|
|
935
|
+
];
|
|
936
|
+
|
|
937
|
+
class SacGridColumnComponent extends SacGridColumnCommon {
|
|
938
|
+
constructor(grid, injector, el) {
|
|
939
|
+
super(grid, injector, el);
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
SacGridColumnComponent.decorators = [
|
|
943
|
+
{ type: Component, args: [{
|
|
944
|
+
selector: 'sac-gridcolumn',
|
|
945
|
+
template: "<th\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n (click)=\"SortByColumn()\">\n <span>{{ header }}</span>\n <span\n [class]=\"IconSortUp\"\n style=\"padding-left: 0.5rem\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\n <span\n [class]=\"IconSortDown\"\n style=\"padding-left: 0.5rem\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\n</th>\n<td\n scope=\"col\"\n *ngIf=\"IsBody()\"\n [style.width]=\"width\"\n [class.ellipsis]=\"IsEllipsis()\"\n (click)=\"ColumnClick()\"\n [style.max-width]=\"IsEllipsis() ? width : null\"\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\">\n <span\n [attr.title]=\"IsEllipsis() ? value : null\"\n [innerHtml]=\"value\"></span>\n</td>\n",
|
|
946
|
+
providers: [
|
|
947
|
+
{
|
|
948
|
+
provide: SacGridColumnBaseCommon,
|
|
949
|
+
useExisting: forwardRef(() => SacGridColumnComponent),
|
|
950
|
+
},
|
|
951
|
+
]
|
|
952
|
+
},] }
|
|
953
|
+
];
|
|
954
|
+
SacGridColumnComponent.ctorParameters = () => [
|
|
955
|
+
{ type: SacGridComponent },
|
|
956
|
+
{ type: Injector },
|
|
957
|
+
{ type: ElementRef }
|
|
958
|
+
];
|
|
959
|
+
|
|
960
|
+
class SacGridColumnActionComponent extends SacGridColumnActionCommon {
|
|
961
|
+
constructor(grid, injector, el) {
|
|
962
|
+
super(grid, injector, el);
|
|
963
|
+
this.width = '52px';
|
|
964
|
+
}
|
|
965
|
+
}
|
|
966
|
+
SacGridColumnActionComponent.decorators = [
|
|
967
|
+
{ type: Component, args: [{
|
|
968
|
+
selector: 'sac-gridcolumnaction',
|
|
969
|
+
template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\n<td scope=\"col\" *ngIf=\"IsBody()\">\n <ng-content></ng-content>\n</td>\n",
|
|
970
|
+
providers: [
|
|
971
|
+
{
|
|
972
|
+
provide: SacGridColumnBaseCommon,
|
|
973
|
+
useExisting: forwardRef(() => SacGridColumnActionComponent),
|
|
974
|
+
},
|
|
975
|
+
]
|
|
976
|
+
},] }
|
|
977
|
+
];
|
|
978
|
+
SacGridColumnActionComponent.ctorParameters = () => [
|
|
979
|
+
{ type: SacGridComponent },
|
|
980
|
+
{ type: Injector },
|
|
981
|
+
{ type: ElementRef }
|
|
982
|
+
];
|
|
983
|
+
|
|
984
|
+
class SacGridImageComponent extends SacGridImageCommon {
|
|
985
|
+
getIconClass() {
|
|
986
|
+
switch (this.iconstyle) {
|
|
987
|
+
case 'edit':
|
|
988
|
+
return 'sprite icon-sprite-base-main_edit';
|
|
989
|
+
case 'delete':
|
|
990
|
+
return 'sprite icon-sprite-base-main_delete';
|
|
991
|
+
default:
|
|
992
|
+
return this.iconstyle;
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
}
|
|
996
|
+
SacGridImageComponent.decorators = [
|
|
997
|
+
{ type: Component, args: [{
|
|
998
|
+
selector: 'sac-gridimage',
|
|
999
|
+
template: "<span style=\"padding-right: 5px;\"><span class=\"{{getIconClass()}}\"></span></span>\n"
|
|
1000
|
+
},] }
|
|
1001
|
+
];
|
|
1002
|
+
|
|
1003
|
+
class SacPagingComponent extends SacPagingCommon {
|
|
1004
|
+
/**
|
|
1005
|
+
* Konstruktor
|
|
1006
|
+
*/
|
|
1007
|
+
constructor(injector) { super(injector); }
|
|
1008
|
+
}
|
|
1009
|
+
SacPagingComponent.decorators = [
|
|
1010
|
+
{ type: Component, args: [{
|
|
1011
|
+
selector: 'sac-paging',
|
|
1012
|
+
template: "<div class=\"row\">\n <div class=\"pager-nav col-sm-4\" id=\"{{name}}\">\n <ul class=\"pagination\" style=\"margin: 10px 0\">\n <li\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === firstPageIndex}\"\n >\n <a (click)=\"firstPage()\">\u00AB</a>\n </li>\n <li\n *ngFor=\"let page of paginators; let i = index\"\n [ngClass]=\"{'active': page === activePageIndex}\"\n >\n <a (click)=\"changePage(page)\">{{page + 1 }}</a>\n </li>\n <li\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === lastPageIndex}\"\n >\n <a (click)=\"lastPage()\">\u00BB</a>\n </li>\n </ul>\n </div>\n <div class=\"col-sm-4 text-center\" style=\"margin: 20px 0\">\n Seite {{getCurrentPageNumber()}} von {{getTotalPageNumber()}}\n </div>\n <div\n class=\"col-sm-4 text-right\"\n *ngIf=\"!pagesizedisabled\"\n style=\"margin: 12px 0\"\n >\n <div class=\"form-inline\">\n <div class=\"form-group\" id=\"{{name}}_size\">\n <select\n class=\"form-control form-control-sm\"\n style=\"width: 85px\"\n [ngModel]=\"pageSize\"\n (ngModelChange)=\"changePageSize($event)\"\n >\n <option [ngValue]=\"size\" *ngFor=\"let size of getPageSizes\">\n {{size}}\n </option>\n </select>\n <span style=\"margin-left: 5px\">{{ PageSizeText | async }}</span>\n </div>\n </div>\n </div>\n</div>\n",
|
|
1013
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1014
|
+
providers: [
|
|
1015
|
+
{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },
|
|
1016
|
+
{ provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacPagingComponent) }
|
|
1017
|
+
]
|
|
1018
|
+
},] }
|
|
1019
|
+
];
|
|
1020
|
+
SacPagingComponent.ctorParameters = () => [
|
|
1021
|
+
{ type: Injector }
|
|
1022
|
+
];
|
|
1023
|
+
|
|
1024
|
+
class SACBootstrap3GridModule {
|
|
1025
|
+
}
|
|
1026
|
+
SACBootstrap3GridModule.decorators = [
|
|
1027
|
+
{ type: NgModule, args: [{
|
|
1028
|
+
declarations: [
|
|
1029
|
+
SacGridComponent,
|
|
1030
|
+
SacGridColumnComponent,
|
|
1031
|
+
SacGridColumnActionComponent,
|
|
1032
|
+
SacPagingComponent,
|
|
1033
|
+
SacGridButtonComponent,
|
|
1034
|
+
SacGridImageComponent,
|
|
1035
|
+
],
|
|
1036
|
+
imports: [CommonModule, FormsModule],
|
|
1037
|
+
exports: [
|
|
1038
|
+
SacGridComponent,
|
|
1039
|
+
SacGridColumnComponent,
|
|
1040
|
+
SacGridColumnActionComponent,
|
|
1041
|
+
SacPagingComponent,
|
|
1042
|
+
SacGridButtonComponent,
|
|
1043
|
+
SacGridImageComponent,
|
|
1044
|
+
],
|
|
1045
|
+
},] }
|
|
1046
|
+
];
|
|
1047
|
+
|
|
1048
|
+
class SacInputComponent extends SacInputCommon {
|
|
1049
|
+
// #region Constructors
|
|
1050
|
+
/**
|
|
1051
|
+
* Constructor
|
|
1052
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1053
|
+
* @param injector Injector for injecting services
|
|
1054
|
+
*/
|
|
1055
|
+
constructor(formLayout, injector) {
|
|
1056
|
+
super(formLayout, injector);
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
SacInputComponent.decorators = [
|
|
1060
|
+
{ type: Component, args: [{
|
|
1061
|
+
selector: 'sac-input',
|
|
1062
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
|
|
1063
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1064
|
+
providers: [
|
|
1065
|
+
{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputComponent },
|
|
1066
|
+
{
|
|
1067
|
+
provide: NG_VALIDATORS,
|
|
1068
|
+
multi: true,
|
|
1069
|
+
useExisting: forwardRef(() => SacInputComponent),
|
|
1070
|
+
},
|
|
1071
|
+
]
|
|
1072
|
+
},] }
|
|
1073
|
+
];
|
|
1074
|
+
SacInputComponent.ctorParameters = () => [
|
|
1075
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1076
|
+
{ type: Injector }
|
|
1077
|
+
];
|
|
1078
|
+
|
|
1079
|
+
/**
|
|
1080
|
+
* Komponente für TextArea
|
|
1081
|
+
*
|
|
1082
|
+
* @example
|
|
1083
|
+
*
|
|
1084
|
+
* <ngInputArea name="ngInputArea" label="My Label" placeholder='i am input area' [isrequired]="true" customCssClass="myClass1 myClass3"></ngInputArea>
|
|
1085
|
+
*
|
|
1086
|
+
* @example
|
|
1087
|
+
*
|
|
1088
|
+
* <ngInputArea name="ngInputArea" label="My Label" height="150px" placeholder='i am input area' [islanguagespecific]="true">
|
|
1089
|
+
*
|
|
1090
|
+
*/
|
|
1091
|
+
class SacInputAreaComponent extends SacInputAreaCommon {
|
|
1092
|
+
// #region Constructors
|
|
1093
|
+
/**
|
|
1094
|
+
* Constructor
|
|
1095
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1096
|
+
* @param injector Injector for injecting services
|
|
1097
|
+
*/
|
|
1098
|
+
constructor(formLayout, injector) {
|
|
1099
|
+
super(formLayout, injector);
|
|
1100
|
+
}
|
|
1101
|
+
}
|
|
1102
|
+
SacInputAreaComponent.decorators = [
|
|
1103
|
+
{ type: Component, args: [{
|
|
1104
|
+
selector: 'sac-inputarea',
|
|
1105
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"\"\n class=\"form-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.validation-error]=\"invalid && (dirty || touched)\"\n [class.required]=\"isrequired\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.rows]=\"rows\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\">\n </textarea>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
|
|
1106
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1107
|
+
providers: [
|
|
1108
|
+
{
|
|
1109
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1110
|
+
multi: true,
|
|
1111
|
+
useExisting: SacInputAreaComponent,
|
|
1112
|
+
},
|
|
1113
|
+
{
|
|
1114
|
+
provide: NG_VALIDATORS,
|
|
1115
|
+
multi: true,
|
|
1116
|
+
useExisting: forwardRef(() => SacInputAreaComponent),
|
|
1117
|
+
},
|
|
1118
|
+
]
|
|
1119
|
+
},] }
|
|
1120
|
+
];
|
|
1121
|
+
SacInputAreaComponent.ctorParameters = () => [
|
|
1122
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1123
|
+
{ type: Injector }
|
|
1124
|
+
];
|
|
1125
|
+
|
|
1126
|
+
class SacInputCurrencyComponent extends SacInputCurrencyCommon {
|
|
1127
|
+
// #region Constructors
|
|
1128
|
+
/**
|
|
1129
|
+
* Constructor
|
|
1130
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1131
|
+
* @param injector Injector for injecting services
|
|
1132
|
+
*/
|
|
1133
|
+
constructor(formLayout, injector) {
|
|
1134
|
+
super(formLayout, injector);
|
|
1135
|
+
}
|
|
1136
|
+
}
|
|
1137
|
+
SacInputCurrencyComponent.decorators = [
|
|
1138
|
+
{ type: Component, args: [{
|
|
1139
|
+
selector: 'sac-inputcurrency',
|
|
1140
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div class=\"input-group-addon\">{{ currency }}</div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
|
|
1141
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1142
|
+
providers: [
|
|
1143
|
+
{
|
|
1144
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1145
|
+
multi: true,
|
|
1146
|
+
useExisting: SacInputCurrencyComponent,
|
|
1147
|
+
},
|
|
1148
|
+
{
|
|
1149
|
+
provide: NG_VALIDATORS,
|
|
1150
|
+
multi: true,
|
|
1151
|
+
useExisting: forwardRef(() => SacInputCurrencyComponent),
|
|
1152
|
+
},
|
|
1153
|
+
]
|
|
1154
|
+
},] }
|
|
1155
|
+
];
|
|
1156
|
+
SacInputCurrencyComponent.ctorParameters = () => [
|
|
1157
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1158
|
+
{ type: Injector }
|
|
1159
|
+
];
|
|
1160
|
+
|
|
1161
|
+
class SacInputDecimalComponent extends SacInputDecimalCommon {
|
|
1162
|
+
// #region Constructors
|
|
1163
|
+
/**
|
|
1164
|
+
* Constructor
|
|
1165
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1166
|
+
* @param injector Injector for injecting services
|
|
1167
|
+
*/
|
|
1168
|
+
constructor(formLayout, injector) {
|
|
1169
|
+
super(formLayout, injector);
|
|
1170
|
+
}
|
|
1171
|
+
}
|
|
1172
|
+
SacInputDecimalComponent.decorators = [
|
|
1173
|
+
{ type: Component, args: [{
|
|
1174
|
+
selector: 'sac-inputdecimal',
|
|
1175
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
|
|
1176
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1177
|
+
providers: [
|
|
1178
|
+
{
|
|
1179
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1180
|
+
multi: true,
|
|
1181
|
+
useExisting: SacInputDecimalComponent,
|
|
1182
|
+
},
|
|
1183
|
+
{
|
|
1184
|
+
provide: NG_VALIDATORS,
|
|
1185
|
+
multi: true,
|
|
1186
|
+
useExisting: forwardRef(() => SacInputDecimalComponent),
|
|
1187
|
+
},
|
|
1188
|
+
]
|
|
1189
|
+
},] }
|
|
1190
|
+
];
|
|
1191
|
+
SacInputDecimalComponent.ctorParameters = () => [
|
|
1192
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1193
|
+
{ type: Injector }
|
|
1194
|
+
];
|
|
1195
|
+
|
|
1196
|
+
class SacInputEmailComponent extends SacInputEmailCommon {
|
|
1197
|
+
// #region Constructors
|
|
1198
|
+
/**
|
|
1199
|
+
* Constructor
|
|
1200
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1201
|
+
* @param injector Injector for injecting services
|
|
1202
|
+
*/
|
|
1203
|
+
constructor(formLayout, injector) {
|
|
1204
|
+
super(formLayout, injector);
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1207
|
+
SacInputEmailComponent.decorators = [
|
|
1208
|
+
{ type: Component, args: [{
|
|
1209
|
+
selector: 'sac-inputemail',
|
|
1210
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-addon\">@</div>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n autocomplete=\"email\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
|
|
1211
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1212
|
+
providers: [
|
|
1213
|
+
{
|
|
1214
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1215
|
+
multi: true,
|
|
1216
|
+
useExisting: SacInputEmailComponent,
|
|
1217
|
+
},
|
|
1218
|
+
{
|
|
1219
|
+
provide: NG_VALIDATORS,
|
|
1220
|
+
multi: true,
|
|
1221
|
+
useExisting: forwardRef(() => SacInputEmailComponent),
|
|
1222
|
+
},
|
|
1223
|
+
]
|
|
1224
|
+
},] }
|
|
1225
|
+
];
|
|
1226
|
+
SacInputEmailComponent.ctorParameters = () => [
|
|
1227
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1228
|
+
{ type: Injector }
|
|
1229
|
+
];
|
|
1230
|
+
|
|
1231
|
+
class SacInputIntegerComponent extends SacInputIntegerCommon {
|
|
1232
|
+
// #region Constructors
|
|
1233
|
+
/**
|
|
1234
|
+
* Constructor
|
|
1235
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1236
|
+
* @param injector Injector for injecting services
|
|
1237
|
+
*/
|
|
1238
|
+
constructor(formLayout, injector) {
|
|
1239
|
+
super(formLayout, injector);
|
|
1240
|
+
}
|
|
1241
|
+
}
|
|
1242
|
+
SacInputIntegerComponent.decorators = [
|
|
1243
|
+
{ type: Component, args: [{
|
|
1244
|
+
selector: 'sac-inputinteger',
|
|
1245
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
|
|
1246
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1247
|
+
providers: [
|
|
1248
|
+
{
|
|
1249
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1250
|
+
multi: true,
|
|
1251
|
+
useExisting: SacInputIntegerComponent,
|
|
1252
|
+
},
|
|
1253
|
+
{
|
|
1254
|
+
provide: NG_VALIDATORS,
|
|
1255
|
+
multi: true,
|
|
1256
|
+
useExisting: forwardRef(() => SacInputIntegerComponent),
|
|
1257
|
+
},
|
|
1258
|
+
]
|
|
1259
|
+
},] }
|
|
1260
|
+
];
|
|
1261
|
+
SacInputIntegerComponent.ctorParameters = () => [
|
|
1262
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1263
|
+
{ type: Injector }
|
|
1264
|
+
];
|
|
1265
|
+
|
|
1266
|
+
class SacInputPasswordComponent extends SacInputPasswordCommon {
|
|
1267
|
+
// #region Constructors
|
|
1268
|
+
/**
|
|
1269
|
+
* Constructor
|
|
1270
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1271
|
+
* @param injector Injector for injecting services
|
|
1272
|
+
*/
|
|
1273
|
+
constructor(formLayout, injector) {
|
|
1274
|
+
super(formLayout, injector);
|
|
1275
|
+
}
|
|
1276
|
+
}
|
|
1277
|
+
SacInputPasswordComponent.decorators = [
|
|
1278
|
+
{ type: Component, args: [{
|
|
1279
|
+
selector: 'sac-inputpassword',
|
|
1280
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n type=\"password\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
|
|
1281
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1282
|
+
providers: [
|
|
1283
|
+
{
|
|
1284
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1285
|
+
multi: true,
|
|
1286
|
+
useExisting: SacInputPasswordComponent,
|
|
1287
|
+
},
|
|
1288
|
+
{
|
|
1289
|
+
provide: NG_VALIDATORS,
|
|
1290
|
+
multi: true,
|
|
1291
|
+
useExisting: forwardRef(() => SacInputPasswordComponent),
|
|
1292
|
+
},
|
|
1293
|
+
]
|
|
1294
|
+
},] }
|
|
1295
|
+
];
|
|
1296
|
+
SacInputPasswordComponent.ctorParameters = () => [
|
|
1297
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1298
|
+
{ type: Injector }
|
|
1299
|
+
];
|
|
1300
|
+
|
|
1301
|
+
class SacInputSearchComponent extends SacInputSearchCommon {
|
|
1302
|
+
// #region Constructors
|
|
1303
|
+
/**
|
|
1304
|
+
* Constructor
|
|
1305
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1306
|
+
* @param injector Injector for injecting services
|
|
1307
|
+
*/
|
|
1308
|
+
constructor(formLayout, injector) {
|
|
1309
|
+
super(formLayout, injector);
|
|
1310
|
+
}
|
|
1311
|
+
}
|
|
1312
|
+
SacInputSearchComponent.decorators = [
|
|
1313
|
+
{ type: Component, args: [{
|
|
1314
|
+
selector: 'sac-inputsearch',
|
|
1315
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <span class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [style.margin-right.px]=\"buttonmode === 'mixed' ? 7 : null\">\n </i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </span>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n",
|
|
1316
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1317
|
+
providers: [
|
|
1318
|
+
{
|
|
1319
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1320
|
+
multi: true,
|
|
1321
|
+
useExisting: SacInputSearchComponent,
|
|
1322
|
+
},
|
|
1323
|
+
{
|
|
1324
|
+
provide: NG_VALIDATORS,
|
|
1325
|
+
multi: true,
|
|
1326
|
+
useExisting: forwardRef(() => SacInputSearchComponent),
|
|
1327
|
+
},
|
|
1328
|
+
]
|
|
1329
|
+
},] }
|
|
1330
|
+
];
|
|
1331
|
+
SacInputSearchComponent.ctorParameters = () => [
|
|
1332
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1333
|
+
{ type: Injector }
|
|
1334
|
+
];
|
|
1335
|
+
|
|
1336
|
+
class SACBootstrap3InputModule {
|
|
1337
|
+
}
|
|
1338
|
+
SACBootstrap3InputModule.decorators = [
|
|
1339
|
+
{ type: NgModule, args: [{
|
|
1340
|
+
declarations: [
|
|
1341
|
+
SacInputComponent,
|
|
1342
|
+
SacInputAreaComponent,
|
|
1343
|
+
SacInputCurrencyComponent,
|
|
1344
|
+
SacInputDecimalComponent,
|
|
1345
|
+
SacInputEmailComponent,
|
|
1346
|
+
SacInputIntegerComponent,
|
|
1347
|
+
SacInputPasswordComponent,
|
|
1348
|
+
SacInputSearchComponent,
|
|
1349
|
+
],
|
|
1350
|
+
imports: [
|
|
1351
|
+
CommonModule,
|
|
1352
|
+
CommonModule,
|
|
1353
|
+
FormsModule,
|
|
1354
|
+
SACBootstrap3TooltipModule,
|
|
1355
|
+
SACBootstrap3LayoutModule,
|
|
1356
|
+
],
|
|
1357
|
+
exports: [
|
|
1358
|
+
SacInputComponent,
|
|
1359
|
+
SacInputAreaComponent,
|
|
1360
|
+
SacInputCurrencyComponent,
|
|
1361
|
+
SacInputDecimalComponent,
|
|
1362
|
+
SacInputEmailComponent,
|
|
1363
|
+
SacInputIntegerComponent,
|
|
1364
|
+
SacInputPasswordComponent,
|
|
1365
|
+
SacInputSearchComponent,
|
|
1366
|
+
],
|
|
1367
|
+
},] }
|
|
1368
|
+
];
|
|
1369
|
+
|
|
1370
|
+
// #region Classes
|
|
1371
|
+
class SacDropdownComponent extends SacDropdownCommon {
|
|
1372
|
+
// #region Constructors
|
|
1373
|
+
/**
|
|
1374
|
+
* Constructor
|
|
1375
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1376
|
+
* @param injector Injector for injecting services
|
|
1377
|
+
* @param renderer Angular rendering engine
|
|
1378
|
+
* @param elementRef Reference to html dom element
|
|
1379
|
+
*/
|
|
1380
|
+
constructor(formLayout, injector, renderer, elementRef) {
|
|
1381
|
+
super(formLayout, injector, renderer, elementRef);
|
|
1382
|
+
}
|
|
1383
|
+
}
|
|
1384
|
+
SacDropdownComponent.decorators = [
|
|
1385
|
+
{ type: Component, args: [{
|
|
1386
|
+
selector: 'sac-dropdown',
|
|
1387
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n #dropdownitem\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (change)=\"setValue(dropdownitem.value)\"\n [disabled]=\"isdisabled\">\n <option\n *ngIf=\"emptylabel !== ''\"\n [ngValue]=\"emptyvalue\">\n {{ emptylabel }}\n </option>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let item of options\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </ng-container>\n\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let group of options\"\n [attr.label]=\"group[grouplabel]\">\n <option\n *ngFor=\"let item of group[groupitems]\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n",
|
|
1388
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1389
|
+
providers: [
|
|
1390
|
+
{
|
|
1391
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1392
|
+
multi: true,
|
|
1393
|
+
useExisting: SacDropdownComponent,
|
|
1394
|
+
},
|
|
1395
|
+
{
|
|
1396
|
+
provide: NG_VALIDATORS,
|
|
1397
|
+
multi: true,
|
|
1398
|
+
useExisting: forwardRef(() => SacDropdownComponent),
|
|
1399
|
+
},
|
|
1400
|
+
]
|
|
1401
|
+
},] }
|
|
1402
|
+
];
|
|
1403
|
+
SacDropdownComponent.ctorParameters = () => [
|
|
1404
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1405
|
+
{ type: Injector },
|
|
1406
|
+
{ type: Renderer2 },
|
|
1407
|
+
{ type: ElementRef }
|
|
1408
|
+
];
|
|
1409
|
+
class SacDropdownOptionDirective extends SacDropdownOptionCommon {
|
|
1410
|
+
// #region Constructors
|
|
1411
|
+
/**
|
|
1412
|
+
* Konstruktor
|
|
1413
|
+
* @param elementRef Referenz auf HTML DOM Element
|
|
1414
|
+
* @param renderer Angular Rendering Engine
|
|
1415
|
+
* @param dropdownList Referenz auf DropDown Komponente
|
|
1416
|
+
*/
|
|
1417
|
+
constructor(elementRef, renderer, dropdownList) {
|
|
1418
|
+
super(elementRef, renderer, dropdownList);
|
|
1419
|
+
}
|
|
1420
|
+
}
|
|
1421
|
+
SacDropdownOptionDirective.decorators = [
|
|
1422
|
+
{ type: Directive, args: [{ selector: 'option,[sacOption]' },] }
|
|
1423
|
+
];
|
|
1424
|
+
SacDropdownOptionDirective.ctorParameters = () => [
|
|
1425
|
+
{ type: ElementRef },
|
|
1426
|
+
{ type: Renderer2 },
|
|
1427
|
+
{ type: SacDropdownComponent, decorators: [{ type: Optional }, { type: Host }] }
|
|
1428
|
+
];
|
|
1429
1429
|
// #endregion Classes
|
|
1430
1430
|
|
|
1431
|
-
class SacListboxComponent extends SacListboxCommon {
|
|
1432
|
-
// #region Constructors
|
|
1433
|
-
/**
|
|
1434
|
-
* Constructor
|
|
1435
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1436
|
-
* @param injector Injector for injecting services
|
|
1437
|
-
*/
|
|
1438
|
-
constructor(formLayout, injector) {
|
|
1439
|
-
super(formLayout, injector);
|
|
1440
|
-
}
|
|
1441
|
-
}
|
|
1442
|
-
SacListboxComponent.decorators = [
|
|
1443
|
-
{ type: Component, args: [{
|
|
1444
|
-
selector: 'sac-listbox',
|
|
1445
|
-
template: "<div\
|
|
1446
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1447
|
-
providers: [
|
|
1448
|
-
{
|
|
1449
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1450
|
-
multi: true,
|
|
1451
|
-
useExisting: SacListboxComponent,
|
|
1452
|
-
},
|
|
1453
|
-
{
|
|
1454
|
-
provide: NG_VALIDATORS,
|
|
1455
|
-
multi: true,
|
|
1456
|
-
useExisting: forwardRef(() => SacListboxComponent),
|
|
1457
|
-
},
|
|
1458
|
-
]
|
|
1459
|
-
},] }
|
|
1460
|
-
];
|
|
1461
|
-
SacListboxComponent.ctorParameters = () => [
|
|
1462
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1463
|
-
{ type: Injector }
|
|
1464
|
-
];
|
|
1465
|
-
|
|
1466
|
-
class SACBootstrap3ListModule {
|
|
1467
|
-
}
|
|
1468
|
-
SACBootstrap3ListModule.decorators = [
|
|
1469
|
-
{ type: NgModule, args: [{
|
|
1470
|
-
declarations: [
|
|
1471
|
-
SacDropdownComponent,
|
|
1472
|
-
SacDropdownOptionDirective,
|
|
1473
|
-
SacListboxComponent,
|
|
1474
|
-
],
|
|
1475
|
-
imports: [
|
|
1476
|
-
CommonModule,
|
|
1477
|
-
SACCommonListboxOptionModule,
|
|
1478
|
-
SACBootstrap3TooltipModule,
|
|
1479
|
-
FormsModule,
|
|
1480
|
-
SACBootstrap3LayoutModule,
|
|
1481
|
-
],
|
|
1482
|
-
exports: [
|
|
1483
|
-
SacDropdownComponent,
|
|
1484
|
-
SacDropdownOptionDirective,
|
|
1485
|
-
SacListboxComponent,
|
|
1486
|
-
],
|
|
1487
|
-
},] }
|
|
1488
|
-
];
|
|
1489
|
-
|
|
1490
|
-
/**
|
|
1491
|
-
* Component für einbindung eines beliebigen Controls in die Form Struktur
|
|
1492
|
-
*
|
|
1493
|
-
* @example
|
|
1494
|
-
* <ngStaticFormContainer name='myformcontainer' label="My Custom Form Control" [isrequired]='false'>
|
|
1495
|
-
* <input type="range" class="form-control" />
|
|
1496
|
-
* </ngStaticFormContainer>
|
|
1497
|
-
*
|
|
1498
|
-
* @example
|
|
1499
|
-
* <ngStaticFormContainer name='myformcintainer' label="My Custom Form Control" [isrequired]='false' tooltiptext="Dies ist ein Tooltip Text">
|
|
1500
|
-
* <input type="range" class="form-control" />
|
|
1501
|
-
* </ngStaticFormContainer>
|
|
1502
|
-
*
|
|
1503
|
-
**/
|
|
1504
|
-
class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
|
|
1505
|
-
// #region Constructors
|
|
1506
|
-
/**
|
|
1507
|
-
* Constructor
|
|
1508
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1509
|
-
* @param injector Injector for injecting services
|
|
1510
|
-
*/
|
|
1511
|
-
constructor(formLayout, injector) {
|
|
1512
|
-
super(formLayout, injector);
|
|
1513
|
-
}
|
|
1514
|
-
}
|
|
1515
|
-
SacStaticFormContainerComponent.decorators = [
|
|
1516
|
-
{ type: Component, args: [{
|
|
1517
|
-
selector: 'sac-staticformcontainer',
|
|
1518
|
-
template: "<div\
|
|
1519
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1520
|
-
providers: [
|
|
1521
|
-
{
|
|
1522
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1523
|
-
multi: true,
|
|
1524
|
-
useExisting: SacStaticFormContainerComponent,
|
|
1525
|
-
},
|
|
1526
|
-
{
|
|
1527
|
-
provide: NG_VALIDATORS,
|
|
1528
|
-
multi: true,
|
|
1529
|
-
useExisting: forwardRef(() => SacStaticFormContainerComponent),
|
|
1530
|
-
},
|
|
1531
|
-
]
|
|
1532
|
-
},] }
|
|
1533
|
-
];
|
|
1534
|
-
SacStaticFormContainerComponent.ctorParameters = () => [
|
|
1535
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1536
|
-
{ type: Injector }
|
|
1537
|
-
];
|
|
1538
|
-
|
|
1539
|
-
class SacStaticLabelComponent extends SacStaticLabelCommon {
|
|
1540
|
-
// #region Constructors
|
|
1541
|
-
/**
|
|
1542
|
-
* Constructor
|
|
1543
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1544
|
-
* @param injector Injector for injecting services
|
|
1545
|
-
*/
|
|
1546
|
-
constructor(formLayout, injector) {
|
|
1547
|
-
super(formLayout, injector);
|
|
1548
|
-
}
|
|
1549
|
-
}
|
|
1550
|
-
SacStaticLabelComponent.decorators = [
|
|
1551
|
-
{ type: Component, args: [{
|
|
1552
|
-
selector: 'sac-staticlabel',
|
|
1553
|
-
template: "<div\
|
|
1554
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1555
|
-
providers: [
|
|
1556
|
-
{
|
|
1557
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1558
|
-
multi: true,
|
|
1559
|
-
useExisting: SacStaticLabelComponent,
|
|
1560
|
-
},
|
|
1561
|
-
{
|
|
1562
|
-
provide: NG_VALIDATORS,
|
|
1563
|
-
multi: true,
|
|
1564
|
-
useExisting: forwardRef(() => SacStaticLabelComponent),
|
|
1565
|
-
},
|
|
1566
|
-
]
|
|
1567
|
-
},] }
|
|
1568
|
-
];
|
|
1569
|
-
SacStaticLabelComponent.ctorParameters = () => [
|
|
1570
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1571
|
-
{ type: Injector }
|
|
1572
|
-
];
|
|
1573
|
-
|
|
1574
|
-
class SACBootstrap3StaticLabelModule {
|
|
1575
|
-
}
|
|
1576
|
-
SACBootstrap3StaticLabelModule.decorators = [
|
|
1577
|
-
{ type: NgModule, args: [{
|
|
1578
|
-
declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent],
|
|
1579
|
-
imports: [
|
|
1580
|
-
CommonModule,
|
|
1581
|
-
SACBootstrap3TooltipModule,
|
|
1582
|
-
SACBootstrap3LayoutModule,
|
|
1583
|
-
],
|
|
1584
|
-
exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],
|
|
1585
|
-
},] }
|
|
1586
|
-
];
|
|
1587
|
-
|
|
1588
|
-
class SacTabItemComponent extends SacTabItemCommon {
|
|
1589
|
-
}
|
|
1590
|
-
SacTabItemComponent.decorators = [
|
|
1591
|
-
{ type: Component, args: [{
|
|
1592
|
-
selector: 'sac-tabitem',
|
|
1593
|
-
template: "<div [id]=\"id\" [hidden]=\"unloadwhenhidden === false && active === false\"\
|
|
1594
|
-
},] }
|
|
1595
|
-
];
|
|
1596
|
-
|
|
1597
|
-
class SacTabComponent extends SacTabCommon {
|
|
1598
|
-
tabItems() {
|
|
1599
|
-
return this._tabItems.toArray();
|
|
1600
|
-
}
|
|
1601
|
-
}
|
|
1602
|
-
SacTabComponent.decorators = [
|
|
1603
|
-
{ type: Component, args: [{
|
|
1604
|
-
selector: 'sac-tab',
|
|
1605
|
-
template: "<!-- Nav tabs -->\
|
|
1606
|
-
},] }
|
|
1607
|
-
];
|
|
1608
|
-
SacTabComponent.propDecorators = {
|
|
1609
|
-
_tabItems: [{ type: ContentChildren, args: [SacTabItemComponent,] }]
|
|
1431
|
+
class SacListboxComponent extends SacListboxCommon {
|
|
1432
|
+
// #region Constructors
|
|
1433
|
+
/**
|
|
1434
|
+
* Constructor
|
|
1435
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1436
|
+
* @param injector Injector for injecting services
|
|
1437
|
+
*/
|
|
1438
|
+
constructor(formLayout, injector) {
|
|
1439
|
+
super(formLayout, injector);
|
|
1440
|
+
}
|
|
1441
|
+
}
|
|
1442
|
+
SacListboxComponent.decorators = [
|
|
1443
|
+
{ type: Component, args: [{
|
|
1444
|
+
selector: 'sac-listbox',
|
|
1445
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [size]=\"rowsize\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }\"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n",
|
|
1446
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1447
|
+
providers: [
|
|
1448
|
+
{
|
|
1449
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1450
|
+
multi: true,
|
|
1451
|
+
useExisting: SacListboxComponent,
|
|
1452
|
+
},
|
|
1453
|
+
{
|
|
1454
|
+
provide: NG_VALIDATORS,
|
|
1455
|
+
multi: true,
|
|
1456
|
+
useExisting: forwardRef(() => SacListboxComponent),
|
|
1457
|
+
},
|
|
1458
|
+
]
|
|
1459
|
+
},] }
|
|
1460
|
+
];
|
|
1461
|
+
SacListboxComponent.ctorParameters = () => [
|
|
1462
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1463
|
+
{ type: Injector }
|
|
1464
|
+
];
|
|
1465
|
+
|
|
1466
|
+
class SACBootstrap3ListModule {
|
|
1467
|
+
}
|
|
1468
|
+
SACBootstrap3ListModule.decorators = [
|
|
1469
|
+
{ type: NgModule, args: [{
|
|
1470
|
+
declarations: [
|
|
1471
|
+
SacDropdownComponent,
|
|
1472
|
+
SacDropdownOptionDirective,
|
|
1473
|
+
SacListboxComponent,
|
|
1474
|
+
],
|
|
1475
|
+
imports: [
|
|
1476
|
+
CommonModule,
|
|
1477
|
+
SACCommonListboxOptionModule,
|
|
1478
|
+
SACBootstrap3TooltipModule,
|
|
1479
|
+
FormsModule,
|
|
1480
|
+
SACBootstrap3LayoutModule,
|
|
1481
|
+
],
|
|
1482
|
+
exports: [
|
|
1483
|
+
SacDropdownComponent,
|
|
1484
|
+
SacDropdownOptionDirective,
|
|
1485
|
+
SacListboxComponent,
|
|
1486
|
+
],
|
|
1487
|
+
},] }
|
|
1488
|
+
];
|
|
1489
|
+
|
|
1490
|
+
/**
|
|
1491
|
+
* Component für einbindung eines beliebigen Controls in die Form Struktur
|
|
1492
|
+
*
|
|
1493
|
+
* @example
|
|
1494
|
+
* <ngStaticFormContainer name='myformcontainer' label="My Custom Form Control" [isrequired]='false'>
|
|
1495
|
+
* <input type="range" class="form-control" />
|
|
1496
|
+
* </ngStaticFormContainer>
|
|
1497
|
+
*
|
|
1498
|
+
* @example
|
|
1499
|
+
* <ngStaticFormContainer name='myformcintainer' label="My Custom Form Control" [isrequired]='false' tooltiptext="Dies ist ein Tooltip Text">
|
|
1500
|
+
* <input type="range" class="form-control" />
|
|
1501
|
+
* </ngStaticFormContainer>
|
|
1502
|
+
*
|
|
1503
|
+
**/
|
|
1504
|
+
class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
|
|
1505
|
+
// #region Constructors
|
|
1506
|
+
/**
|
|
1507
|
+
* Constructor
|
|
1508
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1509
|
+
* @param injector Injector for injecting services
|
|
1510
|
+
*/
|
|
1511
|
+
constructor(formLayout, injector) {
|
|
1512
|
+
super(formLayout, injector);
|
|
1513
|
+
}
|
|
1514
|
+
}
|
|
1515
|
+
SacStaticFormContainerComponent.decorators = [
|
|
1516
|
+
{ type: Component, args: [{
|
|
1517
|
+
selector: 'sac-staticformcontainer',
|
|
1518
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"isinvalid && errormessage\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <ng-content></ng-content>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n</div>\n",
|
|
1519
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1520
|
+
providers: [
|
|
1521
|
+
{
|
|
1522
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1523
|
+
multi: true,
|
|
1524
|
+
useExisting: SacStaticFormContainerComponent,
|
|
1525
|
+
},
|
|
1526
|
+
{
|
|
1527
|
+
provide: NG_VALIDATORS,
|
|
1528
|
+
multi: true,
|
|
1529
|
+
useExisting: forwardRef(() => SacStaticFormContainerComponent),
|
|
1530
|
+
},
|
|
1531
|
+
]
|
|
1532
|
+
},] }
|
|
1533
|
+
];
|
|
1534
|
+
SacStaticFormContainerComponent.ctorParameters = () => [
|
|
1535
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1536
|
+
{ type: Injector }
|
|
1537
|
+
];
|
|
1538
|
+
|
|
1539
|
+
class SacStaticLabelComponent extends SacStaticLabelCommon {
|
|
1540
|
+
// #region Constructors
|
|
1541
|
+
/**
|
|
1542
|
+
* Constructor
|
|
1543
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1544
|
+
* @param injector Injector for injecting services
|
|
1545
|
+
*/
|
|
1546
|
+
constructor(formLayout, injector) {
|
|
1547
|
+
super(formLayout, injector);
|
|
1548
|
+
}
|
|
1549
|
+
}
|
|
1550
|
+
SacStaticLabelComponent.decorators = [
|
|
1551
|
+
{ type: Component, args: [{
|
|
1552
|
+
selector: 'sac-staticlabel',
|
|
1553
|
+
template: "<div\n class=\"row form-group\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n [id]=\"name\"\n class=\"form-control-static\"\n [style.padding-left.px]=\"0\"\n [innerHTML]=\"value\">\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n",
|
|
1554
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1555
|
+
providers: [
|
|
1556
|
+
{
|
|
1557
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1558
|
+
multi: true,
|
|
1559
|
+
useExisting: SacStaticLabelComponent,
|
|
1560
|
+
},
|
|
1561
|
+
{
|
|
1562
|
+
provide: NG_VALIDATORS,
|
|
1563
|
+
multi: true,
|
|
1564
|
+
useExisting: forwardRef(() => SacStaticLabelComponent),
|
|
1565
|
+
},
|
|
1566
|
+
]
|
|
1567
|
+
},] }
|
|
1568
|
+
];
|
|
1569
|
+
SacStaticLabelComponent.ctorParameters = () => [
|
|
1570
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1571
|
+
{ type: Injector }
|
|
1572
|
+
];
|
|
1573
|
+
|
|
1574
|
+
class SACBootstrap3StaticLabelModule {
|
|
1575
|
+
}
|
|
1576
|
+
SACBootstrap3StaticLabelModule.decorators = [
|
|
1577
|
+
{ type: NgModule, args: [{
|
|
1578
|
+
declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent],
|
|
1579
|
+
imports: [
|
|
1580
|
+
CommonModule,
|
|
1581
|
+
SACBootstrap3TooltipModule,
|
|
1582
|
+
SACBootstrap3LayoutModule,
|
|
1583
|
+
],
|
|
1584
|
+
exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],
|
|
1585
|
+
},] }
|
|
1586
|
+
];
|
|
1587
|
+
|
|
1588
|
+
class SacTabItemComponent extends SacTabItemCommon {
|
|
1589
|
+
}
|
|
1590
|
+
SacTabItemComponent.decorators = [
|
|
1591
|
+
{ type: Component, args: [{
|
|
1592
|
+
selector: 'sac-tabitem',
|
|
1593
|
+
template: "<div [id]=\"id\" [hidden]=\"unloadwhenhidden === false && active === false\"\n *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\" class=\"tab-pane\">\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\n</div>\n\n"
|
|
1594
|
+
},] }
|
|
1595
|
+
];
|
|
1596
|
+
|
|
1597
|
+
class SacTabComponent extends SacTabCommon {
|
|
1598
|
+
tabItems() {
|
|
1599
|
+
return this._tabItems.toArray();
|
|
1600
|
+
}
|
|
1601
|
+
}
|
|
1602
|
+
SacTabComponent.decorators = [
|
|
1603
|
+
{ type: Component, args: [{
|
|
1604
|
+
selector: 'sac-tab',
|
|
1605
|
+
template: "<!-- Nav tabs -->\n<div [id]=\"name\" class=\"content-nav-tabs\">\n <ul class=\"nav nav-tabs\" role=\"tablist\">\n <li\n *ngFor=\"let item of _tabItems\"\n [ngClass]=\"{ 'active show': item.active, 'disabled': item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\"\n >\n <a [id]=\"GetTabItemButtonId(item.id)\" role=\"tab\">\n <ng-template\n *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate;context:{ label: item.label }\"\n >\n </ng-template>\n </a>\n </li>\n </ul>\n</div>\n\n<!-- Tab panes -->\n<div class=\"tab-content\" style=\"margin-top: 15px\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #defaultTabLabelTemplate let-label=\"label\">\n {{label}}\n</ng-template>\n"
|
|
1606
|
+
},] }
|
|
1607
|
+
];
|
|
1608
|
+
SacTabComponent.propDecorators = {
|
|
1609
|
+
_tabItems: [{ type: ContentChildren, args: [SacTabItemComponent,] }]
|
|
1610
1610
|
};
|
|
1611
1611
|
|
|
1612
|
-
class SACBootstrap3TabsModule {
|
|
1613
|
-
}
|
|
1614
|
-
SACBootstrap3TabsModule.decorators = [
|
|
1615
|
-
{ type: NgModule, args: [{
|
|
1616
|
-
declarations: [SacTabComponent, SacTabItemComponent],
|
|
1617
|
-
imports: [
|
|
1618
|
-
CommonModule
|
|
1619
|
-
],
|
|
1620
|
-
exports: [SacTabComponent, SacTabItemComponent]
|
|
1621
|
-
},] }
|
|
1622
|
-
];
|
|
1623
|
-
|
|
1624
|
-
class SacTinyMceComponent extends SacTinyMceCommon {
|
|
1625
|
-
// #region Constructors
|
|
1626
|
-
/**
|
|
1627
|
-
* Constructor
|
|
1628
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1629
|
-
* @param injector Injector for injecting services
|
|
1630
|
-
* @param ngZone ngZone to manage external javascripts
|
|
1631
|
-
*/
|
|
1632
|
-
constructor(formLayout, injector, ngZone) {
|
|
1633
|
-
super(formLayout, injector, ngZone);
|
|
1634
|
-
}
|
|
1635
|
-
// #endregion Constructors
|
|
1636
|
-
// #region Public Methods
|
|
1637
|
-
/**
|
|
1638
|
-
* overwrite tinymce defaults
|
|
1639
|
-
* @returns boostrap3 does not support file browser
|
|
1640
|
-
*/
|
|
1641
|
-
overwriteDefaultSettings() {
|
|
1642
|
-
return { file_picker_types: undefined, file_picker_callback: undefined };
|
|
1643
|
-
}
|
|
1644
|
-
}
|
|
1645
|
-
SacTinyMceComponent.decorators = [
|
|
1646
|
-
{ type: Component, args: [{
|
|
1647
|
-
selector: 'sac-tinymce',
|
|
1648
|
-
template: "<div\
|
|
1649
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1650
|
-
providers: [
|
|
1651
|
-
{
|
|
1652
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1653
|
-
multi: true,
|
|
1654
|
-
useExisting: SacTinyMceComponent,
|
|
1655
|
-
},
|
|
1656
|
-
{
|
|
1657
|
-
provide: NG_VALIDATORS,
|
|
1658
|
-
useExisting: forwardRef(() => SacTinyMceComponent),
|
|
1659
|
-
multi: true,
|
|
1660
|
-
},
|
|
1661
|
-
]
|
|
1662
|
-
},] }
|
|
1663
|
-
];
|
|
1664
|
-
SacTinyMceComponent.ctorParameters = () => [
|
|
1665
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1666
|
-
{ type: Injector },
|
|
1667
|
-
{ type: NgZone }
|
|
1668
|
-
];
|
|
1669
|
-
|
|
1670
|
-
class SACBootstrap3TinyMceModule {
|
|
1671
|
-
}
|
|
1672
|
-
SACBootstrap3TinyMceModule.decorators = [
|
|
1673
|
-
{ type: NgModule, args: [{
|
|
1674
|
-
declarations: [SacTinyMceComponent],
|
|
1675
|
-
imports: [
|
|
1676
|
-
CommonModule,
|
|
1677
|
-
FormsModule,
|
|
1678
|
-
EditorModule,
|
|
1679
|
-
SACBootstrap3ButtonModule,
|
|
1680
|
-
SACBootstrap3DialogModule,
|
|
1681
|
-
SACBootstrap3LayoutModule,
|
|
1682
|
-
SACBootstrap3TooltipModule,
|
|
1683
|
-
],
|
|
1684
|
-
exports: [SacTinyMceComponent],
|
|
1685
|
-
},] }
|
|
1686
|
-
];
|
|
1687
|
-
|
|
1688
|
-
/**
|
|
1689
|
-
* Treeview Compomnent
|
|
1690
|
-
*/
|
|
1691
|
-
class SacTreeviewComponent extends SacTreeviewCommon {
|
|
1692
|
-
// #region Constructors
|
|
1693
|
-
/**
|
|
1694
|
-
* Constructor
|
|
1695
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1696
|
-
* @param injector Component Injector
|
|
1697
|
-
*/
|
|
1698
|
-
constructor(formLayout, injector) {
|
|
1699
|
-
super(formLayout, injector);
|
|
1700
|
-
}
|
|
1701
|
-
}
|
|
1702
|
-
SacTreeviewComponent.decorators = [
|
|
1703
|
-
{ type: Component, args: [{
|
|
1704
|
-
selector: 'sac-treeview',
|
|
1705
|
-
template: "<div\
|
|
1706
|
-
providers: [
|
|
1707
|
-
{
|
|
1708
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1709
|
-
multi: true,
|
|
1710
|
-
useExisting: SacTreeviewComponent,
|
|
1711
|
-
},
|
|
1712
|
-
{
|
|
1713
|
-
provide: NG_VALIDATORS,
|
|
1714
|
-
useExisting: forwardRef(() => SacTreeviewComponent),
|
|
1715
|
-
multi: true,
|
|
1716
|
-
},
|
|
1717
|
-
]
|
|
1718
|
-
},] }
|
|
1719
|
-
];
|
|
1720
|
-
SacTreeviewComponent.ctorParameters = () => [
|
|
1721
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1722
|
-
{ type: Injector }
|
|
1723
|
-
];
|
|
1724
|
-
|
|
1725
|
-
class SACBootstrap3TreeviewModule {
|
|
1726
|
-
}
|
|
1727
|
-
SACBootstrap3TreeviewModule.decorators = [
|
|
1728
|
-
{ type: NgModule, args: [{
|
|
1729
|
-
declarations: [SacTreeviewComponent],
|
|
1730
|
-
imports: [CommonModule, SACBootstrap3TooltipModule, SACBootstrap3LayoutModule, SACBootstrap3ContextmenuModule],
|
|
1731
|
-
exports: [SacTreeviewComponent],
|
|
1732
|
-
},] }
|
|
1733
|
-
];
|
|
1734
|
-
|
|
1735
|
-
/**
|
|
1736
|
-
* Dropzone Komponente für mehrere Uploads
|
|
1737
|
-
* @see https://github.com/kukhariev/ngx-uploadx/
|
|
1738
|
-
*/
|
|
1739
|
-
class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon {
|
|
1740
|
-
// #region Constructors
|
|
1741
|
-
/**
|
|
1742
|
-
* Constructor
|
|
1743
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1744
|
-
* @param injector Injector for injecting services
|
|
1745
|
-
* @param renderer Angular rendering engine
|
|
1746
|
-
* @param ngZone ngZone to manage external javascripts
|
|
1747
|
-
*/
|
|
1748
|
-
constructor(formLayout, injector, renderer, ngZone) {
|
|
1749
|
-
super(formLayout, injector, renderer, ngZone);
|
|
1750
|
-
}
|
|
1751
|
-
// #endregion Constructors
|
|
1752
|
-
// #region Public Methods
|
|
1753
|
-
/**
|
|
1754
|
-
* Initialisiert das Control
|
|
1755
|
-
*/
|
|
1756
|
-
ngOnInit() {
|
|
1757
|
-
super.ngOnInit();
|
|
1758
|
-
}
|
|
1759
|
-
}
|
|
1760
|
-
SacDropzoneMultipleComponent.decorators = [
|
|
1761
|
-
{ type: Component, args: [{
|
|
1762
|
-
selector: 'sac-dropzonemultiple',
|
|
1763
|
-
template: "<div\
|
|
1764
|
-
providers: [
|
|
1765
|
-
{
|
|
1766
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1767
|
-
multi: true,
|
|
1768
|
-
useExisting: SacDropzoneMultipleComponent,
|
|
1769
|
-
},
|
|
1770
|
-
{
|
|
1771
|
-
provide: NG_VALIDATORS,
|
|
1772
|
-
multi: true,
|
|
1773
|
-
useExisting: forwardRef(() => SacDropzoneMultipleComponent),
|
|
1774
|
-
},
|
|
1775
|
-
],
|
|
1776
|
-
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
|
|
1777
|
-
},] }
|
|
1778
|
-
];
|
|
1779
|
-
SacDropzoneMultipleComponent.ctorParameters = () => [
|
|
1780
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1781
|
-
{ type: Injector },
|
|
1782
|
-
{ type: Renderer2 },
|
|
1783
|
-
{ type: NgZone }
|
|
1784
|
-
];
|
|
1785
|
-
|
|
1786
|
-
/**
|
|
1787
|
-
* Dropzone Komponente für den Upload eines Files
|
|
1788
|
-
* @see https://github.com/kukhariev/ngx-uploadx/
|
|
1789
|
-
*/
|
|
1790
|
-
class SacDropzoneSingleComponent extends SacDropzoneSingleCommon {
|
|
1791
|
-
// #region Constructors
|
|
1792
|
-
/**
|
|
1793
|
-
* Constructor
|
|
1794
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1795
|
-
* @param injector Injector for injecting services
|
|
1796
|
-
* @param renderer Angular rendering engine
|
|
1797
|
-
* @param ngZone ngZone to manage external javascripts
|
|
1798
|
-
*/
|
|
1799
|
-
constructor(formLayout, injector, renderer, ngZone) {
|
|
1800
|
-
super(formLayout, injector, renderer, ngZone);
|
|
1801
|
-
}
|
|
1802
|
-
// #endregion Constructors
|
|
1803
|
-
// #region Public Methods
|
|
1804
|
-
/**
|
|
1805
|
-
* Initialisiert das Control
|
|
1806
|
-
*/
|
|
1807
|
-
ngOnInit() {
|
|
1808
|
-
super.ngOnInit();
|
|
1809
|
-
}
|
|
1810
|
-
}
|
|
1811
|
-
SacDropzoneSingleComponent.decorators = [
|
|
1812
|
-
{ type: Component, args: [{
|
|
1813
|
-
selector: 'sac-dropzonesingle',
|
|
1814
|
-
template: "<div\
|
|
1815
|
-
providers: [
|
|
1816
|
-
{
|
|
1817
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1818
|
-
multi: true,
|
|
1819
|
-
useExisting: SacDropzoneSingleComponent,
|
|
1820
|
-
},
|
|
1821
|
-
{
|
|
1822
|
-
provide: NG_VALIDATORS,
|
|
1823
|
-
multi: true,
|
|
1824
|
-
useExisting: forwardRef(() => SacDropzoneSingleComponent),
|
|
1825
|
-
},
|
|
1826
|
-
],
|
|
1827
|
-
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
|
|
1828
|
-
},] }
|
|
1829
|
-
];
|
|
1830
|
-
SacDropzoneSingleComponent.ctorParameters = () => [
|
|
1831
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1832
|
-
{ type: Injector },
|
|
1833
|
-
{ type: Renderer2 },
|
|
1834
|
-
{ type: NgZone }
|
|
1835
|
-
];
|
|
1836
|
-
|
|
1837
|
-
// https://github.com/kukhariev/ngx-uploadx/
|
|
1838
|
-
class SacUploadComponent extends SacUploadSingleCommon {
|
|
1839
|
-
// #region Constructors
|
|
1840
|
-
/**
|
|
1841
|
-
* Constructor
|
|
1842
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1843
|
-
* @param injector Injector for injecting services
|
|
1844
|
-
* @param renderer Angular rendering engine
|
|
1845
|
-
* @param ngZone ngZone to manage external javascripts
|
|
1846
|
-
*/
|
|
1847
|
-
constructor(formLayout, injector, renderer, ngZone) {
|
|
1848
|
-
super(formLayout, injector, renderer, ngZone);
|
|
1849
|
-
}
|
|
1850
|
-
}
|
|
1851
|
-
SacUploadComponent.decorators = [
|
|
1852
|
-
{ type: Component, args: [{
|
|
1853
|
-
selector: 'sac-upload',
|
|
1854
|
-
template: "<div\
|
|
1855
|
-
providers: [
|
|
1856
|
-
{
|
|
1857
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1858
|
-
multi: true,
|
|
1859
|
-
useExisting: SacUploadComponent,
|
|
1860
|
-
},
|
|
1861
|
-
{
|
|
1862
|
-
provide: NG_VALIDATORS,
|
|
1863
|
-
multi: true,
|
|
1864
|
-
useExisting: forwardRef(() => SacUploadComponent),
|
|
1865
|
-
},
|
|
1866
|
-
],
|
|
1867
|
-
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
|
|
1868
|
-
},] }
|
|
1869
|
-
];
|
|
1870
|
-
SacUploadComponent.ctorParameters = () => [
|
|
1871
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1872
|
-
{ type: Injector },
|
|
1873
|
-
{ type: Renderer2 },
|
|
1874
|
-
{ type: NgZone }
|
|
1875
|
-
];
|
|
1876
|
-
|
|
1877
|
-
// https://github.com/kukhariev/ngx-uploadx/
|
|
1878
|
-
class SacUploadMultipleComponent extends SacUploadMultipleCommon {
|
|
1879
|
-
// #region Constructors
|
|
1880
|
-
/**
|
|
1881
|
-
* Constructor
|
|
1882
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1883
|
-
* @param injector Injector for injecting services
|
|
1884
|
-
* @param renderer Angular rendering engine
|
|
1885
|
-
* @param ngZone ngZone to manage external javascripts
|
|
1886
|
-
*/
|
|
1887
|
-
constructor(formLayout, injector, renderer, ngZone) {
|
|
1888
|
-
super(formLayout, injector, renderer, ngZone);
|
|
1889
|
-
}
|
|
1890
|
-
}
|
|
1891
|
-
SacUploadMultipleComponent.decorators = [
|
|
1892
|
-
{ type: Component, args: [{
|
|
1893
|
-
selector: 'sac-uploadmultiple',
|
|
1894
|
-
template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div\r\n class=\"col-xs-12\"\r\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <i [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\r\n </div>\r\n\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconUpload\"></span> {{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let file of uploads\"\r\n style=\"margin-top: 5px\">\r\n <div\r\n class=\"input-group upload-component upload-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"input-group-btn\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <!-- image-preview-clear button -->\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\r\n class=\"btn\"\r\n (click)=\"pause(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </a>\r\n <a\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconUpload\"></span> {{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
1895
|
-
providers: [
|
|
1896
|
-
{
|
|
1897
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1898
|
-
multi: true,
|
|
1899
|
-
useExisting: SacUploadMultipleComponent,
|
|
1900
|
-
},
|
|
1901
|
-
{
|
|
1902
|
-
provide: NG_VALIDATORS,
|
|
1903
|
-
multi: true,
|
|
1904
|
-
useExisting: forwardRef(() => SacUploadMultipleComponent),
|
|
1905
|
-
},
|
|
1906
|
-
],
|
|
1907
|
-
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
|
|
1908
|
-
},] }
|
|
1909
|
-
];
|
|
1910
|
-
SacUploadMultipleComponent.ctorParameters = () => [
|
|
1911
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1912
|
-
{ type: Injector },
|
|
1913
|
-
{ type: Renderer2 },
|
|
1914
|
-
{ type: NgZone }
|
|
1915
|
-
];
|
|
1916
|
-
|
|
1917
|
-
class SACBootstrap3UploadModule {
|
|
1918
|
-
}
|
|
1919
|
-
SACBootstrap3UploadModule.decorators = [
|
|
1920
|
-
{ type: NgModule, args: [{
|
|
1921
|
-
declarations: [
|
|
1922
|
-
SacUploadComponent,
|
|
1923
|
-
SacUploadMultipleComponent,
|
|
1924
|
-
SacDropzoneSingleComponent,
|
|
1925
|
-
SacDropzoneMultipleComponent,
|
|
1926
|
-
],
|
|
1927
|
-
imports: [CommonModule, FormsModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule],
|
|
1928
|
-
exports: [SacUploadComponent, SacUploadMultipleComponent, SacDropzoneSingleComponent, SacDropzoneMultipleComponent],
|
|
1929
|
-
},] }
|
|
1930
|
-
];
|
|
1931
|
-
|
|
1932
|
-
/**
|
|
1933
|
-
* Erweiterung / Hooking für automatismen in Formular. Wird als Container für alle Controls benötigt.
|
|
1934
|
-
*
|
|
1935
|
-
* @example Beispiel über Div Container
|
|
1936
|
-
*
|
|
1937
|
-
* <div ngForm></div>
|
|
1938
|
-
*
|
|
1939
|
-
* @example Beispiel über Form Tag
|
|
1940
|
-
*
|
|
1941
|
-
* <form></form>
|
|
1942
|
-
*/
|
|
1943
|
-
/* eslint @angular-eslint/directive-selector: 0 */
|
|
1944
|
-
class SacFormDirective extends SacFormCommon {
|
|
1945
|
-
// #endregion Properties
|
|
1946
|
-
// #region Constructors
|
|
1947
|
-
/**
|
|
1948
|
-
* Konstruktor
|
|
1949
|
-
* @param form Instanz von NgForm für eigene automatische Formular Logik
|
|
1950
|
-
*/
|
|
1951
|
-
constructor(form) {
|
|
1952
|
-
super(form);
|
|
1953
|
-
// #region Properties
|
|
1954
|
-
/**
|
|
1955
|
-
* Sets the standard CSS class for forms on the form container
|
|
1956
|
-
*/
|
|
1957
|
-
this.cssClassForm = true;
|
|
1958
|
-
/**
|
|
1959
|
-
* Sets the default CSS class for horizontal forms on the form container
|
|
1960
|
-
*/
|
|
1961
|
-
this.cssClassHorizontal = true;
|
|
1962
|
-
}
|
|
1963
|
-
}
|
|
1964
|
-
SacFormDirective.decorators = [
|
|
1965
|
-
{ type: Directive, args: [{
|
|
1966
|
-
selector: 'form:not([ngNoForm]):not([formGroup]),[ngForm]',
|
|
1967
|
-
exportAs: 'sacform',
|
|
1968
|
-
},] }
|
|
1969
|
-
];
|
|
1970
|
-
SacFormDirective.ctorParameters = () => [
|
|
1971
|
-
{ type: NgForm }
|
|
1972
|
-
];
|
|
1973
|
-
SacFormDirective.propDecorators = {
|
|
1974
|
-
cssClassForm: [{ type: HostBinding, args: ['class.form',] }],
|
|
1975
|
-
cssClassHorizontal: [{ type: HostBinding, args: ['class.form-horizontal',] }]
|
|
1612
|
+
class SACBootstrap3TabsModule {
|
|
1613
|
+
}
|
|
1614
|
+
SACBootstrap3TabsModule.decorators = [
|
|
1615
|
+
{ type: NgModule, args: [{
|
|
1616
|
+
declarations: [SacTabComponent, SacTabItemComponent],
|
|
1617
|
+
imports: [
|
|
1618
|
+
CommonModule
|
|
1619
|
+
],
|
|
1620
|
+
exports: [SacTabComponent, SacTabItemComponent]
|
|
1621
|
+
},] }
|
|
1622
|
+
];
|
|
1623
|
+
|
|
1624
|
+
class SacTinyMceComponent extends SacTinyMceCommon {
|
|
1625
|
+
// #region Constructors
|
|
1626
|
+
/**
|
|
1627
|
+
* Constructor
|
|
1628
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1629
|
+
* @param injector Injector for injecting services
|
|
1630
|
+
* @param ngZone ngZone to manage external javascripts
|
|
1631
|
+
*/
|
|
1632
|
+
constructor(formLayout, injector, ngZone) {
|
|
1633
|
+
super(formLayout, injector, ngZone);
|
|
1634
|
+
}
|
|
1635
|
+
// #endregion Constructors
|
|
1636
|
+
// #region Public Methods
|
|
1637
|
+
/**
|
|
1638
|
+
* overwrite tinymce defaults
|
|
1639
|
+
* @returns boostrap3 does not support file browser
|
|
1640
|
+
*/
|
|
1641
|
+
overwriteDefaultSettings() {
|
|
1642
|
+
return { file_picker_types: undefined, file_picker_callback: undefined };
|
|
1643
|
+
}
|
|
1644
|
+
}
|
|
1645
|
+
SacTinyMceComponent.decorators = [
|
|
1646
|
+
{ type: Component, args: [{
|
|
1647
|
+
selector: 'sac-tinymce',
|
|
1648
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <editor\n [id]=\"name + '_tinymce'\"\n [init]=\"_config\"\n [initialValue]=\"value\"\n ngModel\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"setValue($event)\"\n (onSaveContent)=\"save($event.event.content)\"\n [disabled]=\"disabled\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"></editor>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n\n<sac-dialog\n *ngIf=\"selectdialogvisible\"\n [allowesc]=\"false\"\n [backdrop]=\"true\"\n [(isvisible)]=\"selectdialogvisible\"\n title=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}\"\n size=\"large\"\n height=\"500px\">\n <ng-container dialogbody> </ng-container>\n <ng-container dialogfooter>\n <sac-button\n role=\"primary\"\n [name]=\"name + '_modalOk'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}\"\n (clicked)=\"setSelectDialogResult()\"></sac-button>\n <sac-button\n [name]=\"name + '_modalClose'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\n (clicked)=\"closeSelectDialog()\"></sac-button>\n </ng-container>\n</sac-dialog>\n",
|
|
1649
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1650
|
+
providers: [
|
|
1651
|
+
{
|
|
1652
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1653
|
+
multi: true,
|
|
1654
|
+
useExisting: SacTinyMceComponent,
|
|
1655
|
+
},
|
|
1656
|
+
{
|
|
1657
|
+
provide: NG_VALIDATORS,
|
|
1658
|
+
useExisting: forwardRef(() => SacTinyMceComponent),
|
|
1659
|
+
multi: true,
|
|
1660
|
+
},
|
|
1661
|
+
]
|
|
1662
|
+
},] }
|
|
1663
|
+
];
|
|
1664
|
+
SacTinyMceComponent.ctorParameters = () => [
|
|
1665
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1666
|
+
{ type: Injector },
|
|
1667
|
+
{ type: NgZone }
|
|
1668
|
+
];
|
|
1669
|
+
|
|
1670
|
+
class SACBootstrap3TinyMceModule {
|
|
1671
|
+
}
|
|
1672
|
+
SACBootstrap3TinyMceModule.decorators = [
|
|
1673
|
+
{ type: NgModule, args: [{
|
|
1674
|
+
declarations: [SacTinyMceComponent],
|
|
1675
|
+
imports: [
|
|
1676
|
+
CommonModule,
|
|
1677
|
+
FormsModule,
|
|
1678
|
+
EditorModule,
|
|
1679
|
+
SACBootstrap3ButtonModule,
|
|
1680
|
+
SACBootstrap3DialogModule,
|
|
1681
|
+
SACBootstrap3LayoutModule,
|
|
1682
|
+
SACBootstrap3TooltipModule,
|
|
1683
|
+
],
|
|
1684
|
+
exports: [SacTinyMceComponent],
|
|
1685
|
+
},] }
|
|
1686
|
+
];
|
|
1687
|
+
|
|
1688
|
+
/**
|
|
1689
|
+
* Treeview Compomnent
|
|
1690
|
+
*/
|
|
1691
|
+
class SacTreeviewComponent extends SacTreeviewCommon {
|
|
1692
|
+
// #region Constructors
|
|
1693
|
+
/**
|
|
1694
|
+
* Constructor
|
|
1695
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1696
|
+
* @param injector Component Injector
|
|
1697
|
+
*/
|
|
1698
|
+
constructor(formLayout, injector) {
|
|
1699
|
+
super(formLayout, injector);
|
|
1700
|
+
}
|
|
1701
|
+
}
|
|
1702
|
+
SacTreeviewComponent.decorators = [
|
|
1703
|
+
{ type: Component, args: [{
|
|
1704
|
+
selector: 'sac-treeview',
|
|
1705
|
+
template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [class.has-error]=\"invalid && (dirty || touched)\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.width.%]=\"helptextmode === 'tooltip' && helptext && disablelabel ? '100' : null\">\n <table\n class=\"table table-hover table-condensed\"\n id=\"{{ name }}\"\n style=\"table-layout: fixed\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.border]=\"invalid && (dirty || touched)\"\n [class.border-danger]=\"invalid && (dirty || touched)\">\n <tbody>\n <ng-container *ngFor=\"let node of data\">\n <ng-template\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{ node: node, deep: 0, path: '', textpath: '' }\">\n </ng-template>\n </ng-container>\n </tbody>\n </table>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n</div>\n<ng-template\n #treeItem\n let-node=\"node\"\n let-deep=\"deep\"\n let-path=\"path\"\n let-textpath=\"textpath\">\n <tr\n [class.active]=\"isSelectedState(node)\"\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\n <td>\n <div\n class=\"py-1 px-2 d-flex align-items-center\"\n style=\"display: flex; flex-direction: row; cursor: pointer; align-items: center\"\n (mouseenter)=\"setHoverState(node, true)\"\n (mouseleave)=\"setHoverState(node, false)\">\n <div\n style=\"margin-right: 15px\"\n *ngFor=\"let i of count(deep)\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\n style=\"margin-right: 15px\"\n [ngClass]=\"!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : ''\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"attricon && getStringField(node, attricon)\">\n <ng-template\n [ngTemplateOutlet]=\"templateicon || defaultTemplateIcon\"\n [ngTemplateOutletContext]=\"{ node: node }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n style=\"padding-top: 7px; padding-bottom: 7px; flex-grow: 1\"\n [style.max-width.%]=\"enableellipsis ? '100' : null\"\n [style.overflow]=\"enableellipsis ? 'hidden' : null\"\n [style.text-overflow]=\"enableellipsis ? 'ellipsis' : null\"\n [style.white-space]=\"enableellipsis ? 'nowrap' : null\">\n <ng-template\n [ngTemplateOutlet]=\"templatelabel || defaultTemplateLabel\"\n [ngTemplateOutletContext]=\"{ node: node, label: getStringField(node, attrlabel) }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"setSelectedState(node)\"\n style=\"flex-shrink: 0\"\n *ngIf=\"!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))\">\n <ng-template\n [ngTemplateOutlet]=\"templateaction || defaultTemplateAction\"\n [ngTemplateOutletContext]=\"{ node: node, actionhandler: onActionClicked.bind(this) }\">\n </ng-template>\n </div>\n </div>\n </td>\n </tr>\n <ng-container *ngIf=\"isExpandedState(node)\">\n <ng-template\n *ngFor=\"let child of getChildren(node)\"\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{\n node: child,\n deep: deep + 1,\n path: path + '/' + getStringField(node, attrid),\n textpath: textpath + '/' + getStringField(node, attrlabel)\n }\">\n </ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template\n #defaultTemplateLabel\n let-label=\"label\"\n let-node=\"node\">\n <span [title]=\"label\">\n {{ label }}\n </span>\n</ng-template>\n\n<ng-template\n #defaultTemplateIcon\n let-node=\"node\">\n <div\n style=\"margin-right: 15px\"\n [ngClass]=\"getStringField(node, attricon)\">\n </div>\n</ng-template>\n\n<ng-template\n #defaultTemplateAction\n let-node=\"node\"\n let-actionhandler=\"actionhandler\">\n <a\n class=\"btn btn-link text-secondary\"\n (click)=\"actionhandler({ action: 'default', node: node })\">\n <i [class]=\"iconAction\"></i>\n </a>\n</ng-template>\n",
|
|
1706
|
+
providers: [
|
|
1707
|
+
{
|
|
1708
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1709
|
+
multi: true,
|
|
1710
|
+
useExisting: SacTreeviewComponent,
|
|
1711
|
+
},
|
|
1712
|
+
{
|
|
1713
|
+
provide: NG_VALIDATORS,
|
|
1714
|
+
useExisting: forwardRef(() => SacTreeviewComponent),
|
|
1715
|
+
multi: true,
|
|
1716
|
+
},
|
|
1717
|
+
]
|
|
1718
|
+
},] }
|
|
1719
|
+
];
|
|
1720
|
+
SacTreeviewComponent.ctorParameters = () => [
|
|
1721
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1722
|
+
{ type: Injector }
|
|
1723
|
+
];
|
|
1724
|
+
|
|
1725
|
+
class SACBootstrap3TreeviewModule {
|
|
1726
|
+
}
|
|
1727
|
+
SACBootstrap3TreeviewModule.decorators = [
|
|
1728
|
+
{ type: NgModule, args: [{
|
|
1729
|
+
declarations: [SacTreeviewComponent],
|
|
1730
|
+
imports: [CommonModule, SACBootstrap3TooltipModule, SACBootstrap3LayoutModule, SACBootstrap3ContextmenuModule],
|
|
1731
|
+
exports: [SacTreeviewComponent],
|
|
1732
|
+
},] }
|
|
1733
|
+
];
|
|
1734
|
+
|
|
1735
|
+
/**
|
|
1736
|
+
* Dropzone Komponente für mehrere Uploads
|
|
1737
|
+
* @see https://github.com/kukhariev/ngx-uploadx/
|
|
1738
|
+
*/
|
|
1739
|
+
class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon {
|
|
1740
|
+
// #region Constructors
|
|
1741
|
+
/**
|
|
1742
|
+
* Constructor
|
|
1743
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1744
|
+
* @param injector Injector for injecting services
|
|
1745
|
+
* @param renderer Angular rendering engine
|
|
1746
|
+
* @param ngZone ngZone to manage external javascripts
|
|
1747
|
+
*/
|
|
1748
|
+
constructor(formLayout, injector, renderer, ngZone) {
|
|
1749
|
+
super(formLayout, injector, renderer, ngZone);
|
|
1750
|
+
}
|
|
1751
|
+
// #endregion Constructors
|
|
1752
|
+
// #region Public Methods
|
|
1753
|
+
/**
|
|
1754
|
+
* Initialisiert das Control
|
|
1755
|
+
*/
|
|
1756
|
+
ngOnInit() {
|
|
1757
|
+
super.ngOnInit();
|
|
1758
|
+
}
|
|
1759
|
+
}
|
|
1760
|
+
SacDropzoneMultipleComponent.decorators = [
|
|
1761
|
+
{ type: Component, args: [{
|
|
1762
|
+
selector: 'sac-dropzonemultiple',
|
|
1763
|
+
template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class.active]=\"active\"\n [style.min-height]=\"uploadheight\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n [class.mt-1]=\"i > 0\"\n *ngFor=\"let file of uploads; let i = index\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress border-secondary\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n multiple\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
|
|
1764
|
+
providers: [
|
|
1765
|
+
{
|
|
1766
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1767
|
+
multi: true,
|
|
1768
|
+
useExisting: SacDropzoneMultipleComponent,
|
|
1769
|
+
},
|
|
1770
|
+
{
|
|
1771
|
+
provide: NG_VALIDATORS,
|
|
1772
|
+
multi: true,
|
|
1773
|
+
useExisting: forwardRef(() => SacDropzoneMultipleComponent),
|
|
1774
|
+
},
|
|
1775
|
+
],
|
|
1776
|
+
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
|
|
1777
|
+
},] }
|
|
1778
|
+
];
|
|
1779
|
+
SacDropzoneMultipleComponent.ctorParameters = () => [
|
|
1780
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1781
|
+
{ type: Injector },
|
|
1782
|
+
{ type: Renderer2 },
|
|
1783
|
+
{ type: NgZone }
|
|
1784
|
+
];
|
|
1785
|
+
|
|
1786
|
+
/**
|
|
1787
|
+
* Dropzone Komponente für den Upload eines Files
|
|
1788
|
+
* @see https://github.com/kukhariev/ngx-uploadx/
|
|
1789
|
+
*/
|
|
1790
|
+
class SacDropzoneSingleComponent extends SacDropzoneSingleCommon {
|
|
1791
|
+
// #region Constructors
|
|
1792
|
+
/**
|
|
1793
|
+
* Constructor
|
|
1794
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1795
|
+
* @param injector Injector for injecting services
|
|
1796
|
+
* @param renderer Angular rendering engine
|
|
1797
|
+
* @param ngZone ngZone to manage external javascripts
|
|
1798
|
+
*/
|
|
1799
|
+
constructor(formLayout, injector, renderer, ngZone) {
|
|
1800
|
+
super(formLayout, injector, renderer, ngZone);
|
|
1801
|
+
}
|
|
1802
|
+
// #endregion Constructors
|
|
1803
|
+
// #region Public Methods
|
|
1804
|
+
/**
|
|
1805
|
+
* Initialisiert das Control
|
|
1806
|
+
*/
|
|
1807
|
+
ngOnInit() {
|
|
1808
|
+
super.ngOnInit();
|
|
1809
|
+
}
|
|
1810
|
+
}
|
|
1811
|
+
SacDropzoneSingleComponent.decorators = [
|
|
1812
|
+
{ type: Component, args: [{
|
|
1813
|
+
selector: 'sac-dropzonesingle',
|
|
1814
|
+
template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [style.min-height]=\"uploadheight\"\n [class.active]=\"active\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n *ngFor=\"let file of uploads\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
|
|
1815
|
+
providers: [
|
|
1816
|
+
{
|
|
1817
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1818
|
+
multi: true,
|
|
1819
|
+
useExisting: SacDropzoneSingleComponent,
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
provide: NG_VALIDATORS,
|
|
1823
|
+
multi: true,
|
|
1824
|
+
useExisting: forwardRef(() => SacDropzoneSingleComponent),
|
|
1825
|
+
},
|
|
1826
|
+
],
|
|
1827
|
+
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
|
|
1828
|
+
},] }
|
|
1829
|
+
];
|
|
1830
|
+
SacDropzoneSingleComponent.ctorParameters = () => [
|
|
1831
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1832
|
+
{ type: Injector },
|
|
1833
|
+
{ type: Renderer2 },
|
|
1834
|
+
{ type: NgZone }
|
|
1835
|
+
];
|
|
1836
|
+
|
|
1837
|
+
// https://github.com/kukhariev/ngx-uploadx/
|
|
1838
|
+
class SacUploadComponent extends SacUploadSingleCommon {
|
|
1839
|
+
// #region Constructors
|
|
1840
|
+
/**
|
|
1841
|
+
* Constructor
|
|
1842
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1843
|
+
* @param injector Injector for injecting services
|
|
1844
|
+
* @param renderer Angular rendering engine
|
|
1845
|
+
* @param ngZone ngZone to manage external javascripts
|
|
1846
|
+
*/
|
|
1847
|
+
constructor(formLayout, injector, renderer, ngZone) {
|
|
1848
|
+
super(formLayout, injector, renderer, ngZone);
|
|
1849
|
+
}
|
|
1850
|
+
}
|
|
1851
|
+
SacUploadComponent.decorators = [
|
|
1852
|
+
{ type: Component, args: [{
|
|
1853
|
+
selector: 'sac-upload',
|
|
1854
|
+
template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"input-group upload-component upload-single\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-btn\">\n <!-- image-preview-input -->\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"HasQueueItem()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"HasQueueItem()\" />\n </div>\n </div>\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"Progress() === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"Progress()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"Progress()\">\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused()\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
|
|
1855
|
+
providers: [
|
|
1856
|
+
{
|
|
1857
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1858
|
+
multi: true,
|
|
1859
|
+
useExisting: SacUploadComponent,
|
|
1860
|
+
},
|
|
1861
|
+
{
|
|
1862
|
+
provide: NG_VALIDATORS,
|
|
1863
|
+
multi: true,
|
|
1864
|
+
useExisting: forwardRef(() => SacUploadComponent),
|
|
1865
|
+
},
|
|
1866
|
+
],
|
|
1867
|
+
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
|
|
1868
|
+
},] }
|
|
1869
|
+
];
|
|
1870
|
+
SacUploadComponent.ctorParameters = () => [
|
|
1871
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1872
|
+
{ type: Injector },
|
|
1873
|
+
{ type: Renderer2 },
|
|
1874
|
+
{ type: NgZone }
|
|
1875
|
+
];
|
|
1876
|
+
|
|
1877
|
+
// https://github.com/kukhariev/ngx-uploadx/
|
|
1878
|
+
class SacUploadMultipleComponent extends SacUploadMultipleCommon {
|
|
1879
|
+
// #region Constructors
|
|
1880
|
+
/**
|
|
1881
|
+
* Constructor
|
|
1882
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
1883
|
+
* @param injector Injector for injecting services
|
|
1884
|
+
* @param renderer Angular rendering engine
|
|
1885
|
+
* @param ngZone ngZone to manage external javascripts
|
|
1886
|
+
*/
|
|
1887
|
+
constructor(formLayout, injector, renderer, ngZone) {
|
|
1888
|
+
super(formLayout, injector, renderer, ngZone);
|
|
1889
|
+
}
|
|
1890
|
+
}
|
|
1891
|
+
SacUploadMultipleComponent.decorators = [
|
|
1892
|
+
{ type: Component, args: [{
|
|
1893
|
+
selector: 'sac-uploadmultiple',
|
|
1894
|
+
template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div class=\"upload-component\">\n <div class=\"row\">\n <div\n class=\"col-xs-12\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\n </div>\n\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span>\n {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n\n <div\n *ngFor=\"let file of uploads\"\n style=\"margin-top: 5px\">\n <div\n class=\"input-group upload-component upload-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div\n class=\"input-group-btn\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\n class=\"btn\"\n (click)=\"pause(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n",
|
|
1895
|
+
providers: [
|
|
1896
|
+
{
|
|
1897
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1898
|
+
multi: true,
|
|
1899
|
+
useExisting: SacUploadMultipleComponent,
|
|
1900
|
+
},
|
|
1901
|
+
{
|
|
1902
|
+
provide: NG_VALIDATORS,
|
|
1903
|
+
multi: true,
|
|
1904
|
+
useExisting: forwardRef(() => SacUploadMultipleComponent),
|
|
1905
|
+
},
|
|
1906
|
+
],
|
|
1907
|
+
styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{bottom:0;display:inline-block;left:0;margin:0;opacity:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:2}.upload-component.upload-multiple .upload-progress .progress{border-bottom-right-radius:0;border-top-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone{border-style:dashed;border-width:2px;min-height:120px;padding-bottom:50px;padding-top:50px;position:relative;text-align:center;width:100%}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{border-bottom-right-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.dropzone .progress .progress-bar .progress-text{color:#000;display:table-cell;height:34px;left:0;line-height:34px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.dropzone input[type=file]{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.dropzone .dropzone-uploadstates{margin-left:auto;margin-right:auto;margin-top:6px;max-width:450px;width:80%}"]
|
|
1908
|
+
},] }
|
|
1909
|
+
];
|
|
1910
|
+
SacUploadMultipleComponent.ctorParameters = () => [
|
|
1911
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
1912
|
+
{ type: Injector },
|
|
1913
|
+
{ type: Renderer2 },
|
|
1914
|
+
{ type: NgZone }
|
|
1915
|
+
];
|
|
1916
|
+
|
|
1917
|
+
class SACBootstrap3UploadModule {
|
|
1918
|
+
}
|
|
1919
|
+
SACBootstrap3UploadModule.decorators = [
|
|
1920
|
+
{ type: NgModule, args: [{
|
|
1921
|
+
declarations: [
|
|
1922
|
+
SacUploadComponent,
|
|
1923
|
+
SacUploadMultipleComponent,
|
|
1924
|
+
SacDropzoneSingleComponent,
|
|
1925
|
+
SacDropzoneMultipleComponent,
|
|
1926
|
+
],
|
|
1927
|
+
imports: [CommonModule, FormsModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule],
|
|
1928
|
+
exports: [SacUploadComponent, SacUploadMultipleComponent, SacDropzoneSingleComponent, SacDropzoneMultipleComponent],
|
|
1929
|
+
},] }
|
|
1930
|
+
];
|
|
1931
|
+
|
|
1932
|
+
/**
|
|
1933
|
+
* Erweiterung / Hooking für automatismen in Formular. Wird als Container für alle Controls benötigt.
|
|
1934
|
+
*
|
|
1935
|
+
* @example Beispiel über Div Container
|
|
1936
|
+
*
|
|
1937
|
+
* <div ngForm></div>
|
|
1938
|
+
*
|
|
1939
|
+
* @example Beispiel über Form Tag
|
|
1940
|
+
*
|
|
1941
|
+
* <form></form>
|
|
1942
|
+
*/
|
|
1943
|
+
/* eslint @angular-eslint/directive-selector: 0 */
|
|
1944
|
+
class SacFormDirective extends SacFormCommon {
|
|
1945
|
+
// #endregion Properties
|
|
1946
|
+
// #region Constructors
|
|
1947
|
+
/**
|
|
1948
|
+
* Konstruktor
|
|
1949
|
+
* @param form Instanz von NgForm für eigene automatische Formular Logik
|
|
1950
|
+
*/
|
|
1951
|
+
constructor(form) {
|
|
1952
|
+
super(form);
|
|
1953
|
+
// #region Properties
|
|
1954
|
+
/**
|
|
1955
|
+
* Sets the standard CSS class for forms on the form container
|
|
1956
|
+
*/
|
|
1957
|
+
this.cssClassForm = true;
|
|
1958
|
+
/**
|
|
1959
|
+
* Sets the default CSS class for horizontal forms on the form container
|
|
1960
|
+
*/
|
|
1961
|
+
this.cssClassHorizontal = true;
|
|
1962
|
+
}
|
|
1963
|
+
}
|
|
1964
|
+
SacFormDirective.decorators = [
|
|
1965
|
+
{ type: Directive, args: [{
|
|
1966
|
+
selector: 'form:not([ngNoForm]):not([formGroup]),[ngForm]',
|
|
1967
|
+
exportAs: 'sacform',
|
|
1968
|
+
},] }
|
|
1969
|
+
];
|
|
1970
|
+
SacFormDirective.ctorParameters = () => [
|
|
1971
|
+
{ type: NgForm }
|
|
1972
|
+
];
|
|
1973
|
+
SacFormDirective.propDecorators = {
|
|
1974
|
+
cssClassForm: [{ type: HostBinding, args: ['class.form',] }],
|
|
1975
|
+
cssClassHorizontal: [{ type: HostBinding, args: ['class.form-horizontal',] }]
|
|
1976
1976
|
};
|
|
1977
1977
|
|
|
1978
|
-
class SacValidationSummaryComponent extends SacValidationSummaryCommon {
|
|
1979
|
-
// #region Constructors
|
|
1980
|
-
/**
|
|
1981
|
-
* Constructor
|
|
1982
|
-
* @param formControl Instance of Form Component to receive invalid form controls
|
|
1983
|
-
* @param injector Injector for injecting services
|
|
1984
|
-
*/
|
|
1985
|
-
constructor(formControl, injector) {
|
|
1986
|
-
super(formControl, injector);
|
|
1987
|
-
}
|
|
1988
|
-
}
|
|
1989
|
-
SacValidationSummaryComponent.decorators = [
|
|
1990
|
-
{ type: Component, args: [{
|
|
1991
|
-
selector: 'sac-validationsummary',
|
|
1992
|
-
template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\" [id]=\"name\">\
|
|
1993
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1994
|
-
providers: [
|
|
1995
|
-
{
|
|
1996
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1997
|
-
multi: true,
|
|
1998
|
-
useExisting: SacValidationSummaryComponent,
|
|
1999
|
-
},
|
|
2000
|
-
]
|
|
2001
|
-
},] }
|
|
2002
|
-
];
|
|
2003
|
-
SacValidationSummaryComponent.ctorParameters = () => [
|
|
2004
|
-
{ type: SacFormDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
2005
|
-
{ type: Injector }
|
|
2006
|
-
];
|
|
2007
|
-
|
|
2008
|
-
class SACBootstrap3ValidationSummaryModule {
|
|
2009
|
-
}
|
|
2010
|
-
SACBootstrap3ValidationSummaryModule.decorators = [
|
|
2011
|
-
{ type: NgModule, args: [{
|
|
2012
|
-
declarations: [SacValidationSummaryComponent],
|
|
2013
|
-
imports: [
|
|
2014
|
-
CommonModule
|
|
2015
|
-
],
|
|
2016
|
-
exports: [SacValidationSummaryComponent]
|
|
2017
|
-
},] }
|
|
2018
|
-
];
|
|
2019
|
-
|
|
2020
|
-
class SacWizardItemComponent extends SacWizardItemCommon {
|
|
2021
|
-
}
|
|
2022
|
-
SacWizardItemComponent.decorators = [
|
|
2023
|
-
{ type: Component, args: [{
|
|
2024
|
-
selector: 'sac-wizarditem',
|
|
2025
|
-
template: ""
|
|
2026
|
-
},] }
|
|
2027
|
-
];
|
|
2028
|
-
|
|
2029
|
-
class SacWizardComponent extends SacWizardCommon {
|
|
2030
|
-
wizardItems() {
|
|
2031
|
-
return this._wizardItems;
|
|
2032
|
-
}
|
|
2033
|
-
}
|
|
2034
|
-
SacWizardComponent.decorators = [
|
|
2035
|
-
{ type: Component, args: [{
|
|
2036
|
-
selector: 'sac-wizard',
|
|
2037
|
-
template: "<ul [id]=\"name\" class=\"nav nav-wizard\" role=\"tablist\">\
|
|
2038
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
2039
|
-
providers: [
|
|
2040
|
-
{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent }
|
|
2041
|
-
]
|
|
2042
|
-
},] }
|
|
2043
|
-
];
|
|
2044
|
-
SacWizardComponent.propDecorators = {
|
|
2045
|
-
_wizardItems: [{ type: ContentChildren, args: [SacWizardItemComponent,] }]
|
|
1978
|
+
class SacValidationSummaryComponent extends SacValidationSummaryCommon {
|
|
1979
|
+
// #region Constructors
|
|
1980
|
+
/**
|
|
1981
|
+
* Constructor
|
|
1982
|
+
* @param formControl Instance of Form Component to receive invalid form controls
|
|
1983
|
+
* @param injector Injector for injecting services
|
|
1984
|
+
*/
|
|
1985
|
+
constructor(formControl, injector) {
|
|
1986
|
+
super(formControl, injector);
|
|
1987
|
+
}
|
|
1988
|
+
}
|
|
1989
|
+
SacValidationSummaryComponent.decorators = [
|
|
1990
|
+
{ type: Component, args: [{
|
|
1991
|
+
selector: 'sac-validationsummary',
|
|
1992
|
+
template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\" [id]=\"name\">\n <ul>\n <li *ngFor=\"let error of formErrors\">\n {{error | async}}\n </li>\n </ul>\n</div>\n",
|
|
1993
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
1994
|
+
providers: [
|
|
1995
|
+
{
|
|
1996
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1997
|
+
multi: true,
|
|
1998
|
+
useExisting: SacValidationSummaryComponent,
|
|
1999
|
+
},
|
|
2000
|
+
]
|
|
2001
|
+
},] }
|
|
2002
|
+
];
|
|
2003
|
+
SacValidationSummaryComponent.ctorParameters = () => [
|
|
2004
|
+
{ type: SacFormDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
2005
|
+
{ type: Injector }
|
|
2006
|
+
];
|
|
2007
|
+
|
|
2008
|
+
class SACBootstrap3ValidationSummaryModule {
|
|
2009
|
+
}
|
|
2010
|
+
SACBootstrap3ValidationSummaryModule.decorators = [
|
|
2011
|
+
{ type: NgModule, args: [{
|
|
2012
|
+
declarations: [SacValidationSummaryComponent],
|
|
2013
|
+
imports: [
|
|
2014
|
+
CommonModule
|
|
2015
|
+
],
|
|
2016
|
+
exports: [SacValidationSummaryComponent]
|
|
2017
|
+
},] }
|
|
2018
|
+
];
|
|
2019
|
+
|
|
2020
|
+
class SacWizardItemComponent extends SacWizardItemCommon {
|
|
2021
|
+
}
|
|
2022
|
+
SacWizardItemComponent.decorators = [
|
|
2023
|
+
{ type: Component, args: [{
|
|
2024
|
+
selector: 'sac-wizarditem',
|
|
2025
|
+
template: ""
|
|
2026
|
+
},] }
|
|
2027
|
+
];
|
|
2028
|
+
|
|
2029
|
+
class SacWizardComponent extends SacWizardCommon {
|
|
2030
|
+
wizardItems() {
|
|
2031
|
+
return this._wizardItems;
|
|
2032
|
+
}
|
|
2033
|
+
}
|
|
2034
|
+
SacWizardComponent.decorators = [
|
|
2035
|
+
{ type: Component, args: [{
|
|
2036
|
+
selector: 'sac-wizard',
|
|
2037
|
+
template: "<ul [id]=\"name\" class=\"nav nav-wizard\" role=\"tablist\">\n <li *ngFor=\"let item of _wizardItems\" class=\"nav-item\" [ngClass]=\"{ 'active': item._active, 'disabled': item._disabled, 'success': item._iscomplete }\"\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\">\n <a role=\"tab\" (click)=\"selectStep(item)\">\n <div class=\"circle\">\n <span class=\"step\"></span>\n </div>\n </a>\n <div class=\"info\">\n <a (click)=\"selectStep(item)\">{{item.label}}</a>\n </div>\n </li>\n</ul>\n",
|
|
2038
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
2039
|
+
providers: [
|
|
2040
|
+
{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent }
|
|
2041
|
+
]
|
|
2042
|
+
},] }
|
|
2043
|
+
];
|
|
2044
|
+
SacWizardComponent.propDecorators = {
|
|
2045
|
+
_wizardItems: [{ type: ContentChildren, args: [SacWizardItemComponent,] }]
|
|
2046
2046
|
};
|
|
2047
2047
|
|
|
2048
|
-
class SACBootstrap3WizardModule {
|
|
2049
|
-
}
|
|
2050
|
-
SACBootstrap3WizardModule.decorators = [
|
|
2051
|
-
{ type: NgModule, args: [{
|
|
2052
|
-
declarations: [SacWizardComponent, SacWizardItemComponent],
|
|
2053
|
-
imports: [
|
|
2054
|
-
CommonModule
|
|
2055
|
-
],
|
|
2056
|
-
exports: [SacWizardComponent, SacWizardItemComponent]
|
|
2057
|
-
},] }
|
|
2058
|
-
];
|
|
2059
|
-
|
|
2060
|
-
// #region Classes
|
|
2061
|
-
/**
|
|
2062
|
-
* Directive to inherit an NgForm/NgForm from a parent component
|
|
2063
|
-
*/
|
|
2064
|
-
class SacInheritFormDirective extends SacFormCommon {
|
|
2065
|
-
// #region Constructors
|
|
2066
|
-
/**
|
|
2067
|
-
* Construtor
|
|
2068
|
-
* @param injector: injector to receive the NgForm instance
|
|
2069
|
-
*/
|
|
2070
|
-
constructor(injector) {
|
|
2071
|
-
super(injector.get(NgForm));
|
|
2072
|
-
}
|
|
2073
|
-
}
|
|
2074
|
-
SacInheritFormDirective.decorators = [
|
|
2075
|
-
{ type: Directive, args: [{
|
|
2076
|
-
selector: '[sacInheritForm]',
|
|
2077
|
-
exportAs: 'sacinheritform',
|
|
2078
|
-
providers: [
|
|
2079
|
-
{
|
|
2080
|
-
provide: SacFormDirective,
|
|
2081
|
-
useFactory: SACFORM_FACTORY,
|
|
2082
|
-
deps: [[new SkipSelf(), SacFormDirective]],
|
|
2083
|
-
},
|
|
2084
|
-
{
|
|
2085
|
-
provide: ControlContainer,
|
|
2086
|
-
useFactory: NGFORM_FACTORY,
|
|
2087
|
-
deps: [NgForm],
|
|
2088
|
-
},
|
|
2089
|
-
],
|
|
2090
|
-
},] }
|
|
2091
|
-
];
|
|
2092
|
-
SacInheritFormDirective.ctorParameters = () => [
|
|
2093
|
-
{ type: Injector }
|
|
2094
|
-
];
|
|
2095
|
-
// #endregion Classes
|
|
2096
|
-
// #region Functions
|
|
2097
|
-
/**
|
|
2098
|
-
* Factory Methode für NgForm
|
|
2099
|
-
* @param form NgForm
|
|
2100
|
-
*/
|
|
2101
|
-
function NGFORM_FACTORY(form) {
|
|
2102
|
-
return form;
|
|
2103
|
-
}
|
|
2104
|
-
/**
|
|
2105
|
-
* Factory Methode für SacForm
|
|
2106
|
-
* @param form NgFormular
|
|
2107
|
-
*/
|
|
2108
|
-
function SACFORM_FACTORY(form) {
|
|
2109
|
-
return form;
|
|
2110
|
-
}
|
|
2048
|
+
class SACBootstrap3WizardModule {
|
|
2049
|
+
}
|
|
2050
|
+
SACBootstrap3WizardModule.decorators = [
|
|
2051
|
+
{ type: NgModule, args: [{
|
|
2052
|
+
declarations: [SacWizardComponent, SacWizardItemComponent],
|
|
2053
|
+
imports: [
|
|
2054
|
+
CommonModule
|
|
2055
|
+
],
|
|
2056
|
+
exports: [SacWizardComponent, SacWizardItemComponent]
|
|
2057
|
+
},] }
|
|
2058
|
+
];
|
|
2059
|
+
|
|
2060
|
+
// #region Classes
|
|
2061
|
+
/**
|
|
2062
|
+
* Directive to inherit an NgForm/NgForm from a parent component
|
|
2063
|
+
*/
|
|
2064
|
+
class SacInheritFormDirective extends SacFormCommon {
|
|
2065
|
+
// #region Constructors
|
|
2066
|
+
/**
|
|
2067
|
+
* Construtor
|
|
2068
|
+
* @param injector: injector to receive the NgForm instance
|
|
2069
|
+
*/
|
|
2070
|
+
constructor(injector) {
|
|
2071
|
+
super(injector.get(NgForm));
|
|
2072
|
+
}
|
|
2073
|
+
}
|
|
2074
|
+
SacInheritFormDirective.decorators = [
|
|
2075
|
+
{ type: Directive, args: [{
|
|
2076
|
+
selector: '[sacInheritForm]',
|
|
2077
|
+
exportAs: 'sacinheritform',
|
|
2078
|
+
providers: [
|
|
2079
|
+
{
|
|
2080
|
+
provide: SacFormDirective,
|
|
2081
|
+
useFactory: SACFORM_FACTORY,
|
|
2082
|
+
deps: [[new SkipSelf(), SacFormDirective]],
|
|
2083
|
+
},
|
|
2084
|
+
{
|
|
2085
|
+
provide: ControlContainer,
|
|
2086
|
+
useFactory: NGFORM_FACTORY,
|
|
2087
|
+
deps: [NgForm],
|
|
2088
|
+
},
|
|
2089
|
+
],
|
|
2090
|
+
},] }
|
|
2091
|
+
];
|
|
2092
|
+
SacInheritFormDirective.ctorParameters = () => [
|
|
2093
|
+
{ type: Injector }
|
|
2094
|
+
];
|
|
2095
|
+
// #endregion Classes
|
|
2096
|
+
// #region Functions
|
|
2097
|
+
/**
|
|
2098
|
+
* Factory Methode für NgForm
|
|
2099
|
+
* @param form NgForm
|
|
2100
|
+
*/
|
|
2101
|
+
function NGFORM_FACTORY(form) {
|
|
2102
|
+
return form;
|
|
2103
|
+
}
|
|
2104
|
+
/**
|
|
2105
|
+
* Factory Methode für SacForm
|
|
2106
|
+
* @param form NgFormular
|
|
2107
|
+
*/
|
|
2108
|
+
function SACFORM_FACTORY(form) {
|
|
2109
|
+
return form;
|
|
2110
|
+
}
|
|
2111
2111
|
// #endregion Functions
|
|
2112
2112
|
|
|
2113
|
-
class SACBootstrap3FormModule {
|
|
2114
|
-
}
|
|
2115
|
-
SACBootstrap3FormModule.decorators = [
|
|
2116
|
-
{ type: NgModule, args: [{
|
|
2117
|
-
declarations: [SacFormDirective, SacInheritFormDirective],
|
|
2118
|
-
imports: [CommonModule, FormsModule],
|
|
2119
|
-
exports: [SacFormDirective, SacInheritFormDirective],
|
|
2120
|
-
},] }
|
|
2113
|
+
class SACBootstrap3FormModule {
|
|
2114
|
+
}
|
|
2115
|
+
SACBootstrap3FormModule.decorators = [
|
|
2116
|
+
{ type: NgModule, args: [{
|
|
2117
|
+
declarations: [SacFormDirective, SacInheritFormDirective],
|
|
2118
|
+
imports: [CommonModule, FormsModule],
|
|
2119
|
+
exports: [SacFormDirective, SacInheritFormDirective],
|
|
2120
|
+
},] }
|
|
2121
2121
|
];
|
|
2122
2122
|
|
|
2123
|
-
/*
|
|
2124
|
-
* Public API Surface of sac-bootstrap3
|
|
2123
|
+
/*
|
|
2124
|
+
* Public API Surface of sac-bootstrap3
|
|
2125
2125
|
*/
|
|
2126
2126
|
|
|
2127
|
-
/**
|
|
2128
|
-
* Generated bundle index. Do not edit.
|
|
2127
|
+
/**
|
|
2128
|
+
* Generated bundle index. Do not edit.
|
|
2129
2129
|
*/
|
|
2130
2130
|
|
|
2131
2131
|
export { NGFORM_FACTORY, SACBootstrap3ButtonModule, SACBootstrap3CheckboxModule, SACBootstrap3ConfirmModule, SACBootstrap3ContextmenuModule, SACBootstrap3DateTimeModule, SACBootstrap3DialogModule, SACBootstrap3FormModule, SACBootstrap3GridModule, SACBootstrap3InputModule, SACBootstrap3LayoutModule, SACBootstrap3ListModule, SACBootstrap3StaticLabelModule, SACBootstrap3TabsModule, SACBootstrap3TinyMceModule, SACBootstrap3TooltipModule, SACBootstrap3TreeviewModule, SACBootstrap3UploadModule, SACBootstrap3ValidationSummaryModule, SACBootstrap3WizardModule, SACFORM_FACTORY, SacButtonComponent, SacCheckboxComponent, SacConfirmComponent, SacContextmenuAnchorDirective, SacContextmenuComponent, SacContextmenuItemButtonComponent, SacContextmenuItemSplitterComponent, SacDateComponent, SacDateSelectorComponent, SacDateTimeComponent, SacDialogComponent, SacDropdownComponent, SacDropdownOptionDirective, SacDropzoneMultipleComponent, SacDropzoneSingleComponent, SacFormDirective, SacFormLayoutDirective, SacGridButtonComponent, SacGridColumnActionComponent, SacGridColumnComponent, SacGridComponent, SacGridImageComponent, SacInheritFormDirective, SacInputAreaComponent, SacInputComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent, SacListboxComponent, SacPagingComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent, SacStaticFormContainerComponent, SacStaticLabelComponent, SacTabComponent, SacTabItemComponent, SacTimeComponent, SacTinyMceComponent, SacToControlHeightPipe, SacToControlWidthCssPipe, SacToLabelHeightPipe, SacToLabelWidthCssPipe, SacTooltipComponent, SacTreeviewComponent, SacUploadComponent, SacUploadMultipleComponent, SacValidationSummaryComponent, SacWizardComponent, SacWizardItemComponent, ServiceConfirm, SacContextmenuContainerDirective as ɵa };
|