@jooler/inputs 0.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.
Files changed (44) hide show
  1. package/README.md +24 -0
  2. package/esm2020/inputs.mjs +5 -0
  3. package/esm2020/lib/inputs/choose-enum/choose-enum.component.mjs +107 -0
  4. package/esm2020/lib/inputs/choose-enum-renderer/choose-enum-renderer.component.mjs +27 -0
  5. package/esm2020/lib/inputs/choose-general-item/choose-general-item.component.mjs +122 -0
  6. package/esm2020/lib/inputs/choose-general-item/choose-general-item.service.mjs +34 -0
  7. package/esm2020/lib/inputs/choose-line-type/choose-line-type.component.mjs +52 -0
  8. package/esm2020/lib/inputs/choose-yes-or-no/choose-yes-or-no.component.mjs +56 -0
  9. package/esm2020/lib/inputs/choose-yes-or-no-renderer/choose-yes-or-no-renderer.component.mjs +27 -0
  10. package/esm2020/lib/inputs/editable-savable-input/dynamicPipe.mjs +20 -0
  11. package/esm2020/lib/inputs/editable-savable-input/dynamicPipeMapping.mjs +5 -0
  12. package/esm2020/lib/inputs/editable-savable-input/editable-savable-input.component.mjs +123 -0
  13. package/esm2020/lib/inputs/general-input-renderer/general-input-renderer.component.mjs +61 -0
  14. package/esm2020/lib/inputs/models/enum-helper.model.mjs +2 -0
  15. package/esm2020/lib/inputs/models/label-and-field.model.mjs +3 -0
  16. package/esm2020/lib/inputs/models/line-type-model-helper.mjs +47 -0
  17. package/esm2020/lib/inputs/models/line-type.model.mjs +6 -0
  18. package/esm2020/lib/inputs/models/yes-or-no.model.mjs +3 -0
  19. package/esm2020/lib/inputs.module.mjs +82 -0
  20. package/esm2020/public-api.mjs +14 -0
  21. package/fesm2015/inputs.mjs +724 -0
  22. package/fesm2015/inputs.mjs.map +1 -0
  23. package/fesm2020/inputs.mjs +724 -0
  24. package/fesm2020/inputs.mjs.map +1 -0
  25. package/inputs.d.ts +5 -0
  26. package/lib/inputs/choose-enum/choose-enum.component.d.ts +38 -0
  27. package/lib/inputs/choose-enum-renderer/choose-enum-renderer.component.d.ts +15 -0
  28. package/lib/inputs/choose-general-item/choose-general-item.component.d.ts +46 -0
  29. package/lib/inputs/choose-general-item/choose-general-item.service.d.ts +18 -0
  30. package/lib/inputs/choose-line-type/choose-line-type.component.d.ts +19 -0
  31. package/lib/inputs/choose-yes-or-no/choose-yes-or-no.component.d.ts +24 -0
  32. package/lib/inputs/choose-yes-or-no-renderer/choose-yes-or-no-renderer.component.d.ts +16 -0
  33. package/lib/inputs/editable-savable-input/dynamicPipe.d.ts +7 -0
  34. package/lib/inputs/editable-savable-input/dynamicPipeMapping.d.ts +5 -0
  35. package/lib/inputs/editable-savable-input/editable-savable-input.component.d.ts +37 -0
  36. package/lib/inputs/general-input-renderer/general-input-renderer.component.d.ts +25 -0
  37. package/lib/inputs/models/enum-helper.model.d.ts +6 -0
  38. package/lib/inputs/models/label-and-field.model.d.ts +4 -0
  39. package/lib/inputs/models/line-type-model-helper.d.ts +12 -0
  40. package/lib/inputs/models/line-type.model.d.ts +4 -0
  41. package/lib/inputs/models/yes-or-no.model.d.ts +5 -0
  42. package/lib/inputs.module.d.ts +20 -0
  43. package/package.json +45 -0
  44. package/public-api.d.ts +10 -0
@@ -0,0 +1,724 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, forwardRef, Component, Output, Input, Injectable, Pipe, NgModule } from '@angular/core';
3
+ import * as i3 from '@angular/forms';
4
+ import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
5
+ import * as i1 from '@ng-select/ng-select';
6
+ import { NgSelectModule } from '@ng-select/ng-select';
7
+ import * as i2 from '@jooler/shared-general-components';
8
+ import { SharedGeneralComponentsModule } from '@jooler/shared-general-components';
9
+ import * as i2$1 from '@angular/common';
10
+ import { CurrencyPipe, DecimalPipe, CommonModule } from '@angular/common';
11
+ import * as i1$1 from '@angular/common/http';
12
+ import { HttpHeaders } from '@angular/common/http';
13
+ import * as i1$2 from '@angular/material/button';
14
+ import * as i1$3 from '@angular/material/form-field';
15
+ import * as i3$1 from '@angular/material/input';
16
+ import { AppMaterialModule } from '@jooler/app-material';
17
+
18
+ class ChooseEnumComponent {
19
+ constructor() {
20
+ this.change = new EventEmitter();
21
+ this.width = 200;
22
+ this.labelTextAlign = 'left';
23
+ this.indexesToDisable = [];
24
+ this.disable = false;
25
+ this.propagateChange = (_) => { };
26
+ this.propogateTouch = () => { };
27
+ }
28
+ ngOnInit() {
29
+ this.enumHelperItems = this.enumHelperItems.getItems();
30
+ if (this.indexesToDisable.length > 0) {
31
+ for (let index of this.indexesToDisable) {
32
+ this.enumHelperItems[index].disabled = true;
33
+ }
34
+ }
35
+ }
36
+ writeValue(type) {
37
+ if (type != undefined || type != null) {
38
+ this.selectedItem = type;
39
+ }
40
+ }
41
+ registerOnChange(fn) {
42
+ this.propagateChange = fn;
43
+ }
44
+ registerOnTouched(fn) {
45
+ this.propogateTouch = fn;
46
+ }
47
+ updateBlur() {
48
+ this.propogateTouch();
49
+ }
50
+ onSelectedItemChanged() {
51
+ this.propagateChange(this.selectedItem);
52
+ this.change.emit(this.selectedItem);
53
+ }
54
+ clear() {
55
+ this.selectedItem = null;
56
+ }
57
+ setStyles() {
58
+ let style = {
59
+ width: this.width + 'px',
60
+ paddingTop: this.paddingTop + 'px'
61
+ };
62
+ return style;
63
+ }
64
+ setLabelStyle() {
65
+ let style = {
66
+ textAlign: this.labelTextAlign,
67
+ fontWeight: this.labelTextFontWeight,
68
+ fontSize: this.labelTextFontSize + 'px'
69
+ };
70
+ return style;
71
+ }
72
+ }
73
+ ChooseEnumComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseEnumComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
+ ChooseEnumComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ChooseEnumComponent, selector: "choose-enum", inputs: { label: "label", enumHelperItems: "enumHelperItems", isChip: "isChip", placeholder: "placeholder", width: "width", paddingTop: "paddingTop", labelTextAlign: "labelTextAlign", labelTextFontWeight: "labelTextFontWeight", labelTextFontSize: "labelTextFontSize", selectedItem: "selectedItem", indexesToDisable: "indexesToDisable", disable: "disable" }, outputs: { change: "change" }, providers: [
75
+ {
76
+ provide: NG_VALUE_ACCESSOR,
77
+ useExisting: forwardRef(() => ChooseEnumComponent),
78
+ multi: true,
79
+ },
80
+ ], ngImport: i0, template: "<div class=\"select\">\r\n <ng-select [ngStyle]=\"setStyles()\" appendTo=\"body\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"value\"\r\n [items]=\"enumHelperItems\" [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItem\" [disabled]=\"disable\">\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <div *ngIf=\"isChip\">\r\n <ng-chip class=\"chip\" [backgroundColor]=\"item.color\" [label]=\"item.label\" [width]=\"110\">\r\n </ng-chip>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{item.label}}</div>\r\n </ng-template>\r\n </ng-select>\r\n</div>", styles: [""], components: [{ type: i1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i2.NgChipComponent, selector: "ng-chip", inputs: ["value", "label", "backgroundColor", "textColor", "width", "item", "clear", "withCross"] }], directives: [{ type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { type: i1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseEnumComponent, decorators: [{
82
+ type: Component,
83
+ args: [{ selector: 'choose-enum', providers: [
84
+ {
85
+ provide: NG_VALUE_ACCESSOR,
86
+ useExisting: forwardRef(() => ChooseEnumComponent),
87
+ multi: true,
88
+ },
89
+ ], template: "<div class=\"select\">\r\n <ng-select [ngStyle]=\"setStyles()\" appendTo=\"body\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"value\"\r\n [items]=\"enumHelperItems\" [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItem\" [disabled]=\"disable\">\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <div *ngIf=\"isChip\">\r\n <ng-chip class=\"chip\" [backgroundColor]=\"item.color\" [label]=\"item.label\" [width]=\"110\">\r\n </ng-chip>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{item.label}}</div>\r\n </ng-template>\r\n </ng-select>\r\n</div>", styles: [""] }]
90
+ }], ctorParameters: function () { return []; }, propDecorators: { change: [{
91
+ type: Output
92
+ }], label: [{
93
+ type: Input
94
+ }], enumHelperItems: [{
95
+ type: Input
96
+ }], isChip: [{
97
+ type: Input
98
+ }], placeholder: [{
99
+ type: Input
100
+ }], width: [{
101
+ type: Input
102
+ }], paddingTop: [{
103
+ type: Input
104
+ }], labelTextAlign: [{
105
+ type: Input
106
+ }], labelTextFontWeight: [{
107
+ type: Input
108
+ }], labelTextFontSize: [{
109
+ type: Input
110
+ }], selectedItem: [{
111
+ type: Input
112
+ }], indexesToDisable: [{
113
+ type: Input
114
+ }], disable: [{
115
+ type: Input
116
+ }] } });
117
+
118
+ class ChooseEnumRendererComponent {
119
+ constructor() { }
120
+ agInit(params) {
121
+ this.params = params;
122
+ this.enumValue = params.value; //empty in create mode
123
+ this.key = params.context.createKey(params.columnApi, params.column);
124
+ this.rowId = params.node.id; //at which index
125
+ }
126
+ onCellDataChanged($event) {
127
+ let value = $event;
128
+ this.formControlValue = this.params.context.formGroup.get("entries").at(this.rowId); //get the changed row
129
+ this.formControlValue.get(this.key).setValue(value);
130
+ }
131
+ refresh(params) {
132
+ return false;
133
+ }
134
+ }
135
+ ChooseEnumRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseEnumRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
136
+ ChooseEnumRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ChooseEnumRendererComponent, selector: "choose-enum-renderer", ngImport: i0, template: "<choose-enum [enumHelperItems]=\"params.enumChoices\"\r\n[placeholder]=\"params.placeholder\" [width]=\"params.width\" [isChip]=\"params.isChip\" [paddingTop]=\"params.paddingTop\" (change)=\"onCellDataChanged($event)\"></choose-enum>\r\n", styles: [""], components: [{ type: ChooseEnumComponent, selector: "choose-enum", inputs: ["label", "enumHelperItems", "isChip", "placeholder", "width", "paddingTop", "labelTextAlign", "labelTextFontWeight", "labelTextFontSize", "selectedItem", "indexesToDisable", "disable"], outputs: ["change"] }] });
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseEnumRendererComponent, decorators: [{
138
+ type: Component,
139
+ args: [{ selector: 'choose-enum-renderer', template: "<choose-enum [enumHelperItems]=\"params.enumChoices\"\r\n[placeholder]=\"params.placeholder\" [width]=\"params.width\" [isChip]=\"params.isChip\" [paddingTop]=\"params.paddingTop\" (change)=\"onCellDataChanged($event)\"></choose-enum>\r\n", styles: [""] }]
140
+ }], ctorParameters: function () { return []; } });
141
+
142
+ class ChooseGeneralItemService {
143
+ constructor(http) {
144
+ this.http = http;
145
+ this.baseUrl = 'http://127.0.0.1:8000/';
146
+ }
147
+ getHeaders() {
148
+ const httpHeaders = new HttpHeaders({
149
+ 'Content-Type': "application/json"
150
+ });
151
+ return { headers: httpHeaders };
152
+ }
153
+ getAuthenticationHeadersWithQueryParams(params) {
154
+ const httpHeaders = new HttpHeaders({
155
+ 'Content-Type': 'application/json; charset-utf-8',
156
+ });
157
+ return { headers: httpHeaders, params: params };
158
+ }
159
+ getData(apiPath) {
160
+ return this.http.get(this.baseUrl + apiPath, this.getHeaders());
161
+ }
162
+ }
163
+ ChooseGeneralItemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseGeneralItemService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
164
+ ChooseGeneralItemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseGeneralItemService, providedIn: 'root' });
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseGeneralItemService, decorators: [{
166
+ type: Injectable,
167
+ args: [{
168
+ providedIn: 'root'
169
+ }]
170
+ }], ctorParameters: function () { return [{ type: i1$1.HttpClient }]; } });
171
+
172
+ class ChooseGeneralItemComponent {
173
+ constructor(_ChooseGeneralItemService) {
174
+ this._ChooseGeneralItemService = _ChooseGeneralItemService;
175
+ this.change = new EventEmitter();
176
+ this.width = 200;
177
+ this.isChip = false;
178
+ this.chipColor = 'black';
179
+ this.chipTextColor = 'white';
180
+ this.chipWidth = 110;
181
+ this.propagateChange = (_) => { };
182
+ this.propogateTouch = () => { };
183
+ }
184
+ ngOnInit() {
185
+ this.getData();
186
+ }
187
+ writeValue(item) {
188
+ if (item != undefined || item != null) {
189
+ this.selectedItemId = item;
190
+ }
191
+ }
192
+ registerOnChange(fn) {
193
+ this.propagateChange = fn;
194
+ }
195
+ registerOnTouched(fn) {
196
+ this.propogateTouch = fn;
197
+ }
198
+ updateBlur() {
199
+ this.propogateTouch();
200
+ }
201
+ onSelectedItemChanged() {
202
+ this.propagateChange(this.selectedItemId);
203
+ this.change.emit(this.selectedItemId);
204
+ }
205
+ getData() {
206
+ if (this.apiPath) {
207
+ this._ChooseGeneralItemService.getData(this.apiPath).subscribe({
208
+ next: (response) => {
209
+ this.items = response;
210
+ },
211
+ error: (error) => console.error("error", error)
212
+ });
213
+ }
214
+ }
215
+ setWidth() {
216
+ let style = {
217
+ width: this.width + "px"
218
+ };
219
+ return style;
220
+ }
221
+ setFontStyles() {
222
+ let fontStyle = {
223
+ fontWeight: this.fontWeight,
224
+ fontSize: this.fontSize + "px",
225
+ };
226
+ return fontStyle;
227
+ }
228
+ }
229
+ ChooseGeneralItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseGeneralItemComponent, deps: [{ token: ChooseGeneralItemService }], target: i0.ɵɵFactoryTarget.Component });
230
+ ChooseGeneralItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ChooseGeneralItemComponent, selector: "choose-general-item", inputs: { items: "items", label: "label", placeholder: "placeholder", apiPath: "apiPath", isMultiple: "isMultiple", objects: "objects", showLabel: "showLabel", separator: "separator", width: "width", fontWeight: "fontWeight", fontSize: "fontSize", isChip: "isChip", isTypeDate: "isTypeDate", chipColor: "chipColor", chipTextColor: "chipTextColor", chipWidth: "chipWidth", selectedItemId: "selectedItemId", disabled: "disabled" }, outputs: { change: "change" }, providers: [
231
+ {
232
+ provide: NG_VALUE_ACCESSOR,
233
+ useExisting: forwardRef(() => ChooseGeneralItemComponent),
234
+ multi: true,
235
+ },
236
+ ], ngImport: i0, template: "<div class=\"select\">\r\n <ng-select [closeOnSelect]=\"!isMultiple\" [ngStyle]=\"setWidth()\" class=\"component\" [disabled]=\"disabled\"\r\n appendTo=\"body\" (blur)=\"updateBlur()\" [bindLabel]=\"label\" bindValue=\"id\" [items]=\"items\"\r\n [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\" [(ngModel)]=\"selectedItemId\"\r\n [multiple]=\"isMultiple\">\r\n <ng-template *ngIf=\"!isChip\" class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <span [ngStyle]=\"setFontStyles()\" *ngFor=\"let object of objects let isLast = last\">\r\n <span *ngIf=\"showLabel && !isTypeDate\">\r\n {{object.label}}: {{item[object.field]}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"showLabel && isTypeDate\">\r\n {{object.label}}: {{item[object.field]| date: 'mediumDate'}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"!showLabel && isTypeDate\">\r\n {{item[object.field]| date: 'mediumDate'}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"!showLabel && !isTypeDate\">{{item[object.field]}}{{isLast ? \"\" : separator}}\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip\" ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"isMultiple\" [item]=\"item\"\r\n class=\"chip\" [backgroundColor]=\"chipColor\" [textColor]=\"chipTextColor\" [label]=\"item[objects[0].field]\"\r\n [width]=\"chipWidth\">\r\n </ng-chip>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip\" ng-option-tmp let-clear=\"clear\" let-item=\"item\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"false\" [item]=\"item\"\r\n class=\"chip\" [backgroundColor]=\"chipColor\" [textColor]=\"chipTextColor\" [label]=\"item[objects[0].field]\"\r\n [width]=\"chipWidth\">\r\n </ng-chip>\r\n </ng-template>\r\n </ng-select>\r\n</div>", styles: [".component{width:150px}.select{height:100px;align-self:flex-end;padding-top:9px}\n"], components: [{ type: i1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i2.NgChipComponent, selector: "ng-chip", inputs: ["value", "label", "backgroundColor", "textColor", "width", "item", "clear", "withCross"] }], directives: [{ type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { type: i1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "date": i2$1.DatePipe } });
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseGeneralItemComponent, decorators: [{
238
+ type: Component,
239
+ args: [{ selector: 'choose-general-item', providers: [
240
+ {
241
+ provide: NG_VALUE_ACCESSOR,
242
+ useExisting: forwardRef(() => ChooseGeneralItemComponent),
243
+ multi: true,
244
+ },
245
+ ], template: "<div class=\"select\">\r\n <ng-select [closeOnSelect]=\"!isMultiple\" [ngStyle]=\"setWidth()\" class=\"component\" [disabled]=\"disabled\"\r\n appendTo=\"body\" (blur)=\"updateBlur()\" [bindLabel]=\"label\" bindValue=\"id\" [items]=\"items\"\r\n [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\" [(ngModel)]=\"selectedItemId\"\r\n [multiple]=\"isMultiple\">\r\n <ng-template *ngIf=\"!isChip\" class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <span [ngStyle]=\"setFontStyles()\" *ngFor=\"let object of objects let isLast = last\">\r\n <span *ngIf=\"showLabel && !isTypeDate\">\r\n {{object.label}}: {{item[object.field]}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"showLabel && isTypeDate\">\r\n {{object.label}}: {{item[object.field]| date: 'mediumDate'}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"!showLabel && isTypeDate\">\r\n {{item[object.field]| date: 'mediumDate'}} {{isLast ? \"\" : separator}}\r\n </span>\r\n <span *ngIf=\"!showLabel && !isTypeDate\">{{item[object.field]}}{{isLast ? \"\" : separator}}\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip\" ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"isMultiple\" [item]=\"item\"\r\n class=\"chip\" [backgroundColor]=\"chipColor\" [textColor]=\"chipTextColor\" [label]=\"item[objects[0].field]\"\r\n [width]=\"chipWidth\">\r\n </ng-chip>\r\n </ng-template>\r\n <ng-template *ngIf=\"isChip\" ng-option-tmp let-clear=\"clear\" let-item=\"item\">\r\n <ng-chip (mousedown)=\"$event.stopPropagation()\" [clear]=\"clear\" [withCross]=\"false\" [item]=\"item\"\r\n class=\"chip\" [backgroundColor]=\"chipColor\" [textColor]=\"chipTextColor\" [label]=\"item[objects[0].field]\"\r\n [width]=\"chipWidth\">\r\n </ng-chip>\r\n </ng-template>\r\n </ng-select>\r\n</div>", styles: [".component{width:150px}.select{height:100px;align-self:flex-end;padding-top:9px}\n"] }]
246
+ }], ctorParameters: function () { return [{ type: ChooseGeneralItemService }]; }, propDecorators: { change: [{
247
+ type: Output
248
+ }], items: [{
249
+ type: Input
250
+ }], label: [{
251
+ type: Input
252
+ }], placeholder: [{
253
+ type: Input
254
+ }], apiPath: [{
255
+ type: Input
256
+ }], isMultiple: [{
257
+ type: Input
258
+ }], objects: [{
259
+ type: Input
260
+ }], showLabel: [{
261
+ type: Input
262
+ }], separator: [{
263
+ type: Input
264
+ }], width: [{
265
+ type: Input
266
+ }], fontWeight: [{
267
+ type: Input
268
+ }], fontSize: [{
269
+ type: Input
270
+ }], isChip: [{
271
+ type: Input
272
+ }], isTypeDate: [{
273
+ type: Input
274
+ }], chipColor: [{
275
+ type: Input
276
+ }], chipTextColor: [{
277
+ type: Input
278
+ }], chipWidth: [{
279
+ type: Input
280
+ }], selectedItemId: [{
281
+ type: Input
282
+ }], disabled: [{
283
+ type: Input
284
+ }] } });
285
+
286
+ var LineType;
287
+ (function (LineType) {
288
+ LineType[LineType["INCLUDE"] = 0] = "INCLUDE";
289
+ LineType[LineType["DO_NOT_INCLUDE"] = 1] = "DO_NOT_INCLUDE";
290
+ })(LineType || (LineType = {}));
291
+
292
+ class LineTypeModelHelper {
293
+ static getItems() {
294
+ let items = [];
295
+ let values = Object.values(LineType);
296
+ let types = values.filter(value => typeof value === 'number');
297
+ for (let value of types) {
298
+ this.setStringValueAndColor(value);
299
+ items.push({ value: value, label: this.label, color: this.color, description: this.description });
300
+ }
301
+ return items;
302
+ }
303
+ static setStringValueAndColor(type) {
304
+ switch (type) {
305
+ case LineType.INCLUDE:
306
+ return this.label = "Include", this.color = "gold";
307
+ break;
308
+ case LineType.DO_NOT_INCLUDE:
309
+ return this.label = "Do Not Include", this.color = "platinum";
310
+ break;
311
+ default:
312
+ return this.label = "Undefined", this.color = "Gray";
313
+ }
314
+ }
315
+ getValue(label) {
316
+ let value;
317
+ switch (label) {
318
+ case "Include":
319
+ return value = 0;
320
+ break;
321
+ case "Do Not Include":
322
+ return value = 1;
323
+ break;
324
+ default:
325
+ return null;
326
+ }
327
+ }
328
+ static getLabelAndColorForValue(value) {
329
+ for (let item of this.getItems()) {
330
+ if (item.value == value) {
331
+ this.value = item;
332
+ return this.value;
333
+ }
334
+ }
335
+ }
336
+ }
337
+
338
+ class ChooseLineTypeComponent {
339
+ constructor() {
340
+ this.items = LineTypeModelHelper;
341
+ this.propagateChange = (_) => { };
342
+ this.propogateTouch = () => { };
343
+ }
344
+ ngOnInit() {
345
+ this.types = this.items.getItems();
346
+ }
347
+ writeValue(type) {
348
+ if (type != undefined || type != null) {
349
+ this.selectedItem = type;
350
+ }
351
+ }
352
+ registerOnChange(fn) {
353
+ this.propagateChange = fn;
354
+ }
355
+ registerOnTouched(fn) {
356
+ this.propogateTouch = fn;
357
+ }
358
+ updateBlur() {
359
+ this.propogateTouch();
360
+ }
361
+ onSelectedItemChanged() {
362
+ this.propagateChange(this.selectedItem);
363
+ }
364
+ }
365
+ ChooseLineTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseLineTypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
366
+ ChooseLineTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ChooseLineTypeComponent, selector: "choose-line-type", providers: [
367
+ {
368
+ provide: NG_VALUE_ACCESSOR,
369
+ useExisting: forwardRef(() => ChooseLineTypeComponent),
370
+ multi: true,
371
+ },
372
+ ], ngImport: i0, template: "<div class=\"select\">\r\n <ng-select class=\"type\" appendTo=\"body\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"label\" [items]=\"types\"\r\n [placeholder]=\"'Choose A Component'\" (change)=\"onSelectedItemChanged()\" [(ngModel)]=\"selectedItem\">\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\">\r\n {{item.label}}\r\n </ng-template>\r\n </ng-select>\r\n</div>", styles: [".type{width:250px}\n"], components: [{ type: i1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { type: i1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }] });
373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseLineTypeComponent, decorators: [{
374
+ type: Component,
375
+ args: [{ selector: 'choose-line-type', providers: [
376
+ {
377
+ provide: NG_VALUE_ACCESSOR,
378
+ useExisting: forwardRef(() => ChooseLineTypeComponent),
379
+ multi: true,
380
+ },
381
+ ], template: "<div class=\"select\">\r\n <ng-select class=\"type\" appendTo=\"body\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"label\" [items]=\"types\"\r\n [placeholder]=\"'Choose A Component'\" (change)=\"onSelectedItemChanged()\" [(ngModel)]=\"selectedItem\">\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\">\r\n {{item.label}}\r\n </ng-template>\r\n </ng-select>\r\n</div>", styles: [".type{width:250px}\n"] }]
382
+ }], ctorParameters: function () { return []; } });
383
+
384
+ class ChooseYesOrNoComponent {
385
+ constructor() {
386
+ this.change = new EventEmitter();
387
+ this.items = [{ value: true, label: "Yes", color: "green" }, { value: false, label: "No", color: "red" }];
388
+ this.width = 200;
389
+ this.placeholder = "Choose either Yes or No";
390
+ this.propagateChange = (_) => { };
391
+ this.propogateTouch = () => { };
392
+ }
393
+ ngOnInit() {
394
+ }
395
+ writeValue(item) {
396
+ if (item != undefined || item != null) {
397
+ this.selectedItemValue = item;
398
+ }
399
+ }
400
+ registerOnChange(fn) {
401
+ this.propagateChange = fn;
402
+ }
403
+ registerOnTouched(fn) {
404
+ this.propogateTouch = fn;
405
+ }
406
+ updateBlur() {
407
+ this.propogateTouch();
408
+ }
409
+ onSelectedItemChanged() {
410
+ this.propagateChange(this.selectedItemValue);
411
+ this.change.emit(this.selectedItemValue);
412
+ }
413
+ setWidth() {
414
+ let style = {
415
+ width: this.width + "px"
416
+ };
417
+ return style;
418
+ }
419
+ }
420
+ ChooseYesOrNoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseYesOrNoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
421
+ ChooseYesOrNoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ChooseYesOrNoComponent, selector: "choose-yes-or-no", inputs: { width: "width", selectedItemValue: "selectedItemValue", placeholder: "placeholder" }, outputs: { change: "change" }, ngImport: i0, template: "<div class=\"select\">\r\n <ng-select [ngStyle]=\"setWidth()\" class=\"component\" appendTo=\"body\" (blur)=\"updateBlur()\" [placeholder]=\"placeholder\" bindLabel=\"label\"\r\n bindValue=\"value\" [items]=\"items\" [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItemValue\" >\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <span [style.color]=\"item.color\">\r\n {{item.label}}\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n", styles: [""], components: [{ type: i1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { type: i1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }] });
422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseYesOrNoComponent, decorators: [{
423
+ type: Component,
424
+ args: [{ selector: 'choose-yes-or-no', template: "<div class=\"select\">\r\n <ng-select [ngStyle]=\"setWidth()\" class=\"component\" appendTo=\"body\" (blur)=\"updateBlur()\" [placeholder]=\"placeholder\" bindLabel=\"label\"\r\n bindValue=\"value\" [items]=\"items\" [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItemValue\" >\r\n <ng-template class=\"template\" ng-option-tmp ng-label-tmp let-item=\"item\" let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <span [style.color]=\"item.color\">\r\n {{item.label}}\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n", styles: [""] }]
425
+ }], ctorParameters: function () { return []; }, propDecorators: { change: [{
426
+ type: Output
427
+ }], width: [{
428
+ type: Input
429
+ }], selectedItemValue: [{
430
+ type: Input
431
+ }], placeholder: [{
432
+ type: Input
433
+ }] } });
434
+
435
+ class ChooseYesOrNoRendererComponent {
436
+ constructor() { }
437
+ agInit(params) {
438
+ this.params = params;
439
+ this.booleanValue = params.value;
440
+ this.key = params.context.createKey(params.columnApi, params.column);
441
+ this.rowId = params.node.id;
442
+ }
443
+ onCellDataChanged($event) {
444
+ let value = $event;
445
+ this.formControlValue = this.params.context.formGroup.get("entries").at(this.rowId);
446
+ this.formControlValue.get(this.key).setValue(value);
447
+ }
448
+ refresh(params) {
449
+ return false;
450
+ }
451
+ }
452
+ ChooseYesOrNoRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseYesOrNoRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
453
+ ChooseYesOrNoRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ChooseYesOrNoRendererComponent, selector: "choose-yes-or-no-renderer", ngImport: i0, template: "<choose-yes-or-no [selectedItemValue]=\"booleanValue\" [width]=\"params.width\" (change) =\"onCellDataChanged($event)\" [placeholder]=\"params.placeholder\" ></choose-yes-or-no>", styles: [""], components: [{ type: ChooseYesOrNoComponent, selector: "choose-yes-or-no", inputs: ["width", "selectedItemValue", "placeholder"], outputs: ["change"] }] });
454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChooseYesOrNoRendererComponent, decorators: [{
455
+ type: Component,
456
+ args: [{ selector: 'choose-yes-or-no-renderer', template: "<choose-yes-or-no [selectedItemValue]=\"booleanValue\" [width]=\"params.width\" (change) =\"onCellDataChanged($event)\" [placeholder]=\"params.placeholder\" ></choose-yes-or-no>", styles: [""] }]
457
+ }], ctorParameters: function () { return []; } });
458
+
459
+ const PIPEMAPPINGS = [
460
+ { value: '$', pipe: new CurrencyPipe('en-US') }
461
+ ];
462
+
463
+ class DynamicPipe {
464
+ transform(value, args) {
465
+ for (let val of PIPEMAPPINGS) {
466
+ if (val.value === args) {
467
+ return val.pipe.transform(value);
468
+ }
469
+ }
470
+ return '';
471
+ }
472
+ }
473
+ DynamicPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DynamicPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
474
+ DynamicPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DynamicPipe, name: "dynamicPipe" });
475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DynamicPipe, decorators: [{
476
+ type: Pipe,
477
+ args: [{ name: 'dynamicPipe' }]
478
+ }] });
479
+
480
+ class EditableSavableInputComponent {
481
+ constructor() {
482
+ this.saveWasClicked = new EventEmitter();
483
+ this.showUnit = false;
484
+ this.isEditable = true;
485
+ this.showHeader = true;
486
+ this.value = "";
487
+ this.isAddClickedOn = false;
488
+ this.isUpdated = false;
489
+ this.showEdit = false;
490
+ // the method set in registerOnChange to emit changes back to the form
491
+ this.propagateChange = (_) => { };
492
+ this.propogateTouch = () => { };
493
+ }
494
+ ngOnInit() {
495
+ this.initialize();
496
+ }
497
+ initialize() {
498
+ if (this.value == "") {
499
+ this.isUpdated = false;
500
+ }
501
+ else {
502
+ this.isUpdated = true;
503
+ }
504
+ }
505
+ onClickAdd() {
506
+ this.isAddClickedOn = true;
507
+ }
508
+ onClickCancel() {
509
+ this.isAddClickedOn = false;
510
+ }
511
+ onClickSave(input) {
512
+ this.isAddClickedOn = false;
513
+ let value = input.value;
514
+ if (value.trim().length == 0) {
515
+ this.isUpdated = false;
516
+ }
517
+ else {
518
+ this.isUpdated = true;
519
+ }
520
+ this.value = value;
521
+ this.saveWasClicked.emit(value);
522
+ this.propagateChange(this.value);
523
+ }
524
+ onClickEdit() {
525
+ this.isAddClickedOn = true;
526
+ }
527
+ onMouseEnter() {
528
+ this.showEdit = true;
529
+ }
530
+ onMouseLeave() {
531
+ this.showEdit = false;
532
+ }
533
+ writeValue(value) {
534
+ if (value) {
535
+ this.value = value;
536
+ this.isUpdated = true;
537
+ }
538
+ }
539
+ // registers 'fn' that will be fired wheb changes are made
540
+ // this is how we emit the changes back to the form
541
+ registerOnChange(fn) {
542
+ this.propagateChange = fn;
543
+ }
544
+ registerOnTouched(fn) {
545
+ this.propogateTouch = fn;
546
+ }
547
+ onChange($event) {
548
+ //this.propagateChange(this.value);
549
+ }
550
+ updateBlur() {
551
+ this.propogateTouch();
552
+ }
553
+ }
554
+ EditableSavableInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: EditableSavableInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
555
+ EditableSavableInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: EditableSavableInputComponent, selector: "editable-savable-input", inputs: { defaultvalue: "defaultvalue", inputType: "inputType", newLabel: "newLabel", headerLabel: "headerLabel", showUnit: "showUnit", unit: "unit", unitType: "unitType", isEditable: "isEditable", showHeader: "showHeader", value: "value" }, outputs: { saveWasClicked: "saveWasClicked" }, providers: [DynamicPipe,
556
+ {
557
+ provide: NG_VALUE_ACCESSOR,
558
+ useExisting: forwardRef(() => EditableSavableInputComponent),
559
+ multi: true
560
+ }
561
+ ], ngImport: i0, template: "<div *ngIf=\"showHeader\" class=\"header\">\r\n {{headerLabel}}\r\n</div>\r\n<div class=\"container\" [ngClass]=\"{'closed':!isAddClickedOn, 'open': isAddClickedOn}\">\r\n <div class=\"content\">\r\n <div class=\"default-content\" *ngIf=\"!isAddClickedOn && !isUpdated && isEditable\">\r\n <div class=\"add\" (click)=\"onClickAdd()\">\r\n {{defaultvalue}} </div>\r\n </div>\r\n <div class=\"edit-content\" *ngIf=\"isAddClickedOn\">\r\n <label class=\"input-label\" for=\"input\">{{newLabel}}</label>\r\n <div class=\"input \" [ngClass]=\"{'input-with-appended-unit': showUnit}\">\r\n <span *ngIf=\"showUnit\">{{unit}}</span>\r\n <input (change)=\"onChange($event)\" (blur)=\"updateBlur()\" [ngModel]=\"value\" [value]=\"value\" id=\"input\" #input\r\n class=\"form-control\" [ngClass]=\"{'input-box': showUnit}\" [type]=\"inputType\">\r\n </div>\r\n <div class=\"edit-actions\">\r\n <button type=\"button\" class=\"btn cancel\" (click)=\"onClickCancel()\" mat-raised-button>Cancel</button>\r\n <button type=\"button\" class=\"save\" (click)=\"onClickSave(input)\" mat-raised-button color=\"primary\">Save</button>\r\n </div>\r\n </div>\r\n <div class=\"updated-content closed\" *ngIf=\"!isAddClickedOn && isUpdated\" (mouseenter)=\"onMouseEnter()\"\r\n (mouseleave)=\"onMouseLeave()\">\r\n <div class=\"edit-icon-container\" *ngIf=\"showEdit && isEditable\" (click)=\"onClickEdit()\">\r\n <i class=\"fas fa-pencil-alt\"></i>\r\n </div>\r\n <div class=\"updated\">\r\n <span class=\"updated-label\">\r\n <label for=\"input\">{{newLabel}}</label>\r\n </span>\r\n <span *ngIf=\"!showUnit\">{{value}}</span>\r\n <span *ngIf=\"showUnit\" class=\"updated-value\">\r\n {{value | dynamicPipe: unitType}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".container{display:block;width:100%}.open{height:120px}.closed{height:40px}.edit-icon-container{position:absolute;right:0%;transform:translate(0);top:0;cursor:pointer}.edit-icon-container:hover{background-color:gray;color:#fff;padding:2px}label,.updated-label{color:gray;margin-right:5px}#input{display:inline}.cancel{grid-column:1;grid-row:2;height:80%;width:80px}.save{grid-column:2;grid-row:2;height:80%;width:80px}.default-content{position:absolute}.input{width:280px;grid-column:2;grid-row:1}.input-box{width:200px}.input-label{grid-column:1;grid-row:1}.updated{position:absolute}.add{color:#00f}.add:hover{text-decoration:underline;cursor:pointer}.content{position:relative}.btn:focus{outline:none!important}.edit-content{position:absolute;left:50%;transform:translate(-50%);display:grid;grid-template-columns:150px 200px;grid-template-rows:50px 50px}.updated-content{display:block}.header{color:gray;border-bottom:1px solid grey;height:30px;font-size:20px;margin-bottom:10px;margin-top:10px}.input-with-appended-unit input{padding-left:20px;text-align:left}.input-with-appended-unit span{position:relative;left:20px;color:gray}.edit-actions{grid-column:2;grid-row:2;display:grid;grid-template-columns:50% 50%}\n"], components: [{ type: i1$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "dynamicPipe": DynamicPipe } });
562
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: EditableSavableInputComponent, decorators: [{
563
+ type: Component,
564
+ args: [{ selector: 'editable-savable-input', providers: [DynamicPipe,
565
+ {
566
+ provide: NG_VALUE_ACCESSOR,
567
+ useExisting: forwardRef(() => EditableSavableInputComponent),
568
+ multi: true
569
+ }
570
+ ], template: "<div *ngIf=\"showHeader\" class=\"header\">\r\n {{headerLabel}}\r\n</div>\r\n<div class=\"container\" [ngClass]=\"{'closed':!isAddClickedOn, 'open': isAddClickedOn}\">\r\n <div class=\"content\">\r\n <div class=\"default-content\" *ngIf=\"!isAddClickedOn && !isUpdated && isEditable\">\r\n <div class=\"add\" (click)=\"onClickAdd()\">\r\n {{defaultvalue}} </div>\r\n </div>\r\n <div class=\"edit-content\" *ngIf=\"isAddClickedOn\">\r\n <label class=\"input-label\" for=\"input\">{{newLabel}}</label>\r\n <div class=\"input \" [ngClass]=\"{'input-with-appended-unit': showUnit}\">\r\n <span *ngIf=\"showUnit\">{{unit}}</span>\r\n <input (change)=\"onChange($event)\" (blur)=\"updateBlur()\" [ngModel]=\"value\" [value]=\"value\" id=\"input\" #input\r\n class=\"form-control\" [ngClass]=\"{'input-box': showUnit}\" [type]=\"inputType\">\r\n </div>\r\n <div class=\"edit-actions\">\r\n <button type=\"button\" class=\"btn cancel\" (click)=\"onClickCancel()\" mat-raised-button>Cancel</button>\r\n <button type=\"button\" class=\"save\" (click)=\"onClickSave(input)\" mat-raised-button color=\"primary\">Save</button>\r\n </div>\r\n </div>\r\n <div class=\"updated-content closed\" *ngIf=\"!isAddClickedOn && isUpdated\" (mouseenter)=\"onMouseEnter()\"\r\n (mouseleave)=\"onMouseLeave()\">\r\n <div class=\"edit-icon-container\" *ngIf=\"showEdit && isEditable\" (click)=\"onClickEdit()\">\r\n <i class=\"fas fa-pencil-alt\"></i>\r\n </div>\r\n <div class=\"updated\">\r\n <span class=\"updated-label\">\r\n <label for=\"input\">{{newLabel}}</label>\r\n </span>\r\n <span *ngIf=\"!showUnit\">{{value}}</span>\r\n <span *ngIf=\"showUnit\" class=\"updated-value\">\r\n {{value | dynamicPipe: unitType}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".container{display:block;width:100%}.open{height:120px}.closed{height:40px}.edit-icon-container{position:absolute;right:0%;transform:translate(0);top:0;cursor:pointer}.edit-icon-container:hover{background-color:gray;color:#fff;padding:2px}label,.updated-label{color:gray;margin-right:5px}#input{display:inline}.cancel{grid-column:1;grid-row:2;height:80%;width:80px}.save{grid-column:2;grid-row:2;height:80%;width:80px}.default-content{position:absolute}.input{width:280px;grid-column:2;grid-row:1}.input-box{width:200px}.input-label{grid-column:1;grid-row:1}.updated{position:absolute}.add{color:#00f}.add:hover{text-decoration:underline;cursor:pointer}.content{position:relative}.btn:focus{outline:none!important}.edit-content{position:absolute;left:50%;transform:translate(-50%);display:grid;grid-template-columns:150px 200px;grid-template-rows:50px 50px}.updated-content{display:block}.header{color:gray;border-bottom:1px solid grey;height:30px;font-size:20px;margin-bottom:10px;margin-top:10px}.input-with-appended-unit input{padding-left:20px;text-align:left}.input-with-appended-unit span{position:relative;left:20px;color:gray}.edit-actions{grid-column:2;grid-row:2;display:grid;grid-template-columns:50% 50%}\n"] }]
571
+ }], ctorParameters: function () { return []; }, propDecorators: { saveWasClicked: [{
572
+ type: Output
573
+ }], defaultvalue: [{
574
+ type: Input
575
+ }], inputType: [{
576
+ type: Input
577
+ }], newLabel: [{
578
+ type: Input
579
+ }], headerLabel: [{
580
+ type: Input
581
+ }], showUnit: [{
582
+ type: Input
583
+ }], unit: [{
584
+ type: Input
585
+ }], unitType: [{
586
+ type: Input
587
+ }], isEditable: [{
588
+ type: Input
589
+ }], showHeader: [{
590
+ type: Input
591
+ }], value: [{
592
+ type: Input
593
+ }] } });
594
+
595
+ class GeneralInputRendererComponent {
596
+ constructor() { }
597
+ agInit(params) {
598
+ this.params = params;
599
+ this.key = params.context.createKey(params.columnApi, params.column);
600
+ this.rowId = params.node.id;
601
+ if (params.isTypeNumber) {
602
+ if (params.value) {
603
+ this.value = new DecimalPipe("en-US").transform(+params.value, "1.0-0");
604
+ }
605
+ }
606
+ else
607
+ this.value = params.value;
608
+ }
609
+ onCellDataChanged($event) {
610
+ let value = $event.target.value;
611
+ this.formControlValue = this.params.context.formGroup.get("entries").at(this.rowId);
612
+ this.formControlValue.get(this.key).setValue(value);
613
+ }
614
+ separateThousands($event) {
615
+ let value = $event.target.value;
616
+ value = value.toString().replace(/\D/g, "")
617
+ .replace(/\B(?=(\d{3})+(?!\d))/g, ",");
618
+ this.value = value;
619
+ }
620
+ setTextAreaMainDescriptionStyle() {
621
+ let style = {
622
+ 'padding-bottom': this.params.textAreaPaddingBottom + 'px',
623
+ };
624
+ return style;
625
+ }
626
+ setTextAreaMainWidth() {
627
+ let style = {
628
+ 'width': this.params.textAreaWidth + 'px',
629
+ };
630
+ return style;
631
+ }
632
+ setTextAreaMainHeight() {
633
+ let style = {
634
+ 'height': this.params.textAreaHeight + 'px',
635
+ };
636
+ return style;
637
+ }
638
+ refresh(params) {
639
+ return false;
640
+ }
641
+ }
642
+ GeneralInputRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: GeneralInputRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
643
+ GeneralInputRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: GeneralInputRendererComponent, selector: "general-input-renderer", ngImport: i0, template: "<div *ngIf=\"params.isTypeText\">\r\n <mat-form-field>\r\n <input [(ngModel)]=\"value\" matInput [placeholder]=\"params.fieldLabel\" (change)=\"onCellDataChanged($event)\" />\r\n <span *ngIf=\"params.showSymbol\" style=\"margin-left:-20px ;\">{{params.symbol}}</span>\r\n </mat-form-field>\r\n</div>\r\n<div *ngIf=\"params.isTypeNumber\">\r\n <mat-form-field>\r\n <input [(ngModel)]=\"value\" (keyup)=\"separateThousands($event)\" matInput [placeholder]=\"params.fieldLabel\"\r\n (change)=\"onCellDataChanged($event)\" />\r\n <span *ngIf=\"params.showSymbol\" style=\"margin-left:-20px ;\">{{params.symbol}}</span>\r\n </mat-form-field>\r\n</div>\r\n<div [ngStyle]=\"setTextAreaMainDescriptionStyle()\" class=\"main-description\" *ngIf=\"params.isTypeTextArea\">\r\n <mat-form-field [ngStyle]=\"setTextAreaMainWidth()\" class=\"main-width\" appearance=\"fill\">\r\n <textarea [ngStyle]=\"setTextAreaMainHeight()\" [(ngModel)]=\"value\" (change)=\"onCellDataChanged($event)\" [placeholder]=\"params.fieldLabel\" class=\"main-height\" matInput\r\n ></textarea>\r\n </mat-form-field>\r\n</div> ", styles: [".main-description{overflow:auto}\n"], components: [{ type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
644
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: GeneralInputRendererComponent, decorators: [{
645
+ type: Component,
646
+ args: [{ selector: 'general-input-renderer', template: "<div *ngIf=\"params.isTypeText\">\r\n <mat-form-field>\r\n <input [(ngModel)]=\"value\" matInput [placeholder]=\"params.fieldLabel\" (change)=\"onCellDataChanged($event)\" />\r\n <span *ngIf=\"params.showSymbol\" style=\"margin-left:-20px ;\">{{params.symbol}}</span>\r\n </mat-form-field>\r\n</div>\r\n<div *ngIf=\"params.isTypeNumber\">\r\n <mat-form-field>\r\n <input [(ngModel)]=\"value\" (keyup)=\"separateThousands($event)\" matInput [placeholder]=\"params.fieldLabel\"\r\n (change)=\"onCellDataChanged($event)\" />\r\n <span *ngIf=\"params.showSymbol\" style=\"margin-left:-20px ;\">{{params.symbol}}</span>\r\n </mat-form-field>\r\n</div>\r\n<div [ngStyle]=\"setTextAreaMainDescriptionStyle()\" class=\"main-description\" *ngIf=\"params.isTypeTextArea\">\r\n <mat-form-field [ngStyle]=\"setTextAreaMainWidth()\" class=\"main-width\" appearance=\"fill\">\r\n <textarea [ngStyle]=\"setTextAreaMainHeight()\" [(ngModel)]=\"value\" (change)=\"onCellDataChanged($event)\" [placeholder]=\"params.fieldLabel\" class=\"main-height\" matInput\r\n ></textarea>\r\n </mat-form-field>\r\n</div> ", styles: [".main-description{overflow:auto}\n"] }]
647
+ }], ctorParameters: function () { return []; } });
648
+
649
+ class InputsModule {
650
+ }
651
+ InputsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: InputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
652
+ InputsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: InputsModule, declarations: [ChooseEnumComponent,
653
+ ChooseEnumRendererComponent,
654
+ ChooseGeneralItemComponent,
655
+ GeneralInputRendererComponent,
656
+ ChooseLineTypeComponent,
657
+ ChooseYesOrNoComponent,
658
+ ChooseYesOrNoRendererComponent,
659
+ EditableSavableInputComponent,
660
+ DynamicPipe], imports: [CommonModule,
661
+ NgSelectModule,
662
+ FormsModule,
663
+ AppMaterialModule,
664
+ SharedGeneralComponentsModule], exports: [ChooseEnumComponent,
665
+ ChooseEnumRendererComponent,
666
+ ChooseGeneralItemComponent,
667
+ GeneralInputRendererComponent,
668
+ ChooseLineTypeComponent,
669
+ ChooseYesOrNoComponent,
670
+ ChooseYesOrNoRendererComponent,
671
+ EditableSavableInputComponent,
672
+ DynamicPipe] });
673
+ InputsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: InputsModule, imports: [[
674
+ CommonModule,
675
+ NgSelectModule,
676
+ FormsModule,
677
+ AppMaterialModule,
678
+ SharedGeneralComponentsModule,
679
+ ]] });
680
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: InputsModule, decorators: [{
681
+ type: NgModule,
682
+ args: [{
683
+ declarations: [
684
+ ChooseEnumComponent,
685
+ ChooseEnumRendererComponent,
686
+ ChooseGeneralItemComponent,
687
+ GeneralInputRendererComponent,
688
+ ChooseLineTypeComponent,
689
+ ChooseYesOrNoComponent,
690
+ ChooseYesOrNoRendererComponent,
691
+ EditableSavableInputComponent,
692
+ DynamicPipe
693
+ ],
694
+ imports: [
695
+ CommonModule,
696
+ NgSelectModule,
697
+ FormsModule,
698
+ AppMaterialModule,
699
+ SharedGeneralComponentsModule,
700
+ ],
701
+ exports: [
702
+ ChooseEnumComponent,
703
+ ChooseEnumRendererComponent,
704
+ ChooseGeneralItemComponent,
705
+ GeneralInputRendererComponent,
706
+ ChooseLineTypeComponent,
707
+ ChooseYesOrNoComponent,
708
+ ChooseYesOrNoRendererComponent,
709
+ EditableSavableInputComponent,
710
+ DynamicPipe
711
+ ]
712
+ }]
713
+ }] });
714
+
715
+ /*
716
+ * Public API Surface of inputs
717
+ */
718
+
719
+ /**
720
+ * Generated bundle index. Do not edit.
721
+ */
722
+
723
+ export { ChooseEnumComponent, ChooseEnumRendererComponent, ChooseGeneralItemComponent, ChooseLineTypeComponent, ChooseYesOrNoComponent, ChooseYesOrNoRendererComponent, DynamicPipe, EditableSavableInputComponent, GeneralInputRendererComponent, InputsModule };
724
+ //# sourceMappingURL=inputs.mjs.map