@inspark/inspark-components 14.0.71 → 19.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/full/bms.css +3 -2363
- package/full/bms.js +1 -1
- package/full/components/autocomplete/autocomplete.component.d.ts +36 -57
- package/full/components/autocomplete/autocomplete.component.d.ts.map +1 -0
- package/full/components/autocomplete/autocomplete.module.d.ts +10 -0
- package/full/components/autocomplete/autocomplete.module.d.ts.map +1 -0
- package/full/components/breadcrumb/breadcrumb.component.d.ts +2 -1
- package/full/components/breadcrumb/breadcrumb.component.d.ts.map +1 -0
- package/full/components/breadcrumb/breadcrumb.module.d.ts +9 -0
- package/full/components/breadcrumb/breadcrumb.module.d.ts.map +1 -0
- package/full/components/button/button.component.d.ts +9 -8
- package/full/components/button/button.component.d.ts.map +1 -0
- package/full/components/button/button.module.d.ts +12 -0
- package/full/components/button/button.module.d.ts.map +1 -0
- package/full/components/checkbox/checkbox.component.d.ts +2 -1
- package/full/components/checkbox/checkbox.component.d.ts.map +1 -0
- package/full/components/checkbox/checkbox.module.d.ts +10 -0
- package/full/components/checkbox/checkbox.module.d.ts.map +1 -0
- package/full/components/communication.service.d.ts +1 -0
- package/full/components/communication.service.d.ts.map +1 -0
- package/full/components/component-container/component-container.component.d.ts +3 -2
- package/full/components/component-container/component-container.component.d.ts.map +1 -0
- package/full/components/component-container/component-container.module.d.ts +9 -0
- package/full/components/component-container/component-container.module.d.ts.map +1 -0
- package/full/components/content-toggle/content-toggle.component.d.ts +2 -1
- package/full/components/content-toggle/content-toggle.component.d.ts.map +1 -0
- package/full/components/dropdown/dropdown.component.d.ts +31 -108
- package/full/components/dropdown/dropdown.component.d.ts.map +1 -0
- package/full/components/dropdown/dropdown.module.d.ts +10 -0
- package/full/components/dropdown/dropdown.module.d.ts.map +1 -0
- package/full/components/empty/empty.component.d.ts +2 -1
- package/full/components/empty/empty.component.d.ts.map +1 -0
- package/full/components/file/file.component.d.ts +2 -1
- package/full/components/file/file.component.d.ts.map +1 -0
- package/full/components/file/file.module.d.ts +9 -0
- package/full/components/file/file.module.d.ts.map +1 -0
- package/full/components/header/header.component.d.ts +2 -1
- package/full/components/header/header.component.d.ts.map +1 -0
- package/full/components/inline-message/inline-message.component.d.ts +2 -1
- package/full/components/inline-message/inline-message.component.d.ts.map +1 -0
- package/full/components/input-group/input-group.component.d.ts +2 -1
- package/full/components/input-group/input-group.component.d.ts.map +1 -0
- package/full/components/input-text/input-text.component.d.ts +2 -1
- package/full/components/input-text/input-text.component.d.ts.map +1 -0
- package/full/components/input-text/input-text.module.d.ts +10 -0
- package/full/components/input-text/input-text.module.d.ts.map +1 -0
- package/full/components/inspark.module.d.ts +41 -44
- package/full/components/inspark.module.d.ts.map +1 -0
- package/full/components/inspark.shared.d.ts +2 -1
- package/full/components/inspark.shared.d.ts.map +1 -0
- package/full/components/legacy/legacy-components.module.d.ts +12 -0
- package/full/components/legacy/legacy-components.module.d.ts.map +1 -0
- package/full/components/legacy/legacy-ui.module.d.ts +13 -0
- package/full/components/legacy/legacy-ui.module.d.ts.map +1 -0
- package/full/components/link/link.component.d.ts +4 -3
- package/full/components/link/link.component.d.ts.map +1 -0
- package/full/components/link/link.module.d.ts +11 -0
- package/full/components/link/link.module.d.ts.map +1 -0
- package/full/components/modal-input-text/modal-input-text.component.d.ts +2 -1
- package/full/components/modal-input-text/modal-input-text.component.d.ts.map +1 -0
- package/full/components/object-tree/object-tree.component.d.ts +2 -1
- package/full/components/object-tree/object-tree.component.d.ts.map +1 -0
- package/full/components/panel/panel.component.d.ts +2 -1
- package/full/components/panel/panel.component.d.ts.map +1 -0
- package/full/components/pie/pie.component.d.ts +2 -1
- package/full/components/pie/pie.component.d.ts.map +1 -0
- package/full/components/pie/pie.service.d.ts +1 -0
- package/full/components/pie/pie.service.d.ts.map +1 -0
- package/full/components/preloader/preloader.component.d.ts +3 -2
- package/full/components/preloader/preloader.component.d.ts.map +1 -0
- package/full/components/preloader/preloader.module.d.ts +9 -0
- package/full/components/preloader/preloader.module.d.ts.map +1 -0
- package/full/components/radiobutton/radiobutton.component.d.ts +2 -1
- package/full/components/radiobutton/radiobutton.component.d.ts.map +1 -0
- package/full/components/select-button/select-button.component.d.ts +3 -2
- package/full/components/select-button/select-button.component.d.ts.map +1 -0
- package/full/components/select-button/select-button.module.d.ts +9 -0
- package/full/components/select-button/select-button.module.d.ts.map +1 -0
- package/full/components/select-list/select-list.component.d.ts +2 -1
- package/full/components/select-list/select-list.component.d.ts.map +1 -0
- package/full/components/shared/shared-components.module.d.ts +11 -0
- package/full/components/shared/shared-components.module.d.ts.map +1 -0
- package/full/components/shared/shared-ui.module.d.ts +12 -0
- package/full/components/shared/shared-ui.module.d.ts.map +1 -0
- package/full/components/status-circle/status-circle.component.d.ts +2 -1
- package/full/components/status-circle/status-circle.component.d.ts.map +1 -0
- package/full/components/sticky/sticky.component.d.ts +2 -1
- package/full/components/sticky/sticky.component.d.ts.map +1 -0
- package/full/components/sticky/sticky.module.d.ts +9 -0
- package/full/components/sticky/sticky.module.d.ts.map +1 -0
- package/full/components/svg/svg.component.d.ts +4 -4
- package/full/components/svg/svg.component.d.ts.map +1 -0
- package/full/components/svg/svg.module.d.ts +10 -0
- package/full/components/svg/svg.module.d.ts.map +1 -0
- package/full/components/switcher/switcher.component.d.ts +2 -1
- package/full/components/switcher/switcher.component.d.ts.map +1 -0
- package/full/components/table/table-click-outside.directive.d.ts +2 -1
- package/full/components/table/table-click-outside.directive.d.ts.map +1 -0
- package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts +2 -1
- package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts.map +1 -0
- package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts +2 -1
- package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts.map +1 -0
- package/full/components/table/table.component.d.ts +10 -12
- package/full/components/table/table.component.d.ts.map +1 -0
- package/full/components/textarea/textarea.component.d.ts +2 -1
- package/full/components/textarea/textarea.component.d.ts.map +1 -0
- package/full/components/textarea/textarea.module.d.ts +10 -0
- package/full/components/textarea/textarea.module.d.ts.map +1 -0
- package/full/components/toolbar/toolbar.component.d.ts +2 -1
- package/full/components/toolbar/toolbar.component.d.ts.map +1 -0
- package/full/components/toolbar/toolbar.module.d.ts +9 -0
- package/full/components/toolbar/toolbar.module.d.ts.map +1 -0
- package/full/components/tooltip/tooltip.component.d.ts +2 -1
- package/full/components/tooltip/tooltip.component.d.ts.map +1 -0
- package/full/components/tree-table/tree-table.component.d.ts +3 -2
- package/full/components/tree-table/tree-table.component.d.ts.map +1 -0
- package/full/fesm2022/inspark-inspark-components.mjs +6292 -0
- package/full/fesm2022/inspark-inspark-components.mjs.map +1 -0
- package/full/index.css +6 -2366
- package/full/index.d.ts +1 -0
- package/full/index.js +1 -1
- package/full/inspark-inspark-components.d.ts.map +1 -0
- package/full/interface.d.ts +3 -2
- package/full/interface.d.ts.map +1 -0
- package/full/pipes/pipes.module.d.ts +1 -0
- package/full/pipes/pipes.module.d.ts.map +1 -0
- package/full/pipes/propertyValue.pipe.d.ts +1 -0
- package/full/pipes/propertyValue.pipe.d.ts.map +1 -0
- package/full/pipes/safeUrl.pipe.d.ts +1 -0
- package/full/pipes/safeUrl.pipe.d.ts.map +1 -0
- package/full/pipes/sort-by.pipe.d.ts +1 -0
- package/full/pipes/sort-by.pipe.d.ts.map +1 -0
- package/full/pipes/time.pipe.d.ts +2 -1
- package/full/pipes/time.pipe.d.ts.map +1 -0
- package/full/public_api.d.ts +24 -7
- package/full/public_api.d.ts.map +1 -0
- package/full/services/inspark-dialog.service.d.ts +19 -6
- package/full/services/inspark-dialog.service.d.ts.map +1 -0
- package/full/services/inspark-message.service.d.ts +3 -2
- package/full/services/inspark-message.service.d.ts.map +1 -0
- package/full/utils/gettextMarker.function.d.ts +1 -0
- package/full/utils/gettextMarker.function.d.ts.map +1 -0
- package/full/utils/hybrid/prime-table/row-state.enum.d.ts +1 -0
- package/full/utils/hybrid/prime-table/row-state.enum.d.ts.map +1 -0
- package/full/utils/hybrid/prime-table/table-row-data.model.d.ts +1 -0
- package/full/utils/hybrid/prime-table/table-row-data.model.d.ts.map +1 -0
- package/interface/index.d.ts +1 -0
- package/interface/inspark-inspark-components.d.ts.map +1 -0
- package/interface/interface.d.ts +3 -2
- package/interface/interface.d.ts.map +1 -0
- package/interface/public_api.d.ts +1 -0
- package/interface/public_api.d.ts.map +1 -0
- package/package.json +1 -1
- package/full/components/primeng.module.d.ts +0 -7
- package/full/esm2020/components/autocomplete/autocomplete.component.mjs +0 -220
- package/full/esm2020/components/breadcrumb/breadcrumb.component.mjs +0 -20
- package/full/esm2020/components/button/button.component.mjs +0 -160
- package/full/esm2020/components/checkbox/checkbox.component.mjs +0 -89
- package/full/esm2020/components/communication.service.mjs +0 -25
- package/full/esm2020/components/component-container/component-container.component.mjs +0 -17
- package/full/esm2020/components/content-toggle/content-toggle.component.mjs +0 -49
- package/full/esm2020/components/dropdown/dropdown.component.mjs +0 -338
- package/full/esm2020/components/empty/empty.component.mjs +0 -12
- package/full/esm2020/components/file/file.component.mjs +0 -53
- package/full/esm2020/components/header/header.component.mjs +0 -29
- package/full/esm2020/components/inline-message/inline-message.component.mjs +0 -20
- package/full/esm2020/components/input-group/input-group.component.mjs +0 -166
- package/full/esm2020/components/input-text/input-text.component.mjs +0 -149
- package/full/esm2020/components/inspark.module.mjs +0 -239
- package/full/esm2020/components/inspark.shared.mjs +0 -25
- package/full/esm2020/components/link/link.component.mjs +0 -131
- package/full/esm2020/components/modal-input-text/modal-input-text.component.mjs +0 -88
- package/full/esm2020/components/object-tree/object-tree.component.mjs +0 -14
- package/full/esm2020/components/panel/panel.component.mjs +0 -11
- package/full/esm2020/components/pie/pie.component.mjs +0 -44
- package/full/esm2020/components/pie/pie.service.mjs +0 -55
- package/full/esm2020/components/preloader/preloader.component.mjs +0 -25
- package/full/esm2020/components/primeng.module.mjs +0 -22
- package/full/esm2020/components/radiobutton/radiobutton.component.mjs +0 -50
- package/full/esm2020/components/select-button/select-button.component.mjs +0 -190
- package/full/esm2020/components/select-list/select-list.component.mjs +0 -55
- package/full/esm2020/components/status-circle/status-circle.component.mjs +0 -39
- package/full/esm2020/components/sticky/sticky.component.mjs +0 -64
- package/full/esm2020/components/svg/svg.component.mjs +0 -28
- package/full/esm2020/components/switcher/switcher.component.mjs +0 -123
- package/full/esm2020/components/table/table-click-outside.directive.mjs +0 -31
- package/full/esm2020/components/table/table-columns-multiselect/table-columns-multiselect.component.mjs +0 -32
- package/full/esm2020/components/table/table-menu-overlay/table-menu-overlay.component.mjs +0 -26
- package/full/esm2020/components/table/table.component.mjs +0 -482
- package/full/esm2020/components/textarea/textarea.component.mjs +0 -87
- package/full/esm2020/components/toolbar/toolbar.component.mjs +0 -30
- package/full/esm2020/components/tooltip/tooltip.component.mjs +0 -14
- package/full/esm2020/components/tree-table/tree-table.component.mjs +0 -206
- package/full/esm2020/inspark-inspark-components.mjs +0 -5
- package/full/esm2020/interface.mjs +0 -2
- package/full/esm2020/pipes/pipes.module.mjs +0 -19
- package/full/esm2020/pipes/propertyValue.pipe.mjs +0 -25
- package/full/esm2020/pipes/safeUrl.pipe.mjs +0 -36
- package/full/esm2020/pipes/sort-by.pipe.mjs +0 -28
- package/full/esm2020/pipes/time.pipe.mjs +0 -206
- package/full/esm2020/public_api.mjs +0 -60
- package/full/esm2020/services/inspark-dialog.service.mjs +0 -61
- package/full/esm2020/services/inspark-message.service.mjs +0 -77
- package/full/esm2020/utils/gettextMarker.function.mjs +0 -5
- package/full/esm2020/utils/hybrid/prime-table/row-state.enum.mjs +0 -9
- package/full/esm2020/utils/hybrid/prime-table/table-row-data.model.mjs +0 -2
- package/full/fesm2015/inspark-inspark-components.mjs +0 -3664
- package/full/fesm2015/inspark-inspark-components.mjs.map +0 -1
- package/full/fesm2020/inspark-inspark-components.mjs +0 -3666
- package/full/fesm2020/inspark-inspark-components.mjs.map +0 -1
- package/full/package.json +0 -36
- package/interface/esm2020/inspark-inspark-components.mjs +0 -5
- package/interface/esm2020/interface.mjs +0 -2
- package/interface/esm2020/public_api.mjs +0 -5
- package/interface/fesm2020/inspark-inspark-components.mjs +0 -8
- package/interface/fesm2020/inspark-inspark-components.mjs.map +0 -1
- package/interface/package.json +0 -36
- /package/interface/{fesm2015 → fesm2022}/inspark-inspark-components.mjs +0 -0
- /package/interface/{fesm2015 → fesm2022}/inspark-inspark-components.mjs.map +0 -0
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class PanelComponent {
|
|
4
|
-
}
|
|
5
|
-
PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
-
PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PanelComponent, selector: "in-panel", ngImport: i0, template: "<div class=\"c-panel inspark-panel\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".inspark-panel{padding:8px}\n"] });
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PanelComponent, decorators: [{
|
|
8
|
-
type: Component,
|
|
9
|
-
args: [{ selector: 'in-panel', template: "<div class=\"c-panel inspark-panel\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".inspark-panel{padding:8px}\n"] }]
|
|
10
|
-
}] });
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL3BhbmVsL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9wYW5lbC9wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVF4QyxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzsrRkFBZCxjQUFjLGdEQ1IzQixvRkFHQTsyRkRLYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbi1wYW5lbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhbmVsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYW5lbC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFuZWxDb21wb25lbnQge1xyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImMtcGFuZWwgaW5zcGFyay1wYW5lbFwiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
4
|
-
import { PieService } from './pie.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@ngx-translate/core";
|
|
7
|
-
import * as i2 from "./pie.service";
|
|
8
|
-
import * as i3 from "@angular/common";
|
|
9
|
-
export class ObjectPieComponent {
|
|
10
|
-
constructor(translate, pieService, cdr) {
|
|
11
|
-
this.translate = translate;
|
|
12
|
-
this.pieService = pieService;
|
|
13
|
-
this.cdr = cdr;
|
|
14
|
-
this.count = 30;
|
|
15
|
-
this.size = 40;
|
|
16
|
-
this.statuses = {
|
|
17
|
-
'-1': 20,
|
|
18
|
-
0: 4,
|
|
19
|
-
1: 3,
|
|
20
|
-
2: 4,
|
|
21
|
-
3: 5
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
this.data = this.pieService.create(this.statuses, this.size);
|
|
26
|
-
}
|
|
27
|
-
ngOnDestroy() {
|
|
28
|
-
}
|
|
29
|
-
ngOnChanges(changes) {
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
ObjectPieComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectPieComponent, deps: [{ token: i1.TranslateService }, { token: i2.PieService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
ObjectPieComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ObjectPieComponent, selector: "in-pie", inputs: { count: "count", size: "size", statuses: "statuses" }, providers: [], usesOnChanges: true, ngImport: i0, template: "<div class=\"pie-block\">\r\n <svg viewBox=\"-20 -20 40 40\">\r\n <defs>\r\n <clipPath id=\"cut-off-bottom\">\r\n <circle cx=\"0\" cy=\"0\" r=\"12\"></circle>\r\n </clipPath>\r\n </defs>\r\n <mask id=\"re8-clip\">\r\n <circle cx=\"0\" cy=\"0\" r=\"20\" fill=\"white\"></circle>\r\n <circle cx=\"0\" cy=\"0\" r=\"14\" fill=\"black\"></circle>\r\n </mask>\r\n <path *ngFor=\"let path of data\" [attr.d]=\"path.path\" [attr.fill]=\"path.color\" mask=\"url(#re8-clip)\"></path>\r\n <text x=\"0\" y=\"4\" text-anchor=\"middle\" fill=\"currentColor\">{{count}}</text>\r\n </svg>\r\n</div>\r\n\r\n\r\n", styles: [".pie-block{width:40px;height:40px;color:var(--text-color)}.pie-block text{width:20px;height:20px;background:var(--colorBgLevel2);font-size:11px}.pie-block svg{width:40px;height:40px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectPieComponent, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{ selector: 'in-pie', encapsulation: ViewEncapsulation.Emulated, providers: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"pie-block\">\r\n <svg viewBox=\"-20 -20 40 40\">\r\n <defs>\r\n <clipPath id=\"cut-off-bottom\">\r\n <circle cx=\"0\" cy=\"0\" r=\"12\"></circle>\r\n </clipPath>\r\n </defs>\r\n <mask id=\"re8-clip\">\r\n <circle cx=\"0\" cy=\"0\" r=\"20\" fill=\"white\"></circle>\r\n <circle cx=\"0\" cy=\"0\" r=\"14\" fill=\"black\"></circle>\r\n </mask>\r\n <path *ngFor=\"let path of data\" [attr.d]=\"path.path\" [attr.fill]=\"path.color\" mask=\"url(#re8-clip)\"></path>\r\n <text x=\"0\" y=\"4\" text-anchor=\"middle\" fill=\"currentColor\">{{count}}</text>\r\n </svg>\r\n</div>\r\n\r\n\r\n", styles: [".pie-block{width:40px;height:40px;color:var(--text-color)}.pie-block text{width:20px;height:20px;background:var(--colorBgLevel2);font-size:11px}.pie-block svg{width:40px;height:40px}\n"] }]
|
|
37
|
-
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.PieService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { count: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], size: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], statuses: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9waWUvcGllLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9waWUvcGllLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWM7QUFDZCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUlMLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsVUFBVSxFQUFjLE1BQU0sZUFBZSxDQUFDOzs7OztBQVd0RCxNQUFNLE9BQU8sa0JBQWtCO0lBa0I3QixZQUNVLFNBQTJCLEVBQzNCLFVBQXNCLEVBQ3RCLEdBQXNCO1FBRnRCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFsQnZCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBR1YsYUFBUSxHQUNmO1lBQ0UsSUFBSSxFQUFFLEVBQUU7WUFDUixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztTQUNMLENBQUM7SUFVSixDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFdBQVc7SUFDWCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU87SUFDbkIsQ0FBQzs7K0dBbkNVLGtCQUFrQjttR0FBbEIsa0JBQWtCLGlHQUhsQixFQUFFLCtDQ3BCZixrcUJBaUJBOzJGRE1hLGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDRSxRQUFRLGlCQUdILGlCQUFpQixDQUFDLFFBQVEsYUFDOUIsRUFBRSxtQkFDSSx1QkFBdUIsQ0FBQyxNQUFNO2dLQUt0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtbm9jaGVja1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQge1BpZVNlcnZpY2UsIFBpZVN0YXR1c2VzfSBmcm9tICcuL3BpZS5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2luLXBpZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BpZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGllLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9iamVjdFBpZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBPbkluaXQge1xyXG5cclxuXHJcbiAgQElucHV0KCkgY291bnQgPSAzMDtcclxuICBASW5wdXQoKSBzaXplID0gNDA7XHJcblxyXG5cclxuICBASW5wdXQoKSBzdGF0dXNlczogUGllU3RhdHVzZXMgPVxyXG4gICAge1xyXG4gICAgICAnLTEnOiAyMCxcclxuICAgICAgMDogNCxcclxuICAgICAgMTogMyxcclxuICAgICAgMjogNCxcclxuICAgICAgMzogNVxyXG4gICAgfTtcclxuXHJcbiAgZGF0YTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgcGllU2VydmljZTogUGllU2VydmljZSxcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLnBpZVNlcnZpY2UuY3JlYXRlKHRoaXMuc3RhdHVzZXMsIHRoaXMuc2l6ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXMpIHtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG4iLCI8ZGl2IGNsYXNzPVwicGllLWJsb2NrXCI+XHJcbiAgICA8c3ZnIHZpZXdCb3g9XCItMjAgLTIwIDQwIDQwXCI+XHJcbiAgICAgIDxkZWZzPlxyXG4gICAgICAgIDxjbGlwUGF0aCBpZD1cImN1dC1vZmYtYm90dG9tXCI+XHJcbiAgICAgICAgICA8Y2lyY2xlIGN4PVwiMFwiIGN5PVwiMFwiIHI9XCIxMlwiPjwvY2lyY2xlPlxyXG4gICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgIDwvZGVmcz5cclxuICAgICAgPG1hc2sgaWQ9XCJyZTgtY2xpcFwiPlxyXG4gICAgICAgIDxjaXJjbGUgY3g9XCIwXCIgY3k9XCIwXCIgcj1cIjIwXCIgZmlsbD1cIndoaXRlXCI+PC9jaXJjbGU+XHJcbiAgICAgICAgPGNpcmNsZSBjeD1cIjBcIiBjeT1cIjBcIiByPVwiMTRcIiBmaWxsPVwiYmxhY2tcIj48L2NpcmNsZT5cclxuICAgICAgPC9tYXNrPlxyXG4gICAgICAgIDxwYXRoICpuZ0Zvcj1cImxldCBwYXRoIG9mIGRhdGFcIiBbYXR0ci5kXT1cInBhdGgucGF0aFwiIFthdHRyLmZpbGxdPVwicGF0aC5jb2xvclwiICBtYXNrPVwidXJsKCNyZTgtY2xpcClcIj48L3BhdGg+XHJcbiAgICAgICAgPHRleHQgeD1cIjBcIiB5PVwiNFwiIHRleHQtYW5jaG9yPVwibWlkZGxlXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPnt7Y291bnR9fTwvdGV4dD5cclxuICAgIDwvc3ZnPlxyXG48L2Rpdj5cclxuXHJcblxyXG4iXX0=
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class PieService {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.colorArray = ['-1', 0, 1, 2, 3, 4]; // Цвета и последовательность в которой они будут отображены
|
|
6
|
-
this.colors = {
|
|
7
|
-
1: '#31ac51',
|
|
8
|
-
2: '#EE9946',
|
|
9
|
-
3: '#F95C5D',
|
|
10
|
-
4: '#a20000',
|
|
11
|
-
0: '#7E8087',
|
|
12
|
-
'-1': '#85B3CB'
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
create(statuses, size) {
|
|
16
|
-
const data = [];
|
|
17
|
-
let allCount = 0;
|
|
18
|
-
this.colorArray.forEach((color) => {
|
|
19
|
-
allCount += statuses[color] || 0;
|
|
20
|
-
});
|
|
21
|
-
let cumulativePercent = 0;
|
|
22
|
-
this.colorArray.forEach((color) => {
|
|
23
|
-
const count = statuses[color];
|
|
24
|
-
if (!count) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
const percent = count / allCount;
|
|
28
|
-
const [startX, startY] = this.getCoordinatesForPercent(size, cumulativePercent);
|
|
29
|
-
cumulativePercent += percent;
|
|
30
|
-
const [endX, endY] = this.getCoordinatesForPercent(size, cumulativePercent);
|
|
31
|
-
const largeArcFlag = percent > .5 ? 1 : 0;
|
|
32
|
-
const pathData = [
|
|
33
|
-
`M ${startX} ${startY}`,
|
|
34
|
-
`A 20 20 0 ${largeArcFlag} 1 ${endX} ${endY}`,
|
|
35
|
-
`L 0 0`, // Line
|
|
36
|
-
].join(' ');
|
|
37
|
-
data.push({
|
|
38
|
-
path: pathData,
|
|
39
|
-
color: this.colors[color + '']
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
return data;
|
|
43
|
-
}
|
|
44
|
-
getCoordinatesForPercent(size, percent) {
|
|
45
|
-
const x = size / 2 * Math.cos(2 * Math.PI * percent);
|
|
46
|
-
const y = size / 2 * Math.sin(2 * Math.PI * percent);
|
|
47
|
-
return [x, y];
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
PieService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PieService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
-
PieService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PieService });
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PieService, decorators: [{
|
|
53
|
-
type: Injectable
|
|
54
|
-
}] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvcGllL3BpZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBWXpDLE1BQU0sT0FBTyxVQUFVO0lBRHZCO1FBSVUsZUFBVSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLDREQUE0RDtRQUVoRyxXQUFNLEdBQUc7WUFDZixDQUFDLEVBQUUsU0FBUztZQUNaLENBQUMsRUFBRSxTQUFTO1lBQ1osQ0FBQyxFQUFFLFNBQVM7WUFDWixDQUFDLEVBQUUsU0FBUztZQUNaLENBQUMsRUFBRSxTQUFTO1lBQ1osSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQztLQXlDSDtJQXZDQyxNQUFNLENBQUMsUUFBcUIsRUFBRSxJQUFJO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNyQyxRQUFRLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDckMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsT0FBTzthQUNSO1lBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxHQUFHLFFBQVEsQ0FBQztZQUNqQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztZQUNoRixpQkFBaUIsSUFBSSxPQUFPLENBQUM7WUFDN0IsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFFNUUsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFMUMsTUFBTSxRQUFRLEdBQUc7Z0JBQ2YsS0FBSyxNQUFNLElBQUksTUFBTSxFQUFFO2dCQUN2QixhQUFhLFlBQVksTUFBTSxJQUFJLElBQUksSUFBSSxFQUFFO2dCQUM3QyxPQUFPLEVBQUUsT0FBTzthQUNqQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVaLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQzthQUMvQixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLHdCQUF3QixDQUFDLElBQUksRUFBRSxPQUFPO1FBQzVDLE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUNyRCxNQUFNLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDckQsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoQixDQUFDOzt1R0FuRFUsVUFBVTsyR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGllU3RhdHVzZXMge1xyXG4gICctMSc6IG51bWJlcjtcclxuICAwOiBudW1iZXI7XHJcbiAgMTogbnVtYmVyO1xyXG4gIDI6IG51bWJlcjtcclxuICAzOiBudW1iZXI7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFBpZVNlcnZpY2Uge1xyXG5cclxuXHJcbiAgcHJpdmF0ZSBjb2xvckFycmF5ID0gWyctMScsIDAsIDEsIDIsIDMsIDRdOyAvLyDQptCy0LXRgtCwINC4INC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtGB0YLRjCDQsiDQutC+0YLQvtGA0L7QuSDQvtC90Lgg0LHRg9C00YPRgiDQvtGC0L7QsdGA0LDQttC10L3Ri1xyXG5cclxuICBwcml2YXRlIGNvbG9ycyA9IHtcclxuICAgIDE6ICcjMzFhYzUxJyxcclxuICAgIDI6ICcjRUU5OTQ2JyxcclxuICAgIDM6ICcjRjk1QzVEJyxcclxuICAgIDQ6ICcjYTIwMDAwJyxcclxuICAgIDA6ICcjN0U4MDg3JyxcclxuICAgICctMSc6ICcjODVCM0NCJ1xyXG4gIH07XHJcblxyXG4gIGNyZWF0ZShzdGF0dXNlczogUGllU3RhdHVzZXMsIHNpemUpOiB7IHBhdGg6IHN0cmluZywgY29sb3I6IHN0cmluZyB9W10ge1xyXG4gICAgY29uc3QgZGF0YSA9IFtdO1xyXG4gICAgbGV0IGFsbENvdW50ID0gMDtcclxuICAgIHRoaXMuY29sb3JBcnJheS5mb3JFYWNoKChjb2xvcjogYW55KSA9PiB7XHJcbiAgICAgIGFsbENvdW50ICs9IHN0YXR1c2VzW2NvbG9yXSB8fCAwO1xyXG4gICAgfSk7XHJcbiAgICBsZXQgY3VtdWxhdGl2ZVBlcmNlbnQgPSAwO1xyXG4gICAgdGhpcy5jb2xvckFycmF5LmZvckVhY2goKGNvbG9yOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgY291bnQgPSBzdGF0dXNlc1tjb2xvcl07XHJcbiAgICAgIGlmICghY291bnQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcGVyY2VudCA9IGNvdW50IC8gYWxsQ291bnQ7XHJcbiAgICAgIGNvbnN0IFtzdGFydFgsIHN0YXJ0WV0gPSB0aGlzLmdldENvb3JkaW5hdGVzRm9yUGVyY2VudChzaXplLCBjdW11bGF0aXZlUGVyY2VudCk7XHJcbiAgICAgIGN1bXVsYXRpdmVQZXJjZW50ICs9IHBlcmNlbnQ7XHJcbiAgICAgIGNvbnN0IFtlbmRYLCBlbmRZXSA9IHRoaXMuZ2V0Q29vcmRpbmF0ZXNGb3JQZXJjZW50KHNpemUsIGN1bXVsYXRpdmVQZXJjZW50KTtcclxuXHJcbiAgICAgIGNvbnN0IGxhcmdlQXJjRmxhZyA9IHBlcmNlbnQgPiAuNSA/IDEgOiAwO1xyXG5cclxuICAgICAgY29uc3QgcGF0aERhdGEgPSBbXHJcbiAgICAgICAgYE0gJHtzdGFydFh9ICR7c3RhcnRZfWAsIC8vIE1vdmVcclxuICAgICAgICBgQSAyMCAyMCAwICR7bGFyZ2VBcmNGbGFnfSAxICR7ZW5kWH0gJHtlbmRZfWAsIC8vIEFyY1xyXG4gICAgICAgIGBMIDAgMGAsIC8vIExpbmVcclxuICAgICAgXS5qb2luKCcgJyk7XHJcblxyXG4gICAgICBkYXRhLnB1c2goe1xyXG4gICAgICAgIHBhdGg6IHBhdGhEYXRhLFxyXG4gICAgICAgIGNvbG9yOiB0aGlzLmNvbG9yc1tjb2xvciArICcnXVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvb3JkaW5hdGVzRm9yUGVyY2VudChzaXplLCBwZXJjZW50KSB7XHJcbiAgICBjb25zdCB4ID0gc2l6ZSAvIDIgKiBNYXRoLmNvcygyICogTWF0aC5QSSAqIHBlcmNlbnQpO1xyXG4gICAgY29uc3QgeSA9IHNpemUgLyAyICogTWF0aC5zaW4oMiAqIE1hdGguUEkgKiBwZXJjZW50KTtcclxuICAgIHJldHVybiBbeCwgeV07XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
export class PreloaderComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.inline = false;
|
|
7
|
-
this.overlay = false;
|
|
8
|
-
this.size = 'normal';
|
|
9
|
-
}
|
|
10
|
-
ngOnInit() {
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
PreloaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PreloaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
-
PreloaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PreloaderComponent, selector: "in-preloader", inputs: { inline: "inline", overlay: "overlay", size: "size" }, ngImport: i0, template: "<div [ngClass]=\"{float:!inline, small: size==='small'}\" class=\"preloader-container\">\r\n <div class=\"lds-spinner\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"overlay\" class=\"overlay\"></div>\r\n", styles: ["@charset \"UTF-8\";.preloader-container{display:inline-flex;width:100%;height:64px;position:relative;align-items:center;justify-content:center;z-index:101}.preloader-container.float{position:absolute;height:auto;width:auto;top:50%;left:50%;transform:translate(-50%,-50%)}.preloader-container.small{width:32px;height:32px}.preloader-container.small .lds-spinner{color:var(--ids-theme-btn-primary-background);width:32px;height:32px}.lds-spinner{color:var(--ids-theme-btn-primary-background);width:64px;height:64px}.lds-spinner div{transform-origin:32px 32px;animation:lds-spinner 1.2s linear infinite}.small .lds-spinner div{transform-origin:16px 16px}.lds-spinner div:after{content:\" \";display:block;position:absolute;top:3px;left:29px;width:5px;height:14px;border-radius:20%;background:var(--ids-theme-btn-primary-background, #78f4ff)}.small .lds-spinner div:after{width:3px;height:6px;left:15px}.lds-spinner div:nth-child(1){transform:rotate(0);animation-delay:-1.1s}.lds-spinner div:nth-child(2){transform:rotate(30deg);animation-delay:-1s}.lds-spinner div:nth-child(3){transform:rotate(60deg);animation-delay:-.9s}.lds-spinner div:nth-child(4){transform:rotate(90deg);animation-delay:-.8s}.lds-spinner div:nth-child(5){transform:rotate(120deg);animation-delay:-.7s}.lds-spinner div:nth-child(6){transform:rotate(150deg);animation-delay:-.6s}.lds-spinner div:nth-child(7){transform:rotate(180deg);animation-delay:-.5s}.lds-spinner div:nth-child(8){transform:rotate(210deg);animation-delay:-.4s}.lds-spinner div:nth-child(9){transform:rotate(240deg);animation-delay:-.3s}.lds-spinner div:nth-child(10){transform:rotate(270deg);animation-delay:-.2s}.lds-spinner div:nth-child(11){transform:rotate(300deg);animation-delay:-.1s}.lds-spinner div:nth-child(12){transform:rotate(330deg);animation-delay:0s}@keyframes lds-spinner{0%{opacity:1}to{opacity:0}}.overlay{position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:100}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PreloaderComponent, decorators: [{
|
|
16
|
-
type: Component,
|
|
17
|
-
args: [{ selector: 'in-preloader', encapsulation: ViewEncapsulation.Emulated, template: "<div [ngClass]=\"{float:!inline, small: size==='small'}\" class=\"preloader-container\">\r\n <div class=\"lds-spinner\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"overlay\" class=\"overlay\"></div>\r\n", styles: ["@charset \"UTF-8\";.preloader-container{display:inline-flex;width:100%;height:64px;position:relative;align-items:center;justify-content:center;z-index:101}.preloader-container.float{position:absolute;height:auto;width:auto;top:50%;left:50%;transform:translate(-50%,-50%)}.preloader-container.small{width:32px;height:32px}.preloader-container.small .lds-spinner{color:var(--ids-theme-btn-primary-background);width:32px;height:32px}.lds-spinner{color:var(--ids-theme-btn-primary-background);width:64px;height:64px}.lds-spinner div{transform-origin:32px 32px;animation:lds-spinner 1.2s linear infinite}.small .lds-spinner div{transform-origin:16px 16px}.lds-spinner div:after{content:\" \";display:block;position:absolute;top:3px;left:29px;width:5px;height:14px;border-radius:20%;background:var(--ids-theme-btn-primary-background, #78f4ff)}.small .lds-spinner div:after{width:3px;height:6px;left:15px}.lds-spinner div:nth-child(1){transform:rotate(0);animation-delay:-1.1s}.lds-spinner div:nth-child(2){transform:rotate(30deg);animation-delay:-1s}.lds-spinner div:nth-child(3){transform:rotate(60deg);animation-delay:-.9s}.lds-spinner div:nth-child(4){transform:rotate(90deg);animation-delay:-.8s}.lds-spinner div:nth-child(5){transform:rotate(120deg);animation-delay:-.7s}.lds-spinner div:nth-child(6){transform:rotate(150deg);animation-delay:-.6s}.lds-spinner div:nth-child(7){transform:rotate(180deg);animation-delay:-.5s}.lds-spinner div:nth-child(8){transform:rotate(210deg);animation-delay:-.4s}.lds-spinner div:nth-child(9){transform:rotate(240deg);animation-delay:-.3s}.lds-spinner div:nth-child(10){transform:rotate(270deg);animation-delay:-.2s}.lds-spinner div:nth-child(11){transform:rotate(300deg);animation-delay:-.1s}.lds-spinner div:nth-child(12){transform:rotate(330deg);animation-delay:0s}@keyframes lds-spinner{0%{opacity:1}to{opacity:0}}.overlay{position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:100}\n"] }]
|
|
18
|
-
}], ctorParameters: function () { return []; }, propDecorators: { inline: [{
|
|
19
|
-
type: Input
|
|
20
|
-
}], overlay: [{
|
|
21
|
-
type: Input
|
|
22
|
-
}], size: [{
|
|
23
|
-
type: Input
|
|
24
|
-
}] } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9wcmVsb2FkZXIvcHJlbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9wcmVsb2FkZXIvcHJlbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFXMUUsTUFBTSxPQUFPLGtCQUFrQjtJQU03QjtRQUpTLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFNBQUksR0FBa0IsUUFBUSxDQUFDO0lBR3hDLENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQzs7K0dBVlUsa0JBQWtCO21HQUFsQixrQkFBa0Isb0hDWC9CLDRhQWlCQTsyRkROYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsY0FBYyxpQkFHVCxpQkFBaUIsQ0FBQyxRQUFROzBFQUloQyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxudHlwZSBQcmVsb2FkZXJTaXplID0gJ3NtYWxsJyB8ICdub3JtYWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbi1wcmVsb2FkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmVsb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3ByZWxvYWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcmVsb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBpbmxpbmUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBvdmVybGF5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2l6ZTogUHJlbG9hZGVyU2l6ZSA9ICdub3JtYWwnO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzc109XCJ7ZmxvYXQ6IWlubGluZSwgc21hbGw6IHNpemU9PT0nc21hbGwnfVwiIGNsYXNzPVwicHJlbG9hZGVyLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJsZHMtc3Bpbm5lclwiPlxyXG4gICAgPGRpdj48L2Rpdj5cclxuICAgIDxkaXY+PC9kaXY+XHJcbiAgICA8ZGl2PjwvZGl2PlxyXG4gICAgPGRpdj48L2Rpdj5cclxuICAgIDxkaXY+PC9kaXY+XHJcbiAgICA8ZGl2PjwvZGl2PlxyXG4gICAgPGRpdj48L2Rpdj5cclxuICAgIDxkaXY+PC9kaXY+XHJcbiAgICA8ZGl2PjwvZGl2PlxyXG4gICAgPGRpdj48L2Rpdj5cclxuICAgIDxkaXY+PC9kaXY+XHJcbiAgICA8ZGl2PjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cIm92ZXJsYXlcIiBjbGFzcz1cIm92ZXJsYXlcIj48L2Rpdj5cclxuIl19
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { DropdownModule } from 'primeng/dropdown';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class PrimengComponentsModule {
|
|
5
|
-
}
|
|
6
|
-
PrimengComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
-
PrimengComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, imports: [DropdownModule], exports: [DropdownModule] });
|
|
8
|
-
PrimengComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, imports: [DropdownModule, DropdownModule] });
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PrimengComponentsModule, decorators: [{
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
imports: [
|
|
13
|
-
DropdownModule,
|
|
14
|
-
],
|
|
15
|
-
declarations: [],
|
|
16
|
-
exports: [
|
|
17
|
-
DropdownModule
|
|
18
|
-
],
|
|
19
|
-
entryComponents: []
|
|
20
|
-
}]
|
|
21
|
-
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWVuZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvcHJpbWVuZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBWWxELE1BQU0sT0FBTyx1QkFBdUI7O29IQUF2Qix1QkFBdUI7cUhBQXZCLHVCQUF1QixZQVJoQyxjQUFjLGFBSWQsY0FBYztxSEFJTCx1QkFBdUIsWUFSaEMsY0FBYyxFQUlkLGNBQWM7MkZBSUwsdUJBQXVCO2tCQVZuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxjQUFjO3FCQUNmO29CQUNELFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsY0FBYztxQkFDZjtvQkFDRCxlQUFlLEVBQUUsRUFBRTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgRHJvcGRvd25Nb2R1bGUsXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIERyb3Bkb3duTW9kdWxlXHJcbiAgXSxcclxuICBlbnRyeUNvbXBvbmVudHM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcmltZW5nQ29tcG9uZW50c01vZHVsZSB7XHJcbn1cclxuIl19
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/forms";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "primeng/radiobutton";
|
|
6
|
-
export class RadiobuttonComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.name = null;
|
|
9
|
-
this.label = null;
|
|
10
|
-
this.required = false;
|
|
11
|
-
this.error = null;
|
|
12
|
-
this.placeholder = '';
|
|
13
|
-
this.id = null;
|
|
14
|
-
this.change = new EventEmitter();
|
|
15
|
-
}
|
|
16
|
-
onChangeEvent(value) {
|
|
17
|
-
this.change.next({ name: this.name, value });
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
RadiobuttonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadiobuttonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
RadiobuttonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: RadiobuttonComponent, selector: "in-radiobutton", inputs: { name: "name", label: "label", required: "required", error: "error", placeholder: "placeholder", id: "id", disabled: "disabled", value: "value", values: "values", keyLabel: "keyLabel", item: "item" }, outputs: { change: "change" }, ngImport: i0, template: "<ng-container *ngFor=\"let element of values\">\r\n <p-radioButton\r\n class=\"u-margin-left-tiny u-vertical-align-middle field_{{name}}\"\r\n (onClick)=\"onChangeEvent(element)\"\r\n [id]=\"element[keyLabel]\"\r\n [(ngModel)]=\"item\"\r\n [name]=\"name\"\r\n [value]=\"element.id\"\r\n [disabled]=\"disabled\"\r\n [label]=\"element[keyLabel]\">\r\n </p-radioButton>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RadiobuttonComponent, decorators: [{
|
|
23
|
-
type: Component,
|
|
24
|
-
args: [{ selector: 'in-radiobutton', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let element of values\">\r\n <p-radioButton\r\n class=\"u-margin-left-tiny u-vertical-align-middle field_{{name}}\"\r\n (onClick)=\"onChangeEvent(element)\"\r\n [id]=\"element[keyLabel]\"\r\n [(ngModel)]=\"item\"\r\n [name]=\"name\"\r\n [value]=\"element.id\"\r\n [disabled]=\"disabled\"\r\n [label]=\"element[keyLabel]\">\r\n </p-radioButton>\r\n</ng-container>\r\n" }]
|
|
25
|
-
}], ctorParameters: function () { return []; }, propDecorators: { name: [{
|
|
26
|
-
type: Input
|
|
27
|
-
}], label: [{
|
|
28
|
-
type: Input
|
|
29
|
-
}], required: [{
|
|
30
|
-
type: Input
|
|
31
|
-
}], error: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}], placeholder: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}], id: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}], disabled: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], value: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], values: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], keyLabel: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], item: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], change: [{
|
|
48
|
-
type: Output
|
|
49
|
-
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL3JhZGlvYnV0dG9uL3JhZGlvYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9yYWRpb2J1dHRvbi9yYWRpb2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7OztBQVE5RixNQUFNLE9BQU8sb0JBQW9CO0lBZS9CO1FBZFMsU0FBSSxHQUFHLElBQUksQ0FBQztRQUNaLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixPQUFFLEdBQUcsSUFBSSxDQUFDO1FBTVQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFJdEMsQ0FBQztJQUdELGFBQWEsQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDOztpSEFyQlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsdVNDUmpDLDhhQVlBOzJGREphLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTswRUFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbi1yYWRpb2J1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yYWRpb2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb2J1dHRvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbmFtZSA9IG51bGw7XHJcbiAgQElucHV0KCkgbGFiZWwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZXJyb3IgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgQElucHV0KCkgaWQgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHZhbHVlO1xyXG4gIEBJbnB1dCgpIHZhbHVlcztcclxuICBASW5wdXQoKSBrZXlMYWJlbDtcclxuICBASW5wdXQoKSBpdGVtO1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG5cclxuICBvbkNoYW5nZUV2ZW50KHZhbHVlKSB7XHJcbiAgICB0aGlzLmNoYW5nZS5uZXh0KHtuYW1lOiB0aGlzLm5hbWUsIHZhbHVlfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgdmFsdWVzXCI+XHJcbiAgPHAtcmFkaW9CdXR0b25cclxuICAgIGNsYXNzPVwidS1tYXJnaW4tbGVmdC10aW55IHUtdmVydGljYWwtYWxpZ24tbWlkZGxlIGZpZWxkX3t7bmFtZX19XCJcclxuICAgICAgICAgICAgICAgICAob25DbGljayk9XCJvbkNoYW5nZUV2ZW50KGVsZW1lbnQpXCJcclxuICAgIFtpZF09XCJlbGVtZW50W2tleUxhYmVsXVwiXHJcbiAgICBbKG5nTW9kZWwpXT1cIml0ZW1cIlxyXG4gICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICBbdmFsdWVdPVwiZWxlbWVudC5pZFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW2xhYmVsXT1cImVsZW1lbnRba2V5TGFiZWxdXCI+XHJcbiAgPC9wLXJhZGlvQnV0dG9uPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, EventEmitter, forwardRef, Input, Output, } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "../button/button.component";
|
|
6
|
-
import * as i3 from "@ngx-translate/core";
|
|
7
|
-
export class SelectButtonComponent {
|
|
8
|
-
constructor(cdRef) {
|
|
9
|
-
this.cdRef = cdRef;
|
|
10
|
-
this.name = '';
|
|
11
|
-
this.testId = '';
|
|
12
|
-
this.label = '';
|
|
13
|
-
this.icon = '';
|
|
14
|
-
this.error = '';
|
|
15
|
-
this.iconPos = 'left';
|
|
16
|
-
this.options = [];
|
|
17
|
-
this.disabled = false;
|
|
18
|
-
this.required = false;
|
|
19
|
-
this.multiple = false;
|
|
20
|
-
this.focus = new EventEmitter();
|
|
21
|
-
this.blur = new EventEmitter();
|
|
22
|
-
this.click = new EventEmitter();
|
|
23
|
-
this.change = new EventEmitter();
|
|
24
|
-
// хранит выбранные ЗНАЧЕНИЯ, а не объекты
|
|
25
|
-
this.selected = [];
|
|
26
|
-
// то, что отдаем наружу в форму
|
|
27
|
-
this.value = null;
|
|
28
|
-
this.propagateChange = () => { };
|
|
29
|
-
this.propagateTouched = () => { };
|
|
30
|
-
}
|
|
31
|
-
ngOnInit() { }
|
|
32
|
-
ngOnChanges(changes) {
|
|
33
|
-
// применяем initial только когда он реально поменялся
|
|
34
|
-
if (changes['initial'] && this.initial) {
|
|
35
|
-
this.selected = [...this.initial];
|
|
36
|
-
this.value = this.multiple ? [...this.initial] : this.initial[0] ?? null;
|
|
37
|
-
this.cdRef.detectChanges();
|
|
38
|
-
}
|
|
39
|
-
// если меняется список опций, надо попытаться восстановить выделение
|
|
40
|
-
if (changes['options'] && this.options && this.options.length > 0) {
|
|
41
|
-
this.syncSelectedWithOptions();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
clickButton(option) {
|
|
45
|
-
if (option.readonly || this.disabled) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
this.click.emit(option);
|
|
49
|
-
if (this.multiple) {
|
|
50
|
-
if (this.selected.includes(option.value)) {
|
|
51
|
-
// убираем
|
|
52
|
-
this.selected = this.selected.filter(v => v !== option.value);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
// добавляем
|
|
56
|
-
this.selected = [...this.selected, option.value];
|
|
57
|
-
}
|
|
58
|
-
this.value = [...this.selected];
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
this.selected = [option.value];
|
|
62
|
-
this.value = option.value;
|
|
63
|
-
}
|
|
64
|
-
this.cdRef.detectChanges();
|
|
65
|
-
this.onChange();
|
|
66
|
-
}
|
|
67
|
-
// ControlValueAccessor: model -> view
|
|
68
|
-
writeValue(value) {
|
|
69
|
-
this.value = value;
|
|
70
|
-
if (value === null || value === undefined) {
|
|
71
|
-
this.selected = [];
|
|
72
|
-
}
|
|
73
|
-
else if (Array.isArray(value)) {
|
|
74
|
-
// multiple
|
|
75
|
-
this.selected = [...value];
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
// single
|
|
79
|
-
this.selected = [value];
|
|
80
|
-
}
|
|
81
|
-
// когда значение пришло извне, надо убедиться что такие опции есть
|
|
82
|
-
this.syncSelectedWithOptions();
|
|
83
|
-
this.cdRef.detectChanges();
|
|
84
|
-
}
|
|
85
|
-
// ControlValueAccessor
|
|
86
|
-
registerOnChange(fn) {
|
|
87
|
-
this.propagateChange = fn;
|
|
88
|
-
}
|
|
89
|
-
// ControlValueAccessor
|
|
90
|
-
registerOnTouched(fn) {
|
|
91
|
-
this.propagateTouched = fn;
|
|
92
|
-
}
|
|
93
|
-
// ControlValueAccessor: disabled
|
|
94
|
-
setDisabledState(isDisabled) {
|
|
95
|
-
this.disabled = isDisabled;
|
|
96
|
-
this.cdRef.detectChanges();
|
|
97
|
-
}
|
|
98
|
-
// пробросить наружу
|
|
99
|
-
onChange() {
|
|
100
|
-
this.propagateChange(this.value);
|
|
101
|
-
this.change.emit(this.value);
|
|
102
|
-
}
|
|
103
|
-
onBlur() {
|
|
104
|
-
this.propagateTouched();
|
|
105
|
-
this.blur.emit();
|
|
106
|
-
}
|
|
107
|
-
onFocus() {
|
|
108
|
-
this.focus.emit();
|
|
109
|
-
}
|
|
110
|
-
// синхронизируем текущее выбранное со свежими options
|
|
111
|
-
syncSelectedWithOptions() {
|
|
112
|
-
if (!this.options || this.options.length === 0) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
if (this.multiple) {
|
|
116
|
-
// оставляем только те выбранные, которые реально есть в новых options
|
|
117
|
-
const optionValues = this.options.map(o => o.value);
|
|
118
|
-
this.selected = this.selected.filter(v => optionValues.includes(v));
|
|
119
|
-
this.value = [...this.selected];
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
if (this.selected.length > 0) {
|
|
123
|
-
const current = this.selected[0];
|
|
124
|
-
const found = this.options.find(o => o.value === current);
|
|
125
|
-
if (!found) {
|
|
126
|
-
// выбранного больше нет в списке
|
|
127
|
-
this.selected = [];
|
|
128
|
-
this.value = null;
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
this.selected = [found.value];
|
|
132
|
-
this.value = found.value;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
// для *ngFor trackBy
|
|
138
|
-
trackByValue(index, item) {
|
|
139
|
-
return item.value;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
SelectButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
143
|
-
SelectButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SelectButtonComponent, selector: "in-select-button", inputs: { name: "name", testId: "testId", label: "label", icon: "icon", error: "error", iconPos: "iconPos", options: "options", disabled: "disabled", required: "required", multiple: "multiple", initial: "initial" }, outputs: { focus: "focus", blur: "blur", click: "click", change: "change" }, providers: [
|
|
144
|
-
{
|
|
145
|
-
provide: NG_VALUE_ACCESSOR,
|
|
146
|
-
useExisting: forwardRef(() => SelectButtonComponent),
|
|
147
|
-
multi: true,
|
|
148
|
-
},
|
|
149
|
-
], usesOnChanges: true, ngImport: i0, template: "<span *ngIf=\"label\" class=\"c-label__content\">\r\n {{ label }}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{ error }}</span>\r\n</span>\r\n\r\n<div class=\"container\">\r\n <!-- \u0444\u0438\u043A\u0442\u0438\u0432\u043D\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0430 \u0435\u0441\u043B\u0438 \u043D\u0443\u0436\u043D\u0430 \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0430 -->\r\n <in-button class=\"button-none\"></in-button>\r\n\r\n <in-button\r\n *ngFor=\"let option of options; trackBy: trackByValue\"\r\n (click)=\"clickButton(option)\"\r\n [color]=\"selected.includes(option.value) ? 'primary' : 'normal'\"\r\n [icon]=\"option.icon\"\r\n [label]=\"option.label | translate\"\r\n [testId]=\"'filter-buttons-' + option.value\"\r\n [title]=\"option.title ? (option.title | translate) : ''\"\r\n [name]=\"option.label\"\r\n [disabled]=\"option.readonly || disabled\"\r\n >\r\n </in-button>\r\n</div>\r\n", styles: [".container{white-space:nowrap}in-button ::ng-deep button{outline:none}in-button:first-child ::ng-deep button{border-bottom-right-radius:0;border-top-right-radius:0;border-right:1px solid #000}in-button:not(:first-child):not(:last-child) ::ng-deep button{border-radius:0;border-right:1px solid #000}in-button:last-child ::ng-deep button{border-bottom-left-radius:0;border-top-left-radius:0}.button-none{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "in-button", inputs: ["size", "color", "type", "name", "testId", "label", "icon", "className", "notify", "svg", "width", "link", "isLoading", "shadow", "isIconOnly", "linkType", "linkTarget", "pressed", "disabled", "iconPos", "selectedItem", "menuPlacement", "menuItems"], outputs: ["focus", "blur", "click"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectButtonComponent, decorators: [{
|
|
151
|
-
type: Component,
|
|
152
|
-
args: [{ selector: 'in-select-button', providers: [
|
|
153
|
-
{
|
|
154
|
-
provide: NG_VALUE_ACCESSOR,
|
|
155
|
-
useExisting: forwardRef(() => SelectButtonComponent),
|
|
156
|
-
multi: true,
|
|
157
|
-
},
|
|
158
|
-
], template: "<span *ngIf=\"label\" class=\"c-label__content\">\r\n {{ label }}\r\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\r\n <span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{ error }}</span>\r\n</span>\r\n\r\n<div class=\"container\">\r\n <!-- \u0444\u0438\u043A\u0442\u0438\u0432\u043D\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0430 \u0435\u0441\u043B\u0438 \u043D\u0443\u0436\u043D\u0430 \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0430 -->\r\n <in-button class=\"button-none\"></in-button>\r\n\r\n <in-button\r\n *ngFor=\"let option of options; trackBy: trackByValue\"\r\n (click)=\"clickButton(option)\"\r\n [color]=\"selected.includes(option.value) ? 'primary' : 'normal'\"\r\n [icon]=\"option.icon\"\r\n [label]=\"option.label | translate\"\r\n [testId]=\"'filter-buttons-' + option.value\"\r\n [title]=\"option.title ? (option.title | translate) : ''\"\r\n [name]=\"option.label\"\r\n [disabled]=\"option.readonly || disabled\"\r\n >\r\n </in-button>\r\n</div>\r\n", styles: [".container{white-space:nowrap}in-button ::ng-deep button{outline:none}in-button:first-child ::ng-deep button{border-bottom-right-radius:0;border-top-right-radius:0;border-right:1px solid #000}in-button:not(:first-child):not(:last-child) ::ng-deep button{border-radius:0;border-right:1px solid #000}in-button:last-child ::ng-deep button{border-bottom-left-radius:0;border-top-left-radius:0}.button-none{display:none}\n"] }]
|
|
159
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], testId: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], label: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], icon: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], error: [{
|
|
168
|
-
type: Input
|
|
169
|
-
}], iconPos: [{
|
|
170
|
-
type: Input
|
|
171
|
-
}], options: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], disabled: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], required: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], multiple: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], initial: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], focus: [{
|
|
182
|
-
type: Output
|
|
183
|
-
}], blur: [{
|
|
184
|
-
type: Output
|
|
185
|
-
}], click: [{
|
|
186
|
-
type: Output
|
|
187
|
-
}], change: [{
|
|
188
|
-
type: Output
|
|
189
|
-
}] } });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvc2VsZWN0LWJ1dHRvbi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9zZWxlY3QtYnV0dG9uL3NlbGVjdC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUF3QnZFLE1BQU0sT0FBTyxxQkFBcUI7SUE2QmhDLFlBQW9CLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBMUJuQyxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFlBQU8sR0FBWSxNQUFNLENBQUM7UUFDMUIsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFDN0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHaEIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDL0IsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEMsV0FBTSxH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S0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLCtDQ2pDSCwrL0JBdUJBOzJGRFlhLHFCQUFxQjtrQkFaakMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dHQUtRLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbnR5cGUgSWNvblBvcyA9ICdsZWZ0JyB8ICdyaWdodCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdE9wdGlvbiB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjsgLy8g0LLQsNC20L3Qvjog0L/RgNC40LzQuNGC0LjQslxyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2luLXNlbGVjdC1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RCdXR0b25Db21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdEJ1dHRvbkNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgbmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIHRlc3RJZCA9ICcnO1xyXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XHJcbiAgQElucHV0KCkgaWNvbiA9ICcnO1xyXG4gIEBJbnB1dCgpIGVycm9yID0gJyc7XHJcbiAgQElucHV0KCkgaWNvblBvczogSWNvblBvcyA9ICdsZWZ0JztcclxuICBASW5wdXQoKSBvcHRpb25zOiBTZWxlY3RPcHRpb25bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGluaXRpYWw/OiBBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPjtcclxuXHJcbiAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8vINGF0YDQsNC90LjRgiDQstGL0LHRgNCw0L3QvdGL0LUg0JfQndCQ0KfQldCd0JjQrywg0LAg0L3QtSDQvtCx0YrQtdC60YLRi1xyXG4gIHNlbGVjdGVkOiBBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiA9IFtdO1xyXG5cclxuICAvLyDRgtC+LCDRh9GC0L4g0L7RgtC00LDQtdC8INC90LDRgNGD0LbRgyDQsiDRhNC+0YDQvNGDXHJcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZTogKHZhbDogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XHJcbiAgcHJpdmF0ZSBwcm9wYWdhdGVUb3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIC8vINC/0YDQuNC80LXQvdGP0LXQvCBpbml0aWFsINGC0L7Qu9GM0LrQviDQutC+0LPQtNCwINC+0L0g0YDQtdCw0LvRjNC90L4g0L/QvtC80LXQvdGP0LvRgdGPXHJcbiAgICBpZiAoY2hhbmdlc1snaW5pdGlhbCddICYmIHRoaXMuaW5pdGlhbCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gWy4uLnRoaXMuaW5pdGlhbF07XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm11bHRpcGxlID8gWy4uLnRoaXMuaW5pdGlhbF0gOiB0aGlzLmluaXRpYWxbMF0gPz8gbnVsbDtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8g0LXRgdC70Lgg0LzQtdC90Y/QtdGC0YHRjyDRgdC/0LjRgdC+0Log0L7Qv9GG0LjQuSwg0L3QsNC00L4g0L/QvtC/0YvRgtCw0YLRjNGB0Y8g0LLQvtGB0YHRgtCw0L3QvtCy0LjRgtGMINCy0YvQtNC10LvQtdC90LjQtVxyXG4gICAgaWYgKGNoYW5nZXNbJ29wdGlvbnMnXSAmJiB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zeW5jU2VsZWN0ZWRXaXRoT3B0aW9ucygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xpY2tCdXR0b24ob3B0aW9uOiBTZWxlY3RPcHRpb24pOiB2b2lkIHtcclxuICAgIGlmIChvcHRpb24ucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jbGljay5lbWl0KG9wdGlvbik7XHJcblxyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQuaW5jbHVkZXMob3B0aW9uLnZhbHVlKSkge1xyXG4gICAgICAgIC8vINGD0LHQuNGA0LDQtdC8XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWQuZmlsdGVyKHYgPT4gdiAhPT0gb3B0aW9uLnZhbHVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyDQtNC+0LHQsNCy0LvRj9C10LxcclxuICAgICAgICB0aGlzLnNlbGVjdGVkID0gWy4uLnRoaXMuc2VsZWN0ZWQsIG9wdGlvbi52YWx1ZV07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnNlbGVjdGVkXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbb3B0aW9uLnZhbHVlXTtcclxuICAgICAgdGhpcy52YWx1ZSA9IG9wdGlvbi52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMub25DaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yOiBtb2RlbCAtPiB2aWV3XHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcblxyXG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IFtdO1xyXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAvLyBtdWx0aXBsZVxyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gWy4uLnZhbHVlXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIHNpbmdsZVxyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gW3ZhbHVlXTtcclxuICAgIH1cclxuXHJcbiAgICAvLyDQutC+0LPQtNCwINC30L3QsNGH0LXQvdC40LUg0L/RgNC40YjQu9C+INC40LfQstC90LUsINC90LDQtNC+INGD0LHQtdC00LjRgtGM0YHRjyDRh9GC0L4g0YLQsNC60LjQtSDQvtC/0YbQuNC4INC10YHRgtGMXHJcbiAgICB0aGlzLnN5bmNTZWxlY3RlZFdpdGhPcHRpb25zKCk7XHJcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3JcclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZVRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yOiBkaXNhYmxlZFxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8vINC/0YDQvtCx0YDQvtGB0LjRgtGMINC90LDRgNGD0LbRg1xyXG4gIHByaXZhdGUgb25DaGFuZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZVRvdWNoZWQoKTtcclxuICAgIHRoaXMuYmx1ci5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb2N1cy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvLyDRgdC40L3RhdGA0L7QvdC40LfQuNGA0YPQtdC8INGC0LXQutGD0YnQtdC1INCy0YvQsdGA0LDQvdC90L7QtSDRgdC+INGB0LLQtdC20LjQvNC4IG9wdGlvbnNcclxuICBwcml2YXRlIHN5bmNTZWxlY3RlZFdpdGhPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMgfHwgdGhpcy5vcHRpb25zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgLy8g0L7RgdGC0LDQstC70Y/QtdC8INGC0L7Qu9GM0LrQviDRgtC1INCy0YvQsdGA0LDQvdC90YvQtSwg0LrQvtGC0L7RgNGL0LUg0YDQtdCw0LvRjNC90L4g0LXRgdGC0Ywg0LIg0L3QvtCy0YvRhSBvcHRpb25zXHJcbiAgICAgIGNvbnN0IG9wdGlvblZhbHVlcyA9IHRoaXMub3B0aW9ucy5tYXAobyA9PiBvLnZhbHVlKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWQuZmlsdGVyKHYgPT4gb3B0aW9uVmFsdWVzLmluY2x1ZGVzKHYpKTtcclxuICAgICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnNlbGVjdGVkXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zZWxlY3RlZFswXTtcclxuICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMub3B0aW9ucy5maW5kKG8gPT4gby52YWx1ZSA9PT0gY3VycmVudCk7XHJcbiAgICAgICAgaWYgKCFmb3VuZCkge1xyXG4gICAgICAgICAgLy8g0LLRi9Cx0YDQsNC90L3QvtCz0L4g0LHQvtC70YzRiNC1INC90LXRgiDQsiDRgdC/0LjRgdC60LVcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbXTtcclxuICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gW2ZvdW5kLnZhbHVlXTtcclxuICAgICAgICAgIHRoaXMudmFsdWUgPSBmb3VuZC52YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vINC00LvRjyAqbmdGb3IgdHJhY2tCeVxyXG4gIHRyYWNrQnlWYWx1ZShpbmRleDogbnVtYmVyLCBpdGVtOiBTZWxlY3RPcHRpb24pOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHtcclxuICAgIHJldHVybiBpdGVtLnZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCI8c3BhbiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJjLWxhYmVsX19jb250ZW50XCI+XHJcbiAge3sgbGFiZWwgfX1cclxuICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCIgY2xhc3M9XCJjLWxhYmVsX19yZXFcIj4qPC9zcGFuPlxyXG4gIDxzcGFuICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImMtbGFiZWxfX3N1Yl9pcy1lcnJvclwiPnt7IGVycm9yIH19PC9zcGFuPlxyXG48L3NwYW4+XHJcblxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPCEtLSDRhNC40LrRgtC40LLQvdCw0Y8g0LrQvdC+0L/QutCwINC10YHQu9C4INC90YPQttC90LAg0YDQsNC30LzQtdGC0LrQsCAtLT5cclxuICA8aW4tYnV0dG9uIGNsYXNzPVwiYnV0dG9uLW5vbmVcIj48L2luLWJ1dHRvbj5cclxuXHJcbiAgPGluLWJ1dHRvblxyXG4gICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyB0cmFja0J5OiB0cmFja0J5VmFsdWVcIlxyXG4gICAgKGNsaWNrKT1cImNsaWNrQnV0dG9uKG9wdGlvbilcIlxyXG4gICAgW2NvbG9yXT1cInNlbGVjdGVkLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSkgPyAncHJpbWFyeScgOiAnbm9ybWFsJ1wiXHJcbiAgICBbaWNvbl09XCJvcHRpb24uaWNvblwiXHJcbiAgICBbbGFiZWxdPVwib3B0aW9uLmxhYmVsIHwgdHJhbnNsYXRlXCJcclxuICAgIFt0ZXN0SWRdPVwiJ2ZpbHRlci1idXR0b25zLScgKyBvcHRpb24udmFsdWVcIlxyXG4gICAgW3RpdGxlXT1cIm9wdGlvbi50aXRsZSA/IChvcHRpb24udGl0bGUgfCB0cmFuc2xhdGUpIDogJydcIlxyXG4gICAgW25hbWVdPVwib3B0aW9uLmxhYmVsXCJcclxuICAgIFtkaXNhYmxlZF09XCJvcHRpb24ucmVhZG9ubHkgfHwgZGlzYWJsZWRcIlxyXG4gID5cclxuICA8L2luLWJ1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { Component, } from '@angular/core';
|
|
2
|
-
import { Router } from '@angular/router';
|
|
3
|
-
import { InsparkMessageService } from "../../services/inspark-message.service";
|
|
4
|
-
import { gettext } from "../../utils/gettextMarker.function";
|
|
5
|
-
import { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "primeng/dynamicdialog";
|
|
8
|
-
import * as i2 from "../../services/inspark-message.service";
|
|
9
|
-
import * as i3 from "@angular/router";
|
|
10
|
-
import * as i4 from "@angular/common";
|
|
11
|
-
import * as i5 from "../button/button.component";
|
|
12
|
-
import * as i6 from "../component-container/component-container.component";
|
|
13
|
-
import * as i7 from "@ngx-translate/core";
|
|
14
|
-
export class SelectListComponent {
|
|
15
|
-
constructor(ref, config, messageService, router) {
|
|
16
|
-
this.ref = ref;
|
|
17
|
-
this.config = config;
|
|
18
|
-
this.messageService = messageService;
|
|
19
|
-
this.router = router;
|
|
20
|
-
this.options = null;
|
|
21
|
-
this.isShowSpinner = false;
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
this.options = this.config.data.command.options.map(item => {
|
|
25
|
-
return { value: item, checked: false };
|
|
26
|
-
});
|
|
27
|
-
this.selected = Array(this.options.length).fill(false);
|
|
28
|
-
}
|
|
29
|
-
closeModal(val = null) {
|
|
30
|
-
this.ref.close(val);
|
|
31
|
-
}
|
|
32
|
-
applySelection() {
|
|
33
|
-
if (!this.selected) {
|
|
34
|
-
this.messageService.message(gettext('Select object'));
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
this.closeModal({ selected: this.options.filter(o => o.checked) });
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
select(i) {
|
|
42
|
-
this.options[i].checked = !this.options[i].checked;
|
|
43
|
-
}
|
|
44
|
-
highlight(value, text) {
|
|
45
|
-
const regex = new RegExp('(' + text + ')', 'gi');
|
|
46
|
-
return value.replace(regex, '<span class="u-text-highlight">$1</span>');
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
SelectListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectListComponent, deps: [{ token: i1.DynamicDialogRef }, { token: i1.DynamicDialogConfig }, { token: i2.InsparkMessageService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
SelectListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SelectListComponent, selector: "app-select-list", ngImport: i0, template: "<div class=\"c-panel__heading-title h4\">\r\n {{'Select objects for which to execute the command' | translate}}\r\n</div>\r\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\r\n<div class=\"container\">\r\n <div class=\"c-form-group type_treeblock\">\r\n <div style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\" *ngFor=\"let item of options; let i = index\">\r\n <span class=\"c-label c-label__content\" style=\"width: 100px; min-height: 30px;\">{{item.value}}</span>\r\n <input class=\"c-checkbox__input\" type=\"checkbox\" [checked]=\"options[i].checked\" >\r\n <i class=\"p-chkbox-box c-checkbox__icon\" (click)=\"select(i)\"></i>\r\n </div>\r\n\r\n </div>\r\n <div class=\"buttons\">\r\n <in-component-container>\r\n <in-button id=\"close\" (click)=\"closeModal()\"\r\n label=\"{{'Cancel' | translate}}\"></in-button>\r\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\r\n label=\"{{'Apply' | translate}}\"\r\n color=\"primary\" [disabled]=\"\" [title]=\"'Select an action' | translate\"></in-button>\r\n </in-component-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #spinner><span class=\"c-spinner\">\r\n <i class=\"in in-spinner fa-spin \"></i>\r\n</span></ng-template>\r\n", styles: [".buttons{text-align:right}.buttons p-button{margin-left:8px}.container{padding:12px}:host ::ng-deep .c-select_block{position:relative;left:10px;width:30%}:host ::ng-deep .c-input_small{width:50%}:host ::ng-deep .my-tree{width:100%;display:inline-block;position:relative}:host ::ng-deep .my-tree .c-inputtext{width:500px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.ButtonComponent, selector: "in-button", inputs: ["size", "color", "type", "name", "testId", "label", "icon", "className", "notify", "svg", "width", "link", "isLoading", "shadow", "isIconOnly", "linkType", "linkTarget", "pressed", "disabled", "iconPos", "selectedItem", "menuPlacement", "menuItems"], outputs: ["focus", "blur", "click"] }, { kind: "component", type: i6.ComponentContainerComponent, selector: "in-component-container", inputs: ["align"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectListComponent, decorators: [{
|
|
52
|
-
type: Component,
|
|
53
|
-
args: [{ selector: 'app-select-list', template: "<div class=\"c-panel__heading-title h4\">\r\n {{'Select objects for which to execute the command' | translate}}\r\n</div>\r\n<span *ngIf=\"isShowSpinner\"><ng-container *ngTemplateOutlet=\"spinner\"></ng-container></span>\r\n<div class=\"container\">\r\n <div class=\"c-form-group type_treeblock\">\r\n <div style=\"overflow: hidden; width: 100%; white-space: nowrap; display: inline-flex;\" *ngFor=\"let item of options; let i = index\">\r\n <span class=\"c-label c-label__content\" style=\"width: 100px; min-height: 30px;\">{{item.value}}</span>\r\n <input class=\"c-checkbox__input\" type=\"checkbox\" [checked]=\"options[i].checked\" >\r\n <i class=\"p-chkbox-box c-checkbox__icon\" (click)=\"select(i)\"></i>\r\n </div>\r\n\r\n </div>\r\n <div class=\"buttons\">\r\n <in-component-container>\r\n <in-button id=\"close\" (click)=\"closeModal()\"\r\n label=\"{{'Cancel' | translate}}\"></in-button>\r\n <in-button id=\"edit\" (click)=\"applySelection()\" type=\"submit\"\r\n label=\"{{'Apply' | translate}}\"\r\n color=\"primary\" [disabled]=\"\" [title]=\"'Select an action' | translate\"></in-button>\r\n </in-component-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #spinner><span class=\"c-spinner\">\r\n <i class=\"in in-spinner fa-spin \"></i>\r\n</span></ng-template>\r\n", styles: [".buttons{text-align:right}.buttons p-button{margin-left:8px}.container{padding:12px}:host ::ng-deep .c-select_block{position:relative;left:10px;width:30%}:host ::ng-deep .c-input_small{width:50%}:host ::ng-deep .my-tree{width:100%;display:inline-block;position:relative}:host ::ng-deep .my-tree .c-inputtext{width:500px}\n"] }]
|
|
54
|
-
}], ctorParameters: function () { return [{ type: i1.DynamicDialogRef }, { type: i1.DynamicDialogConfig }, { type: i2.InsparkMessageService }, { type: i3.Router }]; } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL3NlbGVjdC1saXN0L3NlbGVjdC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9zZWxlY3QtbGlzdC9zZWxlY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDM0QsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQU81RSxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCLFlBQW1CLEdBQXFCLEVBQ3JCLE1BQTJCLEVBQzFCLGNBQXFDLEVBQ3RDLE1BQWM7UUFIZCxRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDdEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQU5qQyxZQUFPLEdBQXdDLElBQUksQ0FBQztRQUNwRCxrQkFBYSxHQUFHLEtBQUssQ0FBQztJQVF0QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkQsT0FBTyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVGLFVBQVUsQ0FBQyxHQUFHLEdBQUcsSUFBSTtRQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ3RELE9BQU87U0FDUjthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUM7U0FDbEU7SUFFSCxDQUFDO0lBR0QsTUFBTSxDQUFDLENBQUM7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3JELENBQUM7SUFJRCxTQUFTLENBQUMsS0FBYSxFQUFFLElBQUk7UUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSwwQ0FBMEMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7O2dIQWpEVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix1RENiaEMsNjZDQTJCQTsyRkRkYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsIE9uSW5pdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7SW5zcGFya01lc3NhZ2VTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaW5zcGFyay1tZXNzYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtnZXR0ZXh0fSBmcm9tIFwiLi4vLi4vdXRpbHMvZ2V0dGV4dE1hcmtlci5mdW5jdGlvblwiO1xyXG5pbXBvcnQge0R5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWZ9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zZWxlY3QtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIG9iamVjdHM6IGFueVtdO1xyXG4gIHNlbGVjdGVkOiBCb29sZWFuW107XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBvYmpzO1xyXG4gIG9wdGlvbnM6IHt2YWx1ZTogc3RyaW5nLCBjaGVja2VkOiBib29sZWFufVtdID0gbnVsbDtcclxuICBpc1Nob3dTcGlubmVyID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWY6IER5bmFtaWNEaWFsb2dSZWYsXHJcbiAgICAgICAgICAgICAgcHVibGljIGNvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcclxuICAgICAgICAgICAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBJbnNwYXJrTWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgICAgICAgICkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jb25maWcuZGF0YS5jb21tYW5kLm9wdGlvbnMubWFwKGl0ZW0gPT4gIHtcclxuICAgICAgICByZXR1cm4ge3ZhbHVlOiBpdGVtLCBjaGVja2VkOiBmYWxzZX07XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gQXJyYXkodGhpcy5vcHRpb25zLmxlbmd0aCkuZmlsbChmYWxzZSk7XHJcbiAgfVxyXG5cclxuIGNsb3NlTW9kYWwodmFsID0gbnVsbCkge1xyXG4gICAgdGhpcy5yZWYuY2xvc2UodmFsKTtcclxuICB9XHJcblxyXG4gIGFwcGx5U2VsZWN0aW9uKCkge1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UubWVzc2FnZShnZXR0ZXh0KCdTZWxlY3Qgb2JqZWN0JykpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlTW9kYWwoe3NlbGVjdGVkOiB0aGlzLm9wdGlvbnMuZmlsdGVyKG8gPT4gby5jaGVja2VkKX0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICBzZWxlY3QoaSkge1xyXG4gICAgdGhpcy5vcHRpb25zW2ldLmNoZWNrZWQgPSAhdGhpcy5vcHRpb25zW2ldLmNoZWNrZWQ7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGhpZ2hsaWdodCh2YWx1ZTogc3RyaW5nLCB0ZXh0KTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgnKCcgKyB0ZXh0ICsgJyknLCAnZ2knKTtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKHJlZ2V4LCAnPHNwYW4gY2xhc3M9XCJ1LXRleHQtaGlnaGxpZ2h0XCI+JDE8L3NwYW4+Jyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjLXBhbmVsX19oZWFkaW5nLXRpdGxlIGg0XCI+XHJcbiAgICB7eydTZWxlY3Qgb2JqZWN0cyBmb3Igd2hpY2ggdG8gZXhlY3V0ZSB0aGUgY29tbWFuZCcgfCB0cmFuc2xhdGV9fVxyXG48L2Rpdj5cclxuPHNwYW4gKm5nSWY9XCJpc1Nob3dTcGlubmVyXCI+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNwaW5uZXJcIj48L25nLWNvbnRhaW5lcj48L3NwYW4+XHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjLWZvcm0tZ3JvdXAgdHlwZV90cmVlYmxvY2tcIj5cclxuICAgICAgPGRpdiBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBkaXNwbGF5OiBpbmxpbmUtZmxleDtcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImMtbGFiZWwgYy1sYWJlbF9fY29udGVudFwiIHN0eWxlPVwid2lkdGg6IDEwMHB4OyBtaW4taGVpZ2h0OiAzMHB4O1wiPnt7aXRlbS52YWx1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiYy1jaGVja2JveF9faW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJvcHRpb25zW2ldLmNoZWNrZWRcIiA+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cInAtY2hrYm94LWJveCBjLWNoZWNrYm94X19pY29uXCIgKGNsaWNrKT1cInNlbGVjdChpKVwiPjwvaT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxyXG4gICAgICAgIDxpbi1jb21wb25lbnQtY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8aW4tYnV0dG9uIGlkPVwiY2xvc2VcIiAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cInt7J0NhbmNlbCcgfCB0cmFuc2xhdGV9fVwiPjwvaW4tYnV0dG9uPlxyXG4gICAgICAgICAgICA8aW4tYnV0dG9uIGlkPVwiZWRpdFwiIChjbGljayk9XCJhcHBseVNlbGVjdGlvbigpXCIgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJ7eydBcHBseScgfCB0cmFuc2xhdGV9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cIlwiIFt0aXRsZV09XCInU2VsZWN0IGFuIGFjdGlvbicgfCB0cmFuc2xhdGVcIj48L2luLWJ1dHRvbj5cclxuICAgICAgICA8L2luLWNvbXBvbmVudC1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI3NwaW5uZXI+PHNwYW4gY2xhc3M9XCJjLXNwaW5uZXJcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpbiBpbi1zcGlubmVyIGZhLXNwaW4gXCI+PC9pPlxyXG48L3NwYW4+PC9uZy10ZW1wbGF0ZT5cclxuIl19
|