@simpleangularcontrols/sac-bootstrap3 16.0.0-rc.2 → 16.0.0-rc.20
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 -22
- package/controls/buttons/button.d.ts.map +1 -1
- package/controls/checkbox/checkbox.d.ts +7 -2
- package/controls/checkbox/checkbox.d.ts.map +1 -1
- package/controls/checkbox/checkbox.module.d.ts +2 -1
- package/controls/checkbox/checkbox.module.d.ts.map +1 -1
- package/controls/checkbox/radiobutton.d.ts +5 -3
- package/controls/checkbox/radiobutton.d.ts.map +1 -1
- package/controls/checkbox/radiobuttons.d.ts +7 -2
- package/controls/checkbox/radiobuttons.d.ts.map +1 -1
- package/controls/confirm/confirm.service.d.ts +12 -13
- package/controls/confirm/confirm.service.d.ts.map +1 -1
- package/controls/contextmenu/contextmenu.d.ts +20 -0
- package/controls/contextmenu/contextmenu.d.ts.map +1 -0
- package/controls/contextmenu/contextmenu.module.d.ts +13 -0
- package/controls/contextmenu/contextmenu.module.d.ts.map +1 -0
- package/controls/contextmenu/contextmenuanchor.d.ts +16 -0
- package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -0
- package/controls/contextmenu/contextmenucontainer.d.ts +16 -0
- package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -0
- package/controls/contextmenu/contextmenuitembutton.d.ts +20 -0
- package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -0
- package/controls/contextmenu/contextmenuitemsplitter.d.ts +10 -0
- package/controls/contextmenu/contextmenuitemsplitter.d.ts.map +1 -0
- package/controls/contextmenu/index.d.ts +2 -0
- package/controls/contextmenu/index.d.ts.map +1 -0
- package/controls/datetime/date.d.ts +11 -4
- package/controls/datetime/date.d.ts.map +1 -1
- package/controls/datetime/dateselector.d.ts.map +1 -1
- package/controls/datetime/datetime.d.ts +11 -4
- package/controls/datetime/datetime.d.ts.map +1 -1
- package/controls/datetime/datetime.module.d.ts +2 -1
- package/controls/datetime/datetime.module.d.ts.map +1 -1
- package/controls/datetime/time.d.ts +11 -4
- package/controls/datetime/time.d.ts.map +1 -1
- package/controls/form/form.d.ts +7 -11
- package/controls/form/form.d.ts.map +1 -1
- package/controls/form/form.module.d.ts.map +1 -1
- package/controls/form/inheritform.directive.d.ts +16 -39
- package/controls/form/inheritform.directive.d.ts.map +1 -1
- package/controls/grid/grid.module.d.ts +8 -7
- package/controls/grid/grid.module.d.ts.map +1 -1
- package/controls/grid/gridbutton.d.ts +1 -10
- package/controls/grid/gridbutton.d.ts.map +1 -1
- package/controls/grid/paging.d.ts.map +1 -1
- package/controls/input/input.d.ts +7 -2
- package/controls/input/input.d.ts.map +1 -1
- package/controls/input/input.module.d.ts +2 -2
- package/controls/input/input.module.d.ts.map +1 -1
- package/controls/input/inputarea.d.ts +7 -2
- package/controls/input/inputarea.d.ts.map +1 -1
- package/controls/input/inputcurrency.d.ts +7 -2
- package/controls/input/inputcurrency.d.ts.map +1 -1
- package/controls/input/inputdecimal.d.ts +7 -2
- package/controls/input/inputdecimal.d.ts.map +1 -1
- package/controls/input/inputemail.d.ts +7 -2
- package/controls/input/inputemail.d.ts.map +1 -1
- package/controls/input/inputinteger.d.ts +7 -2
- package/controls/input/inputinteger.d.ts.map +1 -1
- package/controls/input/inputpassword.d.ts +7 -2
- package/controls/input/inputpassword.d.ts.map +1 -1
- package/controls/input/inputsearch.d.ts +7 -2
- package/controls/input/inputsearch.d.ts.map +1 -1
- package/controls/layout/formlayout.directive.d.ts +7 -0
- package/controls/layout/formlayout.directive.d.ts.map +1 -0
- package/controls/layout/layout.module.d.ts +13 -0
- package/controls/layout/layout.module.d.ts.map +1 -0
- package/controls/layout/tocontrolheight.pipe.d.ts +13 -0
- package/controls/layout/tocontrolheight.pipe.d.ts.map +1 -0
- package/controls/layout/tocontrolwidthcss.pipe.d.ts +20 -0
- package/controls/layout/tocontrolwidthcss.pipe.d.ts.map +1 -0
- package/controls/layout/tolabelheight.pipe.d.ts +13 -0
- package/controls/layout/tolabelheight.pipe.d.ts.map +1 -0
- package/controls/layout/tolabelwidthcss.pipe.d.ts +14 -0
- package/controls/layout/tolabelwidthcss.pipe.d.ts.map +1 -0
- package/controls/list/dropdown.d.ts +16 -3
- package/controls/list/dropdown.d.ts.map +1 -1
- package/controls/list/list.module.d.ts +2 -1
- package/controls/list/list.module.d.ts.map +1 -1
- package/controls/list/listbox.d.ts +7 -2
- package/controls/list/listbox.d.ts.map +1 -1
- package/controls/static/formcontainer.d.ts +5 -5
- package/controls/static/formcontainer.d.ts.map +1 -1
- package/controls/static/staticlabel.d.ts +7 -2
- package/controls/static/staticlabel.d.ts.map +1 -1
- package/controls/static/staticlabel.module.d.ts +4 -4
- package/controls/static/staticlabel.module.d.ts.map +1 -1
- package/controls/tinymce/tinymce.d.ts +6 -6
- package/controls/tinymce/tinymce.d.ts.map +1 -1
- package/controls/tinymce/tinymce.module.d.ts +2 -1
- package/controls/tinymce/tinymce.module.d.ts.map +1 -1
- package/controls/tooltip/tooltip.d.ts +6 -1
- package/controls/tooltip/tooltip.d.ts.map +1 -1
- package/controls/tooltip/tooltip.module.d.ts +1 -1
- package/controls/tooltip/tooltip.module.d.ts.map +1 -1
- package/controls/treeview/treeview.d.ts +15 -4
- package/controls/treeview/treeview.d.ts.map +1 -1
- package/controls/treeview/treeview.module.d.ts +4 -6
- package/controls/treeview/treeview.module.d.ts.map +1 -1
- package/controls/upload/dropzonemultiple.d.ts +25 -0
- package/controls/upload/dropzonemultiple.d.ts.map +1 -0
- package/controls/upload/dropzonesingle.d.ts +25 -0
- package/controls/upload/dropzonesingle.d.ts.map +1 -0
- package/controls/upload/upload.d.ts +10 -4
- package/controls/upload/upload.d.ts.map +1 -1
- package/controls/upload/upload.module.d.ts +4 -1
- package/controls/upload/upload.module.d.ts.map +1 -1
- package/controls/upload/uploadmultiple.d.ts +9 -2
- package/controls/upload/uploadmultiple.d.ts.map +1 -1
- package/controls/validation/validationsummary.d.ts +6 -1
- package/controls/validation/validationsummary.d.ts.map +1 -1
- package/esm2022/controls/buttons/button.mjs +6 -5
- package/esm2022/controls/buttons/button.module.mjs +3 -2
- package/esm2022/controls/checkbox/checkbox.mjs +48 -15
- package/esm2022/controls/checkbox/checkbox.module.mjs +18 -5
- package/esm2022/controls/checkbox/radiobutton.mjs +16 -9
- package/esm2022/controls/checkbox/radiobuttons.mjs +48 -15
- package/esm2022/controls/confirm/confirm.mjs +3 -3
- package/esm2022/controls/confirm/confirm.module.mjs +2 -2
- package/esm2022/controls/confirm/confirm.service.mjs +42 -27
- package/esm2022/controls/contextmenu/contextmenu.mjs +34 -0
- package/esm2022/controls/contextmenu/contextmenu.module.mjs +42 -0
- package/esm2022/controls/contextmenu/contextmenuanchor.mjs +38 -0
- package/esm2022/controls/contextmenu/contextmenucontainer.mjs +38 -0
- package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +55 -0
- package/esm2022/controls/contextmenu/contextmenuitemsplitter.mjs +26 -0
- package/esm2022/controls/contextmenu/index.mjs +2 -0
- package/esm2022/controls/datetime/date.mjs +62 -19
- package/esm2022/controls/datetime/dateselector.mjs +4 -9
- package/esm2022/controls/datetime/datetime.mjs +57 -17
- package/esm2022/controls/datetime/datetime.module.mjs +30 -10
- package/esm2022/controls/datetime/time.mjs +57 -17
- package/esm2022/controls/dialog/dialog.mjs +3 -3
- package/esm2022/controls/dialog/dialog.module.mjs +1 -1
- package/esm2022/controls/form/form.mjs +13 -18
- package/esm2022/controls/form/form.module.mjs +6 -6
- package/esm2022/controls/form/inheritform.directive.mjs +46 -63
- package/esm2022/controls/grid/grid.mjs +3 -3
- package/esm2022/controls/grid/grid.module.mjs +36 -8
- package/esm2022/controls/grid/gridbutton.mjs +5 -13
- package/esm2022/controls/grid/gridcolumn.mjs +3 -3
- package/esm2022/controls/grid/gridcolumnaction.mjs +3 -3
- package/esm2022/controls/grid/gridimage.mjs +3 -3
- package/esm2022/controls/grid/paging.mjs +30 -10
- package/esm2022/controls/input/input.mjs +41 -13
- package/esm2022/controls/input/input.module.mjs +46 -8
- package/esm2022/controls/input/inputarea.mjs +51 -15
- package/esm2022/controls/input/inputcurrency.mjs +51 -15
- package/esm2022/controls/input/inputdecimal.mjs +51 -15
- package/esm2022/controls/input/inputemail.mjs +51 -15
- package/esm2022/controls/input/inputinteger.mjs +51 -15
- package/esm2022/controls/input/inputpassword.mjs +51 -15
- package/esm2022/controls/input/inputsearch.mjs +50 -15
- package/esm2022/controls/layout/formlayout.directive.mjs +16 -0
- package/esm2022/controls/layout/layout.module.mjs +44 -0
- package/esm2022/controls/layout/tocontrolheight.pipe.mjs +35 -0
- package/esm2022/controls/layout/tocontrolwidthcss.pipe.mjs +53 -0
- package/esm2022/controls/layout/tolabelheight.pipe.mjs +35 -0
- package/esm2022/controls/layout/tolabelwidthcss.pipe.mjs +37 -0
- package/esm2022/controls/list/dropdown.mjs +37 -14
- package/esm2022/controls/list/list.module.mjs +5 -2
- package/esm2022/controls/list/listbox.mjs +25 -8
- package/esm2022/controls/static/formcontainer.mjs +46 -18
- package/esm2022/controls/static/staticlabel.mjs +48 -15
- package/esm2022/controls/static/staticlabel.module.mjs +14 -10
- package/esm2022/controls/tabs/tab.mjs +3 -3
- package/esm2022/controls/tabs/tabitem.mjs +3 -3
- package/esm2022/controls/tabs/tabs.module.mjs +1 -1
- package/esm2022/controls/tinymce/tinymce.mjs +23 -12
- package/esm2022/controls/tinymce/tinymce.module.mjs +4 -3
- package/esm2022/controls/tooltip/tooltip.mjs +15 -5
- package/esm2022/controls/tooltip/tooltip.module.mjs +5 -9
- package/esm2022/controls/treeview/treeview.mjs +71 -15
- package/esm2022/controls/treeview/treeview.module.mjs +11 -27
- package/esm2022/controls/upload/dropzonemultiple.mjs +80 -0
- package/esm2022/controls/upload/dropzonesingle.mjs +80 -0
- package/esm2022/controls/upload/upload.mjs +51 -15
- package/esm2022/controls/upload/upload.module.mjs +23 -9
- package/esm2022/controls/upload/uploadmultiple.mjs +26 -9
- package/esm2022/controls/validation/validationsummary.mjs +17 -13
- package/esm2022/controls/validation/validationsummary.module.mjs +1 -1
- package/esm2022/controls/wizard/wizard.mjs +3 -3
- package/esm2022/controls/wizard/wizard.module.mjs +1 -1
- package/esm2022/controls/wizard/wizarditem.mjs +1 -1
- package/esm2022/public_api.mjs +42 -31
- package/fesm2022/simpleangularcontrols-sac-bootstrap3.mjs +2386 -1173
- package/fesm2022/simpleangularcontrols-sac-bootstrap3.mjs.map +1 -1
- package/package.json +37 -36
- package/public_api.d.ts +41 -30
- package/public_api.d.ts.map +1 -1
- package/simpleangularcontrols-sac-bootstrap3-16.0.0-rc.20.tgz +0 -0
- package/controls/treeview/ngtreeitemaction.d.ts +0 -9
- package/controls/treeview/ngtreeitemaction.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.d.ts +0 -7
- package/controls/treeview/treeviewchild.d.ts.map +0 -1
- package/esm2022/controls/treeview/ngtreeitemaction.mjs +0 -16
- package/esm2022/controls/treeview/treeviewchild.mjs +0 -14
- package/simpleangularcontrols-sac-bootstrap3-16.0.0-rc.2.tgz +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SacTooltipCommon } from '@simpleangularcontrols/sac-common';
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
1
|
import { NgIf } from '@angular/common';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { SacTooltipCommon } from '@simpleangularcontrols/sac-common';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
6
6
|
* Tooltip Komponente
|
|
@@ -22,6 +22,7 @@ import * as i0 from "@angular/core";
|
|
|
22
22
|
*
|
|
23
23
|
*/
|
|
24
24
|
class SacTooltipComponent extends SacTooltipCommon {
|
|
25
|
+
// #region Constructors
|
|
25
26
|
/**
|
|
26
27
|
* Konstrukor
|
|
27
28
|
* @param parent SacFormular Instanz
|
|
@@ -30,12 +31,21 @@ class SacTooltipComponent extends SacTooltipCommon {
|
|
|
30
31
|
constructor(cdRef, ref) {
|
|
31
32
|
super(cdRef, ref);
|
|
32
33
|
}
|
|
34
|
+
// #endregion Constructors
|
|
35
|
+
// #region Protected Methods
|
|
36
|
+
/**
|
|
37
|
+
* Padding for Tooltip
|
|
38
|
+
* @returns Always 0. BS3 not require Padding
|
|
39
|
+
*/
|
|
40
|
+
getTooltipOffset() {
|
|
41
|
+
return 0;
|
|
42
|
+
}
|
|
33
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTooltipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTooltipComponent, isStandalone: true, selector: "sac-tooltip", usesInheritance: true, ngImport: i0, template: "<div [style.display]=\"inlinemode ? 'inline' : null\">\
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTooltipComponent, isStandalone: true, selector: "sac-tooltip", usesInheritance: true, ngImport: i0, 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", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
35
45
|
}
|
|
36
46
|
export { SacTooltipComponent };
|
|
37
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTooltipComponent, decorators: [{
|
|
38
48
|
type: Component,
|
|
39
|
-
args: [{ selector: 'sac-tooltip', standalone: true, imports: [NgIf], template: "<div [style.display]=\"inlinemode ? 'inline' : null\">\
|
|
49
|
+
args: [{ selector: 'sac-tooltip', standalone: true, imports: [NgIf], 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" }]
|
|
40
50
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy90b29sdGlwL3Rvb2x0aXAudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvdG9vbHRpcC90b29sdGlwLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBcUIsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUVyRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFNYSxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFDckQsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUFZLEtBQXdCLEVBQUUsR0FBZTtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCwwQkFBMEI7SUFFMUIsNEJBQTRCO0lBRTVCOzs7T0FHRztJQUNPLGdCQUFnQjtRQUN0QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7K0dBdEJRLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhGQzdCaEMsMGhDQTBCQSw0Q0RDYyxJQUFJOztTQUVMLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLGFBQWEsY0FFWCxJQUFJLFdBQ1AsQ0FBQyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhY1Rvb2x0aXBDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG4vKipcbiAqIFRvb2x0aXAgS29tcG9uZW50ZVxuICpcbiAqIEBleGFtcGxlIFRvb2xUaXAgQ29udHJvbFxuICpcbiAqICA8bmdUb29sdGlwIHRvb2x0aXB0ZXh0PVwiTWVpbiBUb29sdGlwXCIgW2lubGluZW1vZGVdPVwidHJ1ZVwiPlxuICogICAgPGkgY2xhc3M9XCJ0b29sdGlwXCI+PC9pPlxuICogIDwvbmdUb29sdGlwPlxuICpcbiAqIEBleGFtcGxlIFRvb2xUaXAgQ29udHJvbCBpbSBJbmxpbmUgTW9kZS4gU3R5bGUgYXVmIEljb24ga2FubiBhdWNoIGluIEtsYXNzZSBhdXNnZWxhZ2VydCB3ZXJkZW4uXG4gKlxuICogIDxkaXYgY2xhc3M9XCJmb3JtLWlubGluZVwiPlxuICogICAgPG5nSW5wdXRTZWFyY2ggaWNvbm5hbWU9XCJTdWNoZW5cIj48L25nSW5wdXRTZWFyY2g+XG4gKiAgICA8bmdUb29sdGlwIHRvb2x0aXB0ZXh0PVwiTWVpbiBUb29sdGlwXCIgW2lubGluZW1vZGVdPVwidHJ1ZVwiPlxuICogICAgICA8aSBjbGFzcz1cInRvb2x0aXBcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMDsgdG9wOiAzcHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLXJpZ2h0OiAxMHB4O1wiPjwvaT5cbiAqICAgIDwvbmdUb29sdGlwPlxuICogIDwvZGl2PlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYWMtdG9vbHRpcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZl0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY1Rvb2x0aXBDb21wb25lbnQgZXh0ZW5kcyBTYWNUb29sdGlwQ29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogS29uc3RydWtvclxuICAgICAqIEBwYXJhbSBwYXJlbnQgU2FjRm9ybXVsYXIgSW5zdGFuelxuICAgICAqIEBwYXJhbSBpbmplY3RvciBDb21wb25lbnQgSW5qZWN0b3JcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHJlZjogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcihjZFJlZiwgcmVmKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogUGFkZGluZyBmb3IgVG9vbHRpcFxuICAgICAqIEByZXR1cm5zIEFsd2F5cyAwLiBCUzMgbm90IHJlcXVpcmUgUGFkZGluZ1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRUb29sdGlwT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcbn1cbiIsIjxkaXYgW3N0eWxlLmRpc3BsYXldPVwiaW5saW5lbW9kZSA/ICdpbmxpbmUnIDogbnVsbFwiPlxuICAgIDxkaXZcbiAgICAgICAgI2NvbnRhaW5lclxuICAgICAgICAobW91c2VlbnRlcik9XCJTaG93VG9vbHRpcCgpXCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwiSGlkZVRvb2x0aXAoKVwiXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImlubGluZW1vZGUgPyAnaW5saW5lJyA6IG51bGxcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJJc1Rvb2x0aXBWaXNpYmxlKClcIlxuICAgICAgICAjdG9vbHRpcD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgW3N0eWxlLnZpc2liaWxpdHldPVwiSXNUb29sdGlwQ29udGVudFZpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiXG4gICAgICAgICAgICBjbGFzcz1cInRvb2x0aXAgaW5cIlxuICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBibG9ja1wiXG4gICAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJMZWZ0UG9zXCJcbiAgICAgICAgICAgIFtzdHlsZS50b3AucHhdPVwiVG9wUG9zXCJcbiAgICAgICAgICAgIFtjbGFzcy50b3BdPVwiR2V0VG9vbHRpcFBvc2l0aW9uKCkgPT09IFRvb2x0aXBQb3NpdGlvbi50b3BcIlxuICAgICAgICAgICAgW2NsYXNzLmxlZnRdPVwiR2V0VG9vbHRpcFBvc2l0aW9uKCkgPT09IFRvb2x0aXBQb3NpdGlvbi5sZWZ0XCJcbiAgICAgICAgICAgIFtjbGFzcy5yaWdodF09XCJHZXRUb29sdGlwUG9zaXRpb24oKSA9PT0gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0XCJcbiAgICAgICAgICAgIFtjbGFzcy5ib3R0b21dPVwiR2V0VG9vbHRpcFBvc2l0aW9uKCkgPT09IFRvb2x0aXBQb3NpdGlvbi5ib3R0b21cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWFycm93XCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1pbm5lclwiPnt7IHRvb2x0aXB0ZXh0IH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -4,19 +4,15 @@ import { SacTooltipComponent } from './tooltip';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
class SACBootstrap3TooltipModule {
|
|
6
6
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TooltipModule, imports: [CommonModule,
|
|
8
|
-
|
|
9
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TooltipModule, imports: [CommonModule, CommonModule] }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TooltipModule, imports: [CommonModule, SacTooltipComponent], exports: [SacTooltipComponent] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TooltipModule, imports: [CommonModule] }); }
|
|
10
9
|
}
|
|
11
10
|
export { SACBootstrap3TooltipModule };
|
|
12
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TooltipModule, decorators: [{
|
|
13
12
|
type: NgModule,
|
|
14
13
|
args: [{
|
|
15
|
-
imports: [
|
|
16
|
-
|
|
17
|
-
SacTooltipComponent
|
|
18
|
-
],
|
|
19
|
-
exports: [SacTooltipComponent]
|
|
14
|
+
imports: [CommonModule, SacTooltipComponent],
|
|
15
|
+
exports: [SacTooltipComponent],
|
|
20
16
|
}]
|
|
21
17
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvdG9vbHRpcC90b29sdGlwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRWhELE1BSWEsMEJBQTBCOytHQUExQiwwQkFBMEI7Z0hBQTFCLDBCQUEwQixZQUgzQixZQUFZLEVBQUUsbUJBQW1CLGFBQ2pDLG1CQUFtQjtnSEFFbEIsMEJBQTBCLFlBSDNCLFlBQVk7O1NBR1gsMEJBQTBCOzRGQUExQiwwQkFBMEI7a0JBSnRDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDO29CQUM1QyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhY1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL3Rvb2x0aXAnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTYWNUb29sdGlwQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1NhY1Rvb2x0aXBDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTQUNCb290c3RyYXAzVG9vbHRpcE1vZHVsZSB7fVxuIl19
|
|
@@ -1,21 +1,77 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { SacContextmenuComponent } from '../contextmenu';
|
|
2
|
+
import { SacContextmenuItemButtonComponent } from '../contextmenu/contextmenuitembutton';
|
|
3
|
+
import { SacContextmenuItemSplitterComponent } from '../contextmenu/contextmenuitemsplitter';
|
|
4
|
+
import { SacToControlHeightPipe } from '../layout/tocontrolheight.pipe';
|
|
5
|
+
import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
|
|
6
|
+
import { SacToLabelHeightPipe } from '../layout/tolabelheight.pipe';
|
|
7
|
+
import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
|
|
8
|
+
import { SacTooltipComponent } from '../tooltip/tooltip';
|
|
9
|
+
import { AsyncPipe, JsonPipe, NgClass, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
10
|
+
import { Component, Host, Optional, forwardRef } from '@angular/core';
|
|
11
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
12
|
+
import { SacTreeviewCommon } from '@simpleangularcontrols/sac-common';
|
|
5
13
|
import * as i0 from "@angular/core";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
14
|
+
import * as i1 from "../layout/formlayout.directive";
|
|
15
|
+
/**
|
|
16
|
+
* Treeview Compomnent
|
|
17
|
+
*/
|
|
18
|
+
class SacTreeviewComponent extends SacTreeviewCommon {
|
|
19
|
+
// #region Constructors
|
|
20
|
+
/**
|
|
21
|
+
* Constructor
|
|
22
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
23
|
+
* @param injector Component Injector
|
|
24
|
+
*/
|
|
25
|
+
constructor(formLayout, injector) {
|
|
26
|
+
super(formLayout, injector);
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeviewComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTreeviewComponent, isStandalone: true, selector: "sac-treeview", providers: [
|
|
30
|
+
{
|
|
31
|
+
provide: NG_VALUE_ACCESSOR,
|
|
32
|
+
multi: true,
|
|
33
|
+
useExisting: SacTreeviewComponent,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
provide: NG_VALIDATORS,
|
|
37
|
+
useExisting: forwardRef(() => SacTreeviewComponent),
|
|
38
|
+
multi: true,
|
|
39
|
+
},
|
|
40
|
+
], usesInheritance: true, ngImport: i0, 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", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
9
41
|
}
|
|
10
|
-
export {
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
42
|
+
export { SacTreeviewComponent };
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeviewComponent, decorators: [{
|
|
12
44
|
type: Component,
|
|
13
|
-
args: [{ selector: 'sac-treeview',
|
|
45
|
+
args: [{ selector: 'sac-treeview', providers: [
|
|
46
|
+
{
|
|
47
|
+
provide: NG_VALUE_ACCESSOR,
|
|
48
|
+
multi: true,
|
|
49
|
+
useExisting: SacTreeviewComponent,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
provide: NG_VALIDATORS,
|
|
53
|
+
useExisting: forwardRef(() => SacTreeviewComponent),
|
|
54
|
+
multi: true,
|
|
55
|
+
},
|
|
56
|
+
], standalone: true, imports: [
|
|
14
57
|
NgIf,
|
|
58
|
+
JsonPipe,
|
|
15
59
|
NgFor,
|
|
16
|
-
NgClass,
|
|
17
60
|
NgTemplateOutlet,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
61
|
+
NgClass,
|
|
62
|
+
SacContextmenuComponent,
|
|
63
|
+
SacContextmenuItemButtonComponent,
|
|
64
|
+
SacContextmenuItemSplitterComponent,
|
|
65
|
+
SacToLabelWidthCssPipe,
|
|
66
|
+
SacToLabelHeightPipe,
|
|
67
|
+
SacTooltipComponent,
|
|
68
|
+
SacToControlWidthCssPipe,
|
|
69
|
+
AsyncPipe,
|
|
70
|
+
SacToControlHeightPipe,
|
|
71
|
+
], 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" }]
|
|
72
|
+
}], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
|
|
73
|
+
type: Host
|
|
74
|
+
}, {
|
|
75
|
+
type: Optional
|
|
76
|
+
}] }, { type: i0.Injector }]; } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvdHJlZXZpZXcvdHJlZXZpZXcudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvdHJlZXZpZXcvdHJlZXZpZXcuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUU3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFZLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFFdEU7O0dBRUc7QUFDSCxNQWlDYSxvQkFBcUIsU0FBUSxpQkFBaUI7SUFDdkQsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUFnQyxVQUFrQyxFQUFFLFFBQWtCO1FBQ2xGLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0FWUSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwyREE5QmxCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLG9CQUFvQjthQUNwQztZQUNEO2dCQUNJLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNuRCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osaURDL0JMLHdyT0FtTEEsNENEakpRLElBQUksNkZBRUosS0FBSyxtSEFDTCxnQkFBZ0Isb0pBQ2hCLE9BQU8sK0VBSVAsc0JBQXNCLHdEQUV0QixtQkFBbUIsbURBQ25CLHdCQUF3QixxREFDeEIsU0FBUzs7U0FJSixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFqQ2hDLFNBQVM7K0JBQ0ksY0FBYyxhQUViO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsc0JBQXNCO3lCQUNwQzt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKLGNBQ1csSUFBSSxXQUNQO3dCQUNMLElBQUk7d0JBQ0osUUFBUTt3QkFDUixLQUFLO3dCQUNMLGdCQUFnQjt3QkFDaEIsT0FBTzt3QkFDUCx1QkFBdUI7d0JBQ3ZCLGlDQUFpQzt3QkFDakMsbUNBQW1DO3dCQUNuQyxzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQix3QkFBd0I7d0JBQ3hCLFNBQVM7d0JBQ1Qsc0JBQXNCO3FCQUN6Qjs7MEJBVVksSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0NvbnRleHRtZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vY29udGV4dG1lbnUnO1xuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtYnV0dG9uJztcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbVNwbGl0dGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtc3BsaXR0ZXInO1xuaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTYWNUb0NvbnRyb2xIZWlnaHRQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbGhlaWdodC5waXBlJztcbmltcG9ydCB7IFNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2x3aWR0aGNzcy5waXBlJztcbmltcG9ydCB7IFNhY1RvTGFiZWxIZWlnaHRQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWxoZWlnaHQucGlwZSc7XG5pbXBvcnQgeyBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWx3aWR0aGNzcy5waXBlJztcbmltcG9ydCB7IFNhY1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBKc29uUGlwZSwgTmdDbGFzcywgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2FjVHJlZXZpZXdDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG4vKipcbiAqIFRyZWV2aWV3IENvbXBvbW5lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYWMtdHJlZXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmVldmlldy5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTYWNUcmVldmlld0NvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY1RyZWV2aWV3Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIEpzb25QaXBlLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgU2FjQ29udGV4dG1lbnVDb21wb25lbnQsXG4gICAgICAgIFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgU2FjQ29udGV4dG1lbnVJdGVtU3BsaXR0ZXJDb21wb25lbnQsXG4gICAgICAgIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsXG4gICAgICAgIFNhY1RvTGFiZWxIZWlnaHRQaXBlLFxuICAgICAgICBTYWNUb29sdGlwQ29tcG9uZW50LFxuICAgICAgICBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUsXG4gICAgICAgIEFzeW5jUGlwZSxcbiAgICAgICAgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNUcmVldmlld0NvbXBvbmVudCBleHRlbmRzIFNhY1RyZWV2aWV3Q29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIENvbXBvbmVudCBJbmplY3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwicm93IG1iLTNcIlxuICAgIFtjbGFzcy5nLTBdPVwiZGlzYWJsZWxhYmVsXCJcbiAgICBbY2xhc3MuaGFzLWVycm9yXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCI+XG4gICAgPGxhYmVsXG4gICAgICAgICpuZ0lmPVwiZGlzYWJsZWxhYmVsID09PSBmYWxzZSAmJiAhaXNBZGFwdGl2ZUxhYmVsXCJcbiAgICAgICAgaWQ9XCJ7eyBuYW1lIH19bGFiZWxcIlxuICAgICAgICBmb3I9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgY2xhc3M9XCJjb2wteHMtMTIgY29udHJvbC1sYWJlbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvTGFiZWxXaWR0aENzcykgOiAnc3Itb25seSddXCJcbiAgICAgICAgW2NsYXNzLnJlcXVpcmVkXT1cImlzcmVxdWlyZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDxzYWMtdG9vbHRpcFxuICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dFwiXG4gICAgICAgICAgICBbdG9vbHRpcHRleHRdPVwiaGVscHRleHRcIlxuICAgICAgICAgICAgW2lubGluZW1vZGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4XCI+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgPC9sYWJlbD5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY29sLXhzLTEyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9Db250cm9sV2lkdGhDc3MpIDogJyddXCJcbiAgICAgICAgW2NsYXNzLmhhcy1lcnJvcl09XCJpc2lubGluZWVycm9yZW5hYmxlZCAmJiBpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiPlxuICAgICAgICA8ZGl2IFtzdHlsZS5kaXNwbGF5XT1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbCA/ICdmbGV4JyA6IG51bGxcIj5cbiAgICAgICAgICAgIDxkaXYgW3N0eWxlLndpZHRoLiVdPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsID8gJzEwMCcgOiBudWxsXCI+XG4gICAgICAgICAgICAgICAgPHRhYmxlXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUgdGFibGUtaG92ZXIgdGFibGUtY29uZGVuc2VkXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ0YWJsZS1sYXlvdXQ6IGZpeGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYm9yZGVyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJvcmRlci1kYW5nZXJdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbm9kZSBvZiBkYXRhXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyZWVJdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbm9kZTogbm9kZSwgZGVlcDogMCwgcGF0aDogJycsIHRleHRwYXRoOiAnJyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgR2V0RXJyb3JNZXNzYWdlKCkgfCBhc3luYyB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0ZXh0JyAmJiBoZWxwdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGVscC1ibG9ja1wiPlxuICAgICAgICAgICAgICAgICAgICB7eyBoZWxwdGV4dCB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sLXN0YXRpY1wiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4XCI+XG4gICAgICAgICAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcHRleHRdPVwiaGVscHRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHg7IG1hcmdpbi1yaWdodDogNXB4XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGVcbiAgICAjdHJlZUl0ZW1cbiAgICBsZXQtbm9kZT1cIm5vZGVcIlxuICAgIGxldC1kZWVwPVwiZGVlcFwiXG4gICAgbGV0LXBhdGg9XCJwYXRoXCJcbiAgICBsZXQtdGV4dHBhdGg9XCJ0ZXh0cGF0aFwiPlxuICAgIDx0clxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImlzU2VsZWN0ZWRTdGF0ZShub2RlKVwiXG4gICAgICAgIGF0dHIuZGF0YS1wYXRoPVwie3sgcGF0aCB9fS97eyBnZXRTdHJpbmdGaWVsZChub2RlLCBhdHRyaWQpIH19XCJcbiAgICAgICAgYXR0ci5kYXRhLXRleHRwYXRoPVwie3sgdGV4dHBhdGggfX0ve3sgZ2V0U3RyaW5nRmllbGQobm9kZSwgYXR0cmxhYmVsKSB9fVwiPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJweS0xIHB4LTIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogcm93OyBjdXJzb3I6IHBvaW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXJcIlxuICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInNldEhvdmVyU3RhdGUobm9kZSwgdHJ1ZSlcIlxuICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cInNldEhvdmVyU3RhdGUobm9kZSwgZmFsc2UpXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTVweFwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpIG9mIGNvdW50KGRlZXApXCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5vZGVDbGlja2VkKG5vZGUpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRlZHN0YXRlID09PSAndHJ1ZScgfHwgZXhwYW5kZWRzdGF0ZSA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxNXB4XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiIWhhc0NoaWxkcmVuKG5vZGUpID8gaWNvbkZvbGRlckVtcHR5IDogIWlzRXhwYW5kZWRTdGF0ZShub2RlKSA/IGljb25Gb2xkZXJDb2xsYWJzZWQgOiBpc0V4cGFuZGVkU3RhdGUobm9kZSkgPyBpY29uRm9sZGVyT3BlbiA6ICcnXCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5vZGVDbGlja2VkKG5vZGUpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhdHRyaWNvbiAmJiBnZXRTdHJpbmdGaWVsZChub2RlLCBhdHRyaWNvbilcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZWljb24gfHwgZGVmYXVsdFRlbXBsYXRlSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBub2RlOiBub2RlIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTm9kZUNsaWNrZWQobm9kZSlcIlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInBhZGRpbmctdG9wOiA3cHg7IHBhZGRpbmctYm90dG9tOiA3cHg7IGZsZXgtZ3JvdzogMVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5tYXgtd2lkdGguJV09XCJlbmFibGVlbGxpcHNpcyA/ICcxMDAnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5vdmVyZmxvd109XCJlbmFibGVlbGxpcHNpcyA/ICdoaWRkZW4nIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS50ZXh0LW92ZXJmbG93XT1cImVuYWJsZWVsbGlwc2lzID8gJ2VsbGlwc2lzJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2hpdGUtc3BhY2VdPVwiZW5hYmxlZWxsaXBzaXMgPyAnbm93cmFwJyA6IG51bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZWxhYmVsIHx8IGRlZmF1bHRUZW1wbGF0ZUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG5vZGU6IG5vZGUsIGxhYmVsOiBnZXRTdHJpbmdGaWVsZChub2RlLCBhdHRybGFiZWwpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFNlbGVjdGVkU3RhdGUobm9kZSlcIlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImZsZXgtc2hyaW5rOiAwXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNEaXNhYmxlZFN0YXRlKG5vZGUpICYmIChzaG93YWN0aW9uYWx3YXlzIHx8IGlzU2VsZWN0ZWRTdGF0ZShub2RlKSB8fCBpc0hvdmVyU3RhdGUobm9kZSkpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVhY3Rpb24gfHwgZGVmYXVsdFRlbXBsYXRlQWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG5vZGU6IG5vZGUsIGFjdGlvbmhhbmRsZXI6IG9uQWN0aW9uQ2xpY2tlZC5iaW5kKHRoaXMpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgIDwvdHI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRXhwYW5kZWRTdGF0ZShub2RlKVwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBnZXRDaGlsZHJlbihub2RlKVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmVlSXRlbVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgIG5vZGU6IGNoaWxkLFxuICAgICAgICAgICAgICAgIGRlZXA6IGRlZXAgKyAxLFxuICAgICAgICAgICAgICAgIHBhdGg6IHBhdGggKyAnLycgKyBnZXRTdHJpbmdGaWVsZChub2RlLCBhdHRyaWQpLFxuICAgICAgICAgICAgICAgIHRleHRwYXRoOiB0ZXh0cGF0aCArICcvJyArIGdldFN0cmluZ0ZpZWxkKG5vZGUsIGF0dHJsYWJlbClcbiAgICAgICAgICAgIH1cIj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNkZWZhdWx0VGVtcGxhdGVMYWJlbFxuICAgIGxldC1sYWJlbD1cImxhYmVsXCJcbiAgICBsZXQtbm9kZT1cIm5vZGVcIj5cbiAgICA8c3BhbiBbdGl0bGVdPVwibGFiZWxcIj5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjZGVmYXVsdFRlbXBsYXRlSWNvblxuICAgIGxldC1ub2RlPVwibm9kZVwiPlxuICAgIDxkaXZcbiAgICAgICAgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDE1cHhcIlxuICAgICAgICBbbmdDbGFzc109XCJnZXRTdHJpbmdGaWVsZChub2RlLCBhdHRyaWNvbilcIj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNkZWZhdWx0VGVtcGxhdGVBY3Rpb25cbiAgICBsZXQtbm9kZT1cIm5vZGVcIlxuICAgIGxldC1hY3Rpb25oYW5kbGVyPVwiYWN0aW9uaGFuZGxlclwiPlxuICAgIDxhXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cImFjdGlvbmhhbmRsZXIoeyBhY3Rpb246ICdkZWZhdWx0Jywgbm9kZTogbm9kZSB9KVwiPlxuICAgICAgICA8aSBbY2xhc3NdPVwiaWNvbkFjdGlvblwiPjwvaT5cbiAgICA8L2E+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,34 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SacTreeviewComponent } from './treeview';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import {
|
|
4
|
-
import { SacTreeViewChildComponent } from './treeviewchild';
|
|
5
|
-
import { SacTreeItemActionComponent } from './ngtreeitemaction';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
6
4
|
import * as i0 from "@angular/core";
|
|
7
|
-
class
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type:
|
|
10
|
-
|
|
11
|
-
SacTreeViewChildComponent,
|
|
12
|
-
SacTreeItemActionComponent], exports: [SacTreeViewComponent,
|
|
13
|
-
SacTreeViewChildComponent,
|
|
14
|
-
SacTreeItemActionComponent] }); }
|
|
15
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TtreeviewModule, imports: [CommonModule] }); }
|
|
5
|
+
class SACBootstrap3TreeviewModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TreeviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TreeviewModule, imports: [CommonModule, SacTreeviewComponent], exports: [SacTreeviewComponent] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TreeviewModule, imports: [CommonModule] }); }
|
|
16
9
|
}
|
|
17
|
-
export {
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
10
|
+
export { SACBootstrap3TreeviewModule };
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3TreeviewModule, decorators: [{
|
|
19
12
|
type: NgModule,
|
|
20
13
|
args: [{
|
|
21
|
-
imports: [
|
|
22
|
-
|
|
23
|
-
SacTreeViewComponent,
|
|
24
|
-
SacTreeViewChildComponent,
|
|
25
|
-
SacTreeItemActionComponent,
|
|
26
|
-
],
|
|
27
|
-
exports: [
|
|
28
|
-
SacTreeViewComponent,
|
|
29
|
-
SacTreeViewChildComponent,
|
|
30
|
-
SacTreeItemActionComponent,
|
|
31
|
-
],
|
|
14
|
+
imports: [CommonModule, SacTreeviewComponent],
|
|
15
|
+
exports: [SacTreeviewComponent],
|
|
32
16
|
}]
|
|
33
17
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjL2NvbnRyb2xzL3RyZWV2aWV3L3RyZWV2aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpDLE1BSWEsMkJBQTJCOytHQUEzQiwyQkFBMkI7Z0hBQTNCLDJCQUEyQixZQUgxQixZQUFZLEVBQUUsb0JBQW9CLGFBQ2xDLG9CQUFvQjtnSEFFckIsMkJBQTJCLFlBSDFCLFlBQVk7O1NBR2IsMkJBQTJCOzRGQUEzQiwyQkFBMkI7a0JBSnZDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDO29CQUM3QyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNUcmVldmlld0NvbXBvbmVudCB9IGZyb20gJy4vdHJlZXZpZXcnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2FjVHJlZXZpZXdDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtTYWNUcmVldmlld0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNBQ0Jvb3RzdHJhcDNUcmVldmlld01vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { SacToControlHeightPipe } from '../layout/tocontrolheight.pipe';
|
|
2
|
+
import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
|
|
3
|
+
import { SacToLabelHeightPipe } from '../layout/tolabelheight.pipe';
|
|
4
|
+
import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
|
|
5
|
+
import { SacTooltipComponent } from '../tooltip/tooltip';
|
|
6
|
+
import { AsyncPipe, NgClass, NgFor, NgIf } from '@angular/common';
|
|
7
|
+
import { Component, Host, Optional, forwardRef } from '@angular/core';
|
|
8
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
9
|
+
import { SacDropzoneMultipleCommon } from '@simpleangularcontrols/sac-common';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../layout/formlayout.directive";
|
|
12
|
+
/**
|
|
13
|
+
* Dropzone Komponente für mehrere Uploads
|
|
14
|
+
* @see https://github.com/kukhariev/ngx-uploadx/
|
|
15
|
+
*/
|
|
16
|
+
class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon {
|
|
17
|
+
// #region Constructors
|
|
18
|
+
/**
|
|
19
|
+
* Constructor
|
|
20
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
21
|
+
* @param injector Injector for injecting services
|
|
22
|
+
* @param renderer Angular rendering engine
|
|
23
|
+
* @param ngZone ngZone to manage external javascripts
|
|
24
|
+
*/
|
|
25
|
+
constructor(formLayout, injector, renderer, ngZone) {
|
|
26
|
+
super(formLayout, injector, renderer, ngZone);
|
|
27
|
+
}
|
|
28
|
+
// #endregion Constructors
|
|
29
|
+
// #region Public Methods
|
|
30
|
+
/**
|
|
31
|
+
* Initialisiert das Control
|
|
32
|
+
*/
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
super.ngOnInit();
|
|
35
|
+
}
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropzoneMultipleComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDropzoneMultipleComponent, isStandalone: true, selector: "sac-dropzonemultiple", providers: [
|
|
38
|
+
{
|
|
39
|
+
provide: NG_VALUE_ACCESSOR,
|
|
40
|
+
multi: true,
|
|
41
|
+
useExisting: SacDropzoneMultipleComponent,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
provide: NG_VALIDATORS,
|
|
45
|
+
multi: true,
|
|
46
|
+
useExisting: forwardRef(() => SacDropzoneMultipleComponent),
|
|
47
|
+
},
|
|
48
|
+
], usesInheritance: true, ngImport: i0, 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", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-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{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
|
|
49
|
+
}
|
|
50
|
+
export { SacDropzoneMultipleComponent };
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropzoneMultipleComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{ selector: 'sac-dropzonemultiple', providers: [
|
|
54
|
+
{
|
|
55
|
+
provide: NG_VALUE_ACCESSOR,
|
|
56
|
+
multi: true,
|
|
57
|
+
useExisting: SacDropzoneMultipleComponent,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
provide: NG_VALIDATORS,
|
|
61
|
+
multi: true,
|
|
62
|
+
useExisting: forwardRef(() => SacDropzoneMultipleComponent),
|
|
63
|
+
},
|
|
64
|
+
], standalone: true, imports: [
|
|
65
|
+
NgIf,
|
|
66
|
+
NgClass,
|
|
67
|
+
NgFor,
|
|
68
|
+
AsyncPipe,
|
|
69
|
+
SacToLabelWidthCssPipe,
|
|
70
|
+
SacToControlWidthCssPipe,
|
|
71
|
+
SacToLabelHeightPipe,
|
|
72
|
+
SacTooltipComponent,
|
|
73
|
+
SacToControlHeightPipe,
|
|
74
|
+
], 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", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-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{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"] }]
|
|
75
|
+
}], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
|
|
76
|
+
type: Host
|
|
77
|
+
}, {
|
|
78
|
+
type: Optional
|
|
79
|
+
}] }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.NgZone }]; } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy91cGxvYWQvZHJvcHpvbmVtdWx0aXBsZS50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy91cGxvYWQvZHJvcHpvbmVtdWx0aXBsZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBNEIsUUFBUSxFQUFhLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUU5RTs7O0dBR0c7QUFDSCxNQTZCYSw0QkFBNkIsU0FBUSx5QkFBeUI7SUFDdkUsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ3dCLFVBQWtDLEVBQ3RELFFBQWtCLEVBQ2xCLFFBQW1CLEVBQ25CLE1BQWM7UUFFZCxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELDBCQUEwQjtJQUUxQix5QkFBeUI7SUFFekI7O09BRUc7SUFDSSxRQUFRO1FBQ1gsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7K0dBNUJRLDRCQUE0QjttR0FBNUIsNEJBQTRCLG1FQXpCMUI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsNEJBQTRCO2FBQzVDO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7YUFDOUQ7U0FDSixpREM5QkwsbXBMQXlIQSx3Z0REeEZRLElBQUksNkZBQ0osT0FBTyxvRkFDUCxLQUFLLDhHQUNMLFNBQVMseUNBQ1Qsc0JBQXNCLG1EQUN0Qix3QkFBd0IscURBQ3hCLG9CQUFvQixzREFDcEIsbUJBQW1COztTQUlkLDRCQUE0Qjs0RkFBNUIsNEJBQTRCO2tCQTdCeEMsU0FBUzsrQkFDSSxzQkFBc0IsYUFHckI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyw4QkFBOEI7eUJBQzVDO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQzt5QkFDOUQ7cUJBQ0osY0FDVyxJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixPQUFPO3dCQUNQLEtBQUs7d0JBQ0wsU0FBUzt3QkFDVCxzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHNCQUFzQjtxQkFDekI7OzBCQWFJLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNhY1RvQ29udHJvbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9saGVpZ2h0LnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcbmltcG9ydCB7IFNhY1RvTGFiZWxXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcCc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5qZWN0b3IsIE5nWm9uZSwgT25Jbml0LCBPcHRpb25hbCwgUmVuZGVyZXIyLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNhY0Ryb3B6b25lTXVsdGlwbGVDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG4vKipcbiAqIERyb3B6b25lIEtvbXBvbmVudGUgZsO8ciBtZWhyZXJlIFVwbG9hZHNcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2t1a2hhcmlldi9uZ3gtdXBsb2FkeC9cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYWMtZHJvcHpvbmVtdWx0aXBsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3B6b25lbXVsdGlwbGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlLFxuICAgICAgICBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUsXG4gICAgICAgIFNhY1RvTGFiZWxIZWlnaHRQaXBlLFxuICAgICAgICBTYWNUb29sdGlwQ29tcG9uZW50LFxuICAgICAgICBTYWNUb0NvbnRyb2xIZWlnaHRQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQgZXh0ZW5kcyBTYWNEcm9wem9uZU11bHRpcGxlQ29tbW9uIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKiBAcGFyYW0gcmVuZGVyZXIgQW5ndWxhciByZW5kZXJpbmcgZW5naW5lXG4gICAgICogQHBhcmFtIG5nWm9uZSBuZ1pvbmUgdG8gbWFuYWdlIGV4dGVybmFsIGphdmFzY3JpcHRzXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBuZ1pvbmU6IE5nWm9uZVxuICAgICkge1xuICAgICAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3RvciwgcmVuZGVyZXIsIG5nWm9uZSk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpc2llcnQgZGFzIENvbnRyb2xcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xufVxuIiwiPGRpdlxuICAgIGlkPVwie3sgbmFtZSB9fVwiXG4gICAgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiXG4gICAgW2NsYXNzLmhhcy1lcnJvcl09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXG4gICAgW25nQ2xhc3NdPVwiY29tcG9uZW50SGVpZ2h0IHwgdG9MYWJlbEhlaWdodFwiPlxuICAgIDxsYWJlbFxuICAgICAgICAqbmdJZj1cImRpc2FibGVsYWJlbCA9PT0gZmFsc2UgJiYgIWlzQWRhcHRpdmVMYWJlbFwiXG4gICAgICAgIGlkPVwie3sgbmFtZSB9fWxhYmVsXCJcbiAgICAgICAgZm9yPVwie3sgbmFtZSB9fV91cGxvYWRpbnB1dFwiXG4gICAgICAgIGNsYXNzPVwiY29sLXhzLTEyIGNvbnRyb2wtbGFiZWxcIlxuICAgICAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3NyLW9ubHknXVwiXG4gICAgICAgIFtjbGFzcy5yZXF1aXJlZF09XCJpc3JlcXVpcmVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8c2FjLXRvb2x0aXBcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cIkhlbHB0ZXh0VG9vbHRpcEljb25cIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweFwiPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgIDwvbGFiZWw+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvbC14cy0xMlwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvQ29udHJvbFdpZHRoQ3NzKSA6ICcnXVwiXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbCA/ICdmbGV4JyA6IG51bGxcIj5cbiAgICAgICAgPGRpdiBbc3R5bGUuZmxleC1ncm93XT1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbCA/IDEgOiBudWxsXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpbWctcm91bmRlZCBkcm9wem9uZSBjb250cm9sLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAoZHJvcCk9XCJkcm9wSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoZHJhZ292ZXIpPVwib25EcmFnT3ZlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoZHJhZ2xlYXZlKT1cIm9uRHJhZ0xlYXZlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUubWluLWhlaWdodF09XCJ1cGxvYWRoZWlnaHRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInVwbG9hZHMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy5pcy1pbnZhbGlkXT1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1cGxvYWRzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3B6b25lLXVwbG9hZHN0YXRlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm10LTFdPVwiaSA+IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWxlIG9mIHVwbG9hZHM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAgdXBsb2FkLWNvbXBvbmVudCB1cGxvYWQtY29tcG9uZW50LW11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmlucHV0LWdyb3VwLXNtXT1cImNvbXBvbmVudEhlaWdodCA9PT0gQ29udHJvbEhlaWdodC5TbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5pbnB1dC1ncm91cC1sZ109XCJjb21wb25lbnRIZWlnaHQgPT09IENvbnRyb2xIZWlnaHQuTGFyZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY29udHJvbCB1cGxvYWQtcHJvZ3Jlc3MgYm9yZGVyLXNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2dyZXNzLWJhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5wcm9ncmVzcy1iYXItc3VjY2Vzc109XCJmaWxlLnByb2dyZXNzID09PSAxMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJvZ3Jlc3NiYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cImZpbGUucHJvZ3Jlc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9XCIxMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJmaWxlLnByb2dyZXNzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvZ3Jlc3MtdGV4dFwiPnt7IGZpbGUubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWJ0blwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBpbWFnZS1wcmV2aWV3LWNsZWFyIGJ1dHRvbiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoZmlsZS51cGxvYWRJZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5idG4tZGVmYXVsdF09XCIhKGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1kYW5nZXJdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvbkRlbGV0ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICNmaWxlc1xuICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZVxuICAgICAgICAgICAgICAgICAgICBpZD1cInt7IG5hbWUgfX1fdXBsb2FkaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLWZpbGUtaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZmlsZXMudmFsdWUgPSAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICh1cGxvYWR4U3RhdGUpPVwib25VcGxvYWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJIYXNRdWV1ZUl0ZW0oKVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzbWFsbFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndGV4dCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaGVscC1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIHt7IGhlbHB0ZXh0IH19XG4gICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaGVscC1ibG9jayBoZWxwLWJsb2NrLWVycm9yXCI+XG4gICAgICAgICAgICAgICAge3sgR2V0RXJyb3JNZXNzYWdlKCkgfCBhc3luYyB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sLXN0YXRpY1wiXG4gICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHhcIj5cbiAgICAgICAgICAgIDxzYWMtdG9vbHRpcFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwdGV4dF09XCJoZWxwdGV4dFwiXG4gICAgICAgICAgICAgICAgW2lubGluZW1vZGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJIZWxwdGV4dFRvb2x0aXBJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4OyBtYXJnaW4tcmlnaHQ6IDVweFwiPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|