novo-elements 7.6.0 → 7.7.0-next.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/elements/query-builder/condition-builder/condition-builder.component.scss +3 -0
- package/esm2020/src/elements/date-time-picker/DateTimePicker.mjs +6 -3
- package/esm2020/src/elements/field/field-control.mjs +1 -1
- package/esm2020/src/elements/field/field.mjs +4 -1
- package/esm2020/src/elements/field/field.module.mjs +6 -1
- package/esm2020/src/elements/field/formats/date-time-format.mjs +255 -0
- package/esm2020/src/elements/field/index.mjs +2 -1
- package/esm2020/src/elements/form/Form.module.mjs +4 -1
- package/esm2020/src/elements/query-builder/condition-builder/condition-builder.component.mjs +3 -3
- package/esm2020/src/elements/query-builder/condition-definitions/abstract-condition.definition.mjs +4 -1
- package/esm2020/src/elements/query-builder/condition-definitions/address-condition.definition.mjs +34 -12
- package/esm2020/src/elements/query-builder/condition-definitions/boolean-condition.definition.mjs +20 -16
- package/esm2020/src/elements/query-builder/condition-definitions/date-condition.definition.mjs +68 -59
- package/esm2020/src/elements/query-builder/condition-definitions/number-condition.definition.mjs +35 -13
- package/esm2020/src/elements/query-builder/condition-definitions/picker-condition.definition.mjs +44 -23
- package/esm2020/src/elements/query-builder/condition-definitions/string-condition.definition.mjs +59 -38
- package/esm2020/src/elements/query-builder/query-builder.module.mjs +5 -1
- package/esm2020/src/services/novo-label-service.mjs +2 -1
- package/fesm2015/novo-elements.mjs +552 -203
- package/fesm2015/novo-elements.mjs.map +1 -1
- package/fesm2020/novo-elements.mjs +549 -203
- package/fesm2020/novo-elements.mjs.map +1 -1
- package/package.json +1 -1
- package/src/elements/date-time-picker/DateTimePicker.d.ts +1 -0
- package/src/elements/field/field.module.d.ts +11 -10
- package/src/elements/field/formats/date-time-format.d.ts +33 -0
- package/src/elements/field/index.d.ts +1 -0
- package/src/elements/form/Form.module.d.ts +5 -5
- package/src/elements/query-builder/condition-definitions/abstract-condition.definition.d.ts +2 -0
- package/src/elements/query-builder/condition-definitions/date-condition.definition.d.ts +0 -2
- package/src/elements/query-builder/query-builder.module.d.ts +7 -6
- package/src/services/novo-label-service.d.ts +1 -0
package/esm2020/src/elements/query-builder/condition-definitions/date-condition.definition.mjs
CHANGED
|
@@ -7,14 +7,16 @@ import * as i2 from "../../select/Select";
|
|
|
7
7
|
import * as i3 from "../../common/option/option.component";
|
|
8
8
|
import * as i4 from "../../field/toggle/picker-toggle.component";
|
|
9
9
|
import * as i5 from "../../date-picker/DatePicker";
|
|
10
|
-
import * as i6 from "
|
|
11
|
-
import * as i7 from "
|
|
12
|
-
import * as i8 from "
|
|
13
|
-
import * as i9 from "
|
|
14
|
-
import * as i10 from "
|
|
15
|
-
import * as i11 from "../../
|
|
16
|
-
import * as i12 from "../../field/
|
|
17
|
-
import * as i13 from "../../field/formats/date-
|
|
10
|
+
import * as i6 from "../../radio/RadioGroup";
|
|
11
|
+
import * as i7 from "../../radio/Radio";
|
|
12
|
+
import * as i8 from "../query-builder.directives";
|
|
13
|
+
import * as i9 from "@angular/forms";
|
|
14
|
+
import * as i10 from "@angular/common";
|
|
15
|
+
import * as i11 from "../../common/directives/switch-cases.directive";
|
|
16
|
+
import * as i12 from "../../field/input";
|
|
17
|
+
import * as i13 from "../../field/formats/date-format";
|
|
18
|
+
import * as i14 from "../../field/picker.directive";
|
|
19
|
+
import * as i15 from "../../field/formats/date-range-format";
|
|
18
20
|
/**
|
|
19
21
|
* Most complicated of the default conditions defs, a date needs to provide a different
|
|
20
22
|
* input type depending on the operator selected.
|
|
@@ -24,9 +26,6 @@ export class NovoDefaultDateConditionDef extends AbstractConditionFieldDef {
|
|
|
24
26
|
super(...arguments);
|
|
25
27
|
this.defaultOperator = 'within';
|
|
26
28
|
}
|
|
27
|
-
onOperatorSelect(formGroup) {
|
|
28
|
-
formGroup.get('value').setValue(null);
|
|
29
|
-
}
|
|
30
29
|
closePanel(event, viewIndex) {
|
|
31
30
|
const overlay = this.overlayChildren.find(item => item.overlayId === viewIndex);
|
|
32
31
|
overlay.closePanel(event);
|
|
@@ -41,34 +40,39 @@ NovoDefaultDateConditionDef.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
|
|
|
41
40
|
<novo-option value="after">{{ labels.after }}</novo-option>
|
|
42
41
|
<novo-option value="between">{{ labels.between }}</novo-option>
|
|
43
42
|
<novo-option value="within">{{ labels.within }}</novo-option>
|
|
43
|
+
<novo-option value="isNull">{{ labels.isEmpty }}</novo-option>
|
|
44
44
|
</novo-select>
|
|
45
45
|
</novo-field>
|
|
46
|
-
<ng-container *novoConditionInputDef="let formGroup; viewIndex as viewIndex">
|
|
47
|
-
<
|
|
48
|
-
<
|
|
49
|
-
|
|
50
|
-
<novo-picker
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
<
|
|
55
|
-
|
|
56
|
-
<novo-picker
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
<novo-
|
|
61
|
-
<novo-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
46
|
+
<ng-container *novoConditionInputDef="let formGroup; viewIndex as viewIndex" [ngSwitch]="formGroup.value.operator" [formGroup]="formGroup">
|
|
47
|
+
<novo-field *novoSwitchCases="['before', 'after']">
|
|
48
|
+
<input novoInput dateFormat="iso8601" [picker]="datepicker" formControlName="value" />
|
|
49
|
+
<novo-picker-toggle triggerOnFocus [overlayId]="viewIndex" novoSuffix icon="calendar">
|
|
50
|
+
<novo-date-picker (onSelect)="closePanel($event, viewIndex)" #datepicker></novo-date-picker>
|
|
51
|
+
</novo-picker-toggle>
|
|
52
|
+
</novo-field>
|
|
53
|
+
<novo-field *novoSwitchCases="['between']">
|
|
54
|
+
<input novoInput dateRangeFormat="date" [picker]="daterangepicker" formControlName="value" />
|
|
55
|
+
<novo-picker-toggle [for]="daterangepicker" triggerOnFocus [overlayId]="viewIndex" novoSuffix icon="calendar">
|
|
56
|
+
<novo-date-picker #daterangepicker (onSelect)="closePanel($event, viewIndex)" mode="range" numberOfMonths="2"></novo-date-picker>
|
|
57
|
+
</novo-picker-toggle>
|
|
58
|
+
</novo-field>
|
|
59
|
+
<novo-field *novoSwitchCases="['within']">
|
|
60
|
+
<novo-select [placeholder]="labels.selectDateRange" formControlName="value">
|
|
61
|
+
<novo-option value="7">{{ labels.next7Days }}</novo-option>
|
|
62
|
+
<novo-option value="-7">{{ labels.past7Days }}</novo-option>
|
|
63
|
+
<novo-option value="-30">{{ labels.past30Days }}</novo-option>
|
|
64
|
+
<novo-option value="-90">{{ labels.past90Days }}</novo-option>
|
|
65
|
+
</novo-select>
|
|
66
|
+
</novo-field>
|
|
67
|
+
<novo-field *novoSwitchCases="['isNull']">
|
|
68
|
+
<novo-radio-group formControlName="value">
|
|
69
|
+
<novo-radio [value]="true">{{ labels.yes }}</novo-radio>
|
|
70
|
+
<novo-radio [value]="false">{{ labels.no }}</novo-radio>
|
|
71
|
+
</novo-radio-group>
|
|
72
|
+
</novo-field>
|
|
69
73
|
</ng-container>
|
|
70
74
|
</ng-container>
|
|
71
|
-
`, isInline: true, components: [{ type: i1.NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "width"], outputs: ["valueChanges", "stateChanges"] }, { type: i2.NovoSelectElement, selector: "novo-select", inputs: ["disabled", "required", "tabIndex", "id", "name", "options", "placeholder", "readonly", "headerConfig", "position", "overlayWidth", "overlayHeight", "displayWith", "compareWith", "value", "multiple"], outputs: ["onSelect", "selectionChange", "valueChange", "openedChange", "opened", "closed"] }, { type: i3.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { type: i4.NovoPickerToggleElement, selector: "novo-picker-toggle", inputs: ["for", "icon", "tabIndex", "aria-label", "triggerOnFocus", "overlayId", "disabled"], exportAs: ["novoPickerToggle"] }, { type: i5.NovoDatePickerElement, selector: "novo-date-picker", inputs: ["minYear", "maxYear", "start", "end", "inline", "weekStart", "preselected", "hideOverflowDays", "hideFooter", "disabledDateMessage", "numberOfMonths", "mode", "range", "weekRangeSelect"], outputs: ["onSelect"] }], directives: [{ type:
|
|
75
|
+
`, isInline: true, components: [{ type: i1.NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "width"], outputs: ["valueChanges", "stateChanges"] }, { type: i2.NovoSelectElement, selector: "novo-select", inputs: ["disabled", "required", "tabIndex", "id", "name", "options", "placeholder", "readonly", "headerConfig", "position", "overlayWidth", "overlayHeight", "displayWith", "compareWith", "value", "multiple"], outputs: ["onSelect", "selectionChange", "valueChange", "openedChange", "opened", "closed"] }, { type: i3.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { type: i4.NovoPickerToggleElement, selector: "novo-picker-toggle", inputs: ["for", "icon", "tabIndex", "aria-label", "triggerOnFocus", "overlayId", "disabled"], exportAs: ["novoPickerToggle"] }, { type: i5.NovoDatePickerElement, selector: "novo-date-picker", inputs: ["minYear", "maxYear", "start", "end", "inline", "weekStart", "preselected", "hideOverflowDays", "hideFooter", "disabledDateMessage", "numberOfMonths", "mode", "range", "weekRangeSelect"], outputs: ["onSelect"] }, { type: i6.NovoRadioGroup, selector: "novo-radio-group", inputs: ["id", "tabindex", "errorStateMatcher", "appearance", "value", "name", "disabled", "required", "placeholder"], outputs: ["change", "blur"] }, { type: i7.NovoRadioElement, selector: "novo-radio", inputs: ["id", "name", "tabindex", "vertical", "label", "button", "theme", "size", "icon", "color", "checked", "value", "disabled"], outputs: ["change", "blur", "focus"] }], directives: [{ type: i8.NovoConditionFieldDef, selector: "[novoConditionFieldDef]" }, { type: i8.NovoConditionOperatorsDef, selector: "[novoConditionOperatorsDef]" }, { type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i8.NovoConditionInputDef, selector: "[novoConditionInputDef]" }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i11.SwitchCasesDirective, selector: "[novoSwitchCases]", inputs: ["novoSwitchCases"] }, { type: i12.NovoInput, selector: "input[novoInput], textarea[novoInput], select[novoInput]", inputs: ["disabled", "id", "placeholder", "required", "type", "value", "readonly"] }, { type: i13.NovoDateFormatDirective, selector: "input[dateFormat]", inputs: ["dateFormat"] }, { type: i9.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: i14.NovoPickerDirective, selector: "input[picker]", inputs: ["picker", "autocomplete"] }, { type: i1.NovoFieldSuffixDirective, selector: "[novoSuffix]" }, { type: i15.NovoDateRangeFormatDirective, selector: "input[dateRangeFormat]", inputs: ["dateRangeFormat"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
72
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoDefaultDateConditionDef, decorators: [{
|
|
73
77
|
type: Component,
|
|
74
78
|
args: [{
|
|
@@ -81,31 +85,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
81
85
|
<novo-option value="after">{{ labels.after }}</novo-option>
|
|
82
86
|
<novo-option value="between">{{ labels.between }}</novo-option>
|
|
83
87
|
<novo-option value="within">{{ labels.within }}</novo-option>
|
|
88
|
+
<novo-option value="isNull">{{ labels.isEmpty }}</novo-option>
|
|
84
89
|
</novo-select>
|
|
85
90
|
</novo-field>
|
|
86
|
-
<ng-container *novoConditionInputDef="let formGroup; viewIndex as viewIndex">
|
|
87
|
-
<
|
|
88
|
-
<
|
|
89
|
-
|
|
90
|
-
<novo-picker
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
<
|
|
95
|
-
|
|
96
|
-
<novo-picker
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
<novo-
|
|
101
|
-
<novo-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
91
|
+
<ng-container *novoConditionInputDef="let formGroup; viewIndex as viewIndex" [ngSwitch]="formGroup.value.operator" [formGroup]="formGroup">
|
|
92
|
+
<novo-field *novoSwitchCases="['before', 'after']">
|
|
93
|
+
<input novoInput dateFormat="iso8601" [picker]="datepicker" formControlName="value" />
|
|
94
|
+
<novo-picker-toggle triggerOnFocus [overlayId]="viewIndex" novoSuffix icon="calendar">
|
|
95
|
+
<novo-date-picker (onSelect)="closePanel($event, viewIndex)" #datepicker></novo-date-picker>
|
|
96
|
+
</novo-picker-toggle>
|
|
97
|
+
</novo-field>
|
|
98
|
+
<novo-field *novoSwitchCases="['between']">
|
|
99
|
+
<input novoInput dateRangeFormat="date" [picker]="daterangepicker" formControlName="value" />
|
|
100
|
+
<novo-picker-toggle [for]="daterangepicker" triggerOnFocus [overlayId]="viewIndex" novoSuffix icon="calendar">
|
|
101
|
+
<novo-date-picker #daterangepicker (onSelect)="closePanel($event, viewIndex)" mode="range" numberOfMonths="2"></novo-date-picker>
|
|
102
|
+
</novo-picker-toggle>
|
|
103
|
+
</novo-field>
|
|
104
|
+
<novo-field *novoSwitchCases="['within']">
|
|
105
|
+
<novo-select [placeholder]="labels.selectDateRange" formControlName="value">
|
|
106
|
+
<novo-option value="7">{{ labels.next7Days }}</novo-option>
|
|
107
|
+
<novo-option value="-7">{{ labels.past7Days }}</novo-option>
|
|
108
|
+
<novo-option value="-30">{{ labels.past30Days }}</novo-option>
|
|
109
|
+
<novo-option value="-90">{{ labels.past90Days }}</novo-option>
|
|
110
|
+
</novo-select>
|
|
111
|
+
</novo-field>
|
|
112
|
+
<novo-field *novoSwitchCases="['isNull']">
|
|
113
|
+
<novo-radio-group formControlName="value">
|
|
114
|
+
<novo-radio [value]="true">{{ labels.yes }}</novo-radio>
|
|
115
|
+
<novo-radio [value]="false">{{ labels.no }}</novo-radio>
|
|
116
|
+
</novo-radio-group>
|
|
117
|
+
</novo-field>
|
|
109
118
|
</ng-container>
|
|
110
119
|
</ng-container>
|
|
111
120
|
`,
|
|
@@ -116,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
116
125
|
type: ViewChildren,
|
|
117
126
|
args: [NovoPickerToggleElement]
|
|
118
127
|
}] } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jb25kaXRpb24uZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL2VsZW1lbnRzL3F1ZXJ5LWJ1aWxkZXIvY29uZGl0aW9uLWRlZmluaXRpb25zL2RhdGUtY29uZGl0aW9uLmRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RTs7O0dBR0c7QUErQ0gsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHlCQUF5QjtJQTlDMUU7O1FBa0RFLG9CQUFlLEdBQUcsUUFBUSxDQUFDO0tBTTVCO0lBSkMsVUFBVSxDQUFDLEtBQUssRUFBRSxTQUFTO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUNoRixPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7O3lIQVRVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLG1HQUN4Qix1QkFBdUIsdUVBN0MzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdDVDs0RkFJVSwyQkFBMkI7a0JBOUN2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdDVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE9BQU87aUJBQ2pEOzhCQUdDLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdm9QaWNrZXJUb2dnbGVFbGVtZW50IH0gZnJvbSAnLi8uLi8uLi9maWVsZC90b2dnbGUvcGlja2VyLXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb25kaXRpb25GaWVsZERlZiB9IGZyb20gJy4vYWJzdHJhY3QtY29uZGl0aW9uLmRlZmluaXRpb24nO1xuXG4vKipcbiAqIE1vc3QgY29tcGxpY2F0ZWQgb2YgdGhlIGRlZmF1bHQgY29uZGl0aW9ucyBkZWZzLCBhIGRhdGUgbmVlZHMgdG8gcHJvdmlkZSBhIGRpZmZlcmVudFxuICogaW5wdXQgdHlwZSBkZXBlbmRpbmcgb24gdGhlIG9wZXJhdG9yIHNlbGVjdGVkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdub3ZvLWRhdGUtY29uZGl0aW9uLWRlZicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciBub3ZvQ29uZGl0aW9uRmllbGREZWY9XCJEQVRFXCI+XG4gICAgICA8bm92by1maWVsZCAqbm92b0NvbmRpdGlvbk9wZXJhdG9yc0RlZj1cImxldCBmb3JtR3JvdXBcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgICA8bm92by1zZWxlY3QgW3BsYWNlaG9sZGVyXT1cImxhYmVscy5vcGVyYXRvclwiIGZvcm1Db250cm9sTmFtZT1cIm9wZXJhdG9yXCIgKG9uU2VsZWN0KT1cIm9uT3BlcmF0b3JTZWxlY3QoZm9ybUdyb3VwKVwiPlxuICAgICAgICAgIDxub3ZvLW9wdGlvbiB2YWx1ZT1cImJlZm9yZVwiPnt7IGxhYmVscy5iZWZvcmUgfX08L25vdm8tb3B0aW9uPlxuICAgICAgICAgIDxub3ZvLW9wdGlvbiB2YWx1ZT1cImFmdGVyXCI+e3sgbGFiZWxzLmFmdGVyIH19PC9ub3ZvLW9wdGlvbj5cbiAgICAgICAgICA8bm92by1vcHRpb24gdmFsdWU9XCJiZXR3ZWVuXCI+e3sgbGFiZWxzLmJldHdlZW4gfX08L25vdm8tb3B0aW9uPlxuICAgICAgICAgIDxub3ZvLW9wdGlvbiB2YWx1ZT1cIndpdGhpblwiPnt7IGxhYmVscy53aXRoaW4gfX08L25vdm8tb3B0aW9uPlxuICAgICAgICAgIDxub3ZvLW9wdGlvbiB2YWx1ZT1cImlzTnVsbFwiPnt7IGxhYmVscy5pc0VtcHR5IH19PC9ub3ZvLW9wdGlvbj5cbiAgICAgICAgPC9ub3ZvLXNlbGVjdD5cbiAgICAgIDwvbm92by1maWVsZD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5vdm9Db25kaXRpb25JbnB1dERlZj1cImxldCBmb3JtR3JvdXA7IHZpZXdJbmRleCBhcyB2aWV3SW5kZXhcIiBbbmdTd2l0Y2hdPVwiZm9ybUdyb3VwLnZhbHVlLm9wZXJhdG9yXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICAgICAgPG5vdm8tZmllbGQgKm5vdm9Td2l0Y2hDYXNlcz1cIlsnYmVmb3JlJywgJ2FmdGVyJ11cIj5cbiAgICAgICAgICA8aW5wdXQgbm92b0lucHV0IGRhdGVGb3JtYXQ9XCJpc284NjAxXCIgW3BpY2tlcl09XCJkYXRlcGlja2VyXCIgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIiAvPlxuICAgICAgICAgIDxub3ZvLXBpY2tlci10b2dnbGUgdHJpZ2dlck9uRm9jdXMgW292ZXJsYXlJZF09XCJ2aWV3SW5kZXhcIiBub3ZvU3VmZml4IGljb249XCJjYWxlbmRhclwiPlxuICAgICAgICAgICAgPG5vdm8tZGF0ZS1waWNrZXIgKG9uU2VsZWN0KT1cImNsb3NlUGFuZWwoJGV2ZW50LCB2aWV3SW5kZXgpXCIgI2RhdGVwaWNrZXI+PC9ub3ZvLWRhdGUtcGlja2VyPlxuICAgICAgICAgIDwvbm92by1waWNrZXItdG9nZ2xlPlxuICAgICAgICA8L25vdm8tZmllbGQ+XG4gICAgICAgIDxub3ZvLWZpZWxkICpub3ZvU3dpdGNoQ2FzZXM9XCJbJ2JldHdlZW4nXVwiPlxuICAgICAgICAgIDxpbnB1dCBub3ZvSW5wdXQgZGF0ZVJhbmdlRm9ybWF0PVwiZGF0ZVwiIFtwaWNrZXJdPVwiZGF0ZXJhbmdlcGlja2VyXCIgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIiAvPlxuICAgICAgICAgIDxub3ZvLXBpY2tlci10b2dnbGUgW2Zvcl09XCJkYXRlcmFuZ2VwaWNrZXJcIiB0cmlnZ2VyT25Gb2N1cyBbb3ZlcmxheUlkXT1cInZpZXdJbmRleFwiIG5vdm9TdWZmaXggaWNvbj1cImNhbGVuZGFyXCI+XG4gICAgICAgICAgICA8bm92by1kYXRlLXBpY2tlciAjZGF0ZXJhbmdlcGlja2VyIChvblNlbGVjdCk9XCJjbG9zZVBhbmVsKCRldmVudCwgdmlld0luZGV4KVwiIG1vZGU9XCJyYW5nZVwiIG51bWJlck9mTW9udGhzPVwiMlwiPjwvbm92by1kYXRlLXBpY2tlcj5cbiAgICAgICAgICA8L25vdm8tcGlja2VyLXRvZ2dsZT5cbiAgICAgICAgPC9ub3ZvLWZpZWxkPlxuICAgICAgICA8bm92by1maWVsZCAqbm92b1N3aXRjaENhc2VzPVwiWyd3aXRoaW4nXVwiPlxuICAgICAgICAgIDxub3ZvLXNlbGVjdCBbcGxhY2Vob2xkZXJdPVwibGFiZWxzLnNlbGVjdERhdGVSYW5nZVwiIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCI+XG4gICAgICAgICAgICA8bm92by1vcHRpb24gdmFsdWU9XCI3XCI+e3sgbGFiZWxzLm5leHQ3RGF5cyB9fTwvbm92by1vcHRpb24+XG4gICAgICAgICAgICA8bm92by1vcHRpb24gdmFsdWU9XCItN1wiPnt7IGxhYmVscy5wYXN0N0RheXMgfX08L25vdm8tb3B0aW9uPlxuICAgICAgICAgICAgPG5vdm8tb3B0aW9uIHZhbHVlPVwiLTMwXCI+e3sgbGFiZWxzLnBhc3QzMERheXMgfX08L25vdm8tb3B0aW9uPlxuICAgICAgICAgICAgPG5vdm8tb3B0aW9uIHZhbHVlPVwiLTkwXCI+e3sgbGFiZWxzLnBhc3Q5MERheXMgfX08L25vdm8tb3B0aW9uPlxuICAgICAgICAgIDwvbm92by1zZWxlY3Q+XG4gICAgICAgIDwvbm92by1maWVsZD5cbiAgICAgICAgPG5vdm8tZmllbGQgKm5vdm9Td2l0Y2hDYXNlcz1cIlsnaXNOdWxsJ11cIj5cbiAgICAgICAgICA8bm92by1yYWRpby1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiPlxuICAgICAgICAgICAgPG5vdm8tcmFkaW8gW3ZhbHVlXT1cInRydWVcIj57eyBsYWJlbHMueWVzIH19PC9ub3ZvLXJhZGlvPlxuICAgICAgICAgICAgPG5vdm8tcmFkaW8gW3ZhbHVlXT1cImZhbHNlXCI+e3sgbGFiZWxzLm5vIH19PC9ub3ZvLXJhZGlvPlxuICAgICAgICAgIDwvbm92by1yYWRpby1ncm91cD5cbiAgICAgICAgPC9ub3ZvLWZpZWxkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbn0pXG5leHBvcnQgY2xhc3MgTm92b0RlZmF1bHREYXRlQ29uZGl0aW9uRGVmIGV4dGVuZHMgQWJzdHJhY3RDb25kaXRpb25GaWVsZERlZiB7XG4gIEBWaWV3Q2hpbGRyZW4oTm92b1BpY2tlclRvZ2dsZUVsZW1lbnQpXG4gIG92ZXJsYXlDaGlsZHJlbjogUXVlcnlMaXN0PE5vdm9QaWNrZXJUb2dnbGVFbGVtZW50PjtcblxuICBkZWZhdWx0T3BlcmF0b3IgPSAnd2l0aGluJztcblxuICBjbG9zZVBhbmVsKGV2ZW50LCB2aWV3SW5kZXgpOiB2b2lkIHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5Q2hpbGRyZW4uZmluZChpdGVtID0+IGl0ZW0ub3ZlcmxheUlkID09PSB2aWV3SW5kZXgpO1xuICAgIG92ZXJsYXkuY2xvc2VQYW5lbChldmVudCk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2020/src/elements/query-builder/condition-definitions/number-condition.definition.mjs
CHANGED
|
@@ -4,9 +4,13 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "../../field/field";
|
|
5
5
|
import * as i2 from "../../select/Select";
|
|
6
6
|
import * as i3 from "../../common/option/option.component";
|
|
7
|
-
import * as i4 from "
|
|
8
|
-
import * as i5 from "
|
|
9
|
-
import * as i6 from "
|
|
7
|
+
import * as i4 from "../../radio/RadioGroup";
|
|
8
|
+
import * as i5 from "../../radio/Radio";
|
|
9
|
+
import * as i6 from "../query-builder.directives";
|
|
10
|
+
import * as i7 from "@angular/forms";
|
|
11
|
+
import * as i8 from "@angular/common";
|
|
12
|
+
import * as i9 from "../../common/directives/switch-cases.directive";
|
|
13
|
+
import * as i10 from "../../field/input";
|
|
10
14
|
/**
|
|
11
15
|
* When constructing a query using a field that is an Int, Double, Number ...etc.
|
|
12
16
|
* TODO: Do we implment currency formation here potentially>.?
|
|
@@ -21,17 +25,26 @@ NovoDefaultNumberConditionDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.
|
|
|
21
25
|
NovoDefaultNumberConditionDef.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoDefaultNumberConditionDef, selector: "novo-number-condition-def", usesInheritance: true, ngImport: i0, template: `
|
|
22
26
|
<ng-container novoConditionFieldDef>
|
|
23
27
|
<novo-field *novoConditionOperatorsDef="let formGroup" [formGroup]="formGroup">
|
|
24
|
-
<novo-select [placeholder]="labels.operator" formControlName="operator">
|
|
28
|
+
<novo-select [placeholder]="labels.operator" formControlName="operator" (onSelect)="onOperatorSelect(formGroup)">
|
|
25
29
|
<novo-option value="greaterThan">{{ labels.greaterThan }}</novo-option>
|
|
26
30
|
<novo-option value="lessThan">{{ labels.lessThan }}</novo-option>
|
|
27
31
|
<novo-option value="equalTo">{{ labels.equalTo }}</novo-option>
|
|
32
|
+
<novo-option value="isNull">{{ labels.isEmpty }}</novo-option>
|
|
28
33
|
</novo-select>
|
|
29
34
|
</novo-field>
|
|
30
|
-
<
|
|
31
|
-
<
|
|
32
|
-
|
|
35
|
+
<ng-container *novoConditionInputDef="let formGroup" [ngSwitch]="formGroup.value.operator" [formGroup]="formGroup">
|
|
36
|
+
<novo-field *novoSwitchCases="['greaterThan', 'lessThan', 'equalTo']">
|
|
37
|
+
<input novoInput type="number" formControlName="value" />
|
|
38
|
+
</novo-field>
|
|
39
|
+
<novo-field *novoSwitchCases="['isNull']">
|
|
40
|
+
<novo-radio-group formControlName="value">
|
|
41
|
+
<novo-radio [value]="true">{{ labels.yes }}</novo-radio>
|
|
42
|
+
<novo-radio [value]="false">{{ labels.no }}</novo-radio>
|
|
43
|
+
</novo-radio-group>
|
|
44
|
+
</novo-field>
|
|
45
|
+
</ng-container>
|
|
33
46
|
</ng-container>
|
|
34
|
-
`, isInline: true, components: [{ type: i1.NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "width"], outputs: ["valueChanges", "stateChanges"] }, { type: i2.NovoSelectElement, selector: "novo-select", inputs: ["disabled", "required", "tabIndex", "id", "name", "options", "placeholder", "readonly", "headerConfig", "position", "overlayWidth", "overlayHeight", "displayWith", "compareWith", "value", "multiple"], outputs: ["onSelect", "selectionChange", "valueChange", "openedChange", "opened", "closed"] }, { type: i3.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }], directives: [{ type:
|
|
47
|
+
`, isInline: true, components: [{ type: i1.NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "width"], outputs: ["valueChanges", "stateChanges"] }, { type: i2.NovoSelectElement, selector: "novo-select", inputs: ["disabled", "required", "tabIndex", "id", "name", "options", "placeholder", "readonly", "headerConfig", "position", "overlayWidth", "overlayHeight", "displayWith", "compareWith", "value", "multiple"], outputs: ["onSelect", "selectionChange", "valueChange", "openedChange", "opened", "closed"] }, { type: i3.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { type: i4.NovoRadioGroup, selector: "novo-radio-group", inputs: ["id", "tabindex", "errorStateMatcher", "appearance", "value", "name", "disabled", "required", "placeholder"], outputs: ["change", "blur"] }, { type: i5.NovoRadioElement, selector: "novo-radio", inputs: ["id", "name", "tabindex", "vertical", "label", "button", "theme", "size", "icon", "color", "checked", "value", "disabled"], outputs: ["change", "blur", "focus"] }], directives: [{ type: i6.NovoConditionFieldDef, selector: "[novoConditionFieldDef]" }, { type: i6.NovoConditionOperatorsDef, selector: "[novoConditionOperatorsDef]" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.NovoConditionInputDef, selector: "[novoConditionInputDef]" }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.SwitchCasesDirective, selector: "[novoSwitchCases]", inputs: ["novoSwitchCases"] }, { type: i10.NovoInput, selector: "input[novoInput], textarea[novoInput], select[novoInput]", inputs: ["disabled", "id", "placeholder", "required", "type", "value", "readonly"] }, { type: i7.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
35
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoDefaultNumberConditionDef, decorators: [{
|
|
36
49
|
type: Component,
|
|
37
50
|
args: [{
|
|
@@ -39,19 +52,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
39
52
|
template: `
|
|
40
53
|
<ng-container novoConditionFieldDef>
|
|
41
54
|
<novo-field *novoConditionOperatorsDef="let formGroup" [formGroup]="formGroup">
|
|
42
|
-
<novo-select [placeholder]="labels.operator" formControlName="operator">
|
|
55
|
+
<novo-select [placeholder]="labels.operator" formControlName="operator" (onSelect)="onOperatorSelect(formGroup)">
|
|
43
56
|
<novo-option value="greaterThan">{{ labels.greaterThan }}</novo-option>
|
|
44
57
|
<novo-option value="lessThan">{{ labels.lessThan }}</novo-option>
|
|
45
58
|
<novo-option value="equalTo">{{ labels.equalTo }}</novo-option>
|
|
59
|
+
<novo-option value="isNull">{{ labels.isEmpty }}</novo-option>
|
|
46
60
|
</novo-select>
|
|
47
61
|
</novo-field>
|
|
48
|
-
<
|
|
49
|
-
<
|
|
50
|
-
|
|
62
|
+
<ng-container *novoConditionInputDef="let formGroup" [ngSwitch]="formGroup.value.operator" [formGroup]="formGroup">
|
|
63
|
+
<novo-field *novoSwitchCases="['greaterThan', 'lessThan', 'equalTo']">
|
|
64
|
+
<input novoInput type="number" formControlName="value" />
|
|
65
|
+
</novo-field>
|
|
66
|
+
<novo-field *novoSwitchCases="['isNull']">
|
|
67
|
+
<novo-radio-group formControlName="value">
|
|
68
|
+
<novo-radio [value]="true">{{ labels.yes }}</novo-radio>
|
|
69
|
+
<novo-radio [value]="false">{{ labels.no }}</novo-radio>
|
|
70
|
+
</novo-radio-group>
|
|
71
|
+
</novo-field>
|
|
72
|
+
</ng-container>
|
|
51
73
|
</ng-container>
|
|
52
74
|
`,
|
|
53
75
|
encapsulation: ViewEncapsulation.None,
|
|
54
76
|
changeDetection: ChangeDetectionStrategy.Default,
|
|
55
77
|
}]
|
|
56
78
|
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWNvbmRpdGlvbi5kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbm92by1lbGVtZW50cy9zcmMvZWxlbWVudHMvcXVlcnktYnVpbGRlci9jb25kaXRpb24tZGVmaW5pdGlvbnMvbnVtYmVyLWNvbmRpdGlvbi5kZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7OztBQUU1RTs7O0dBR0c7QUE2QkgsTUFBTSxPQUFPLDZCQUE4QixTQUFRLHlCQUF5QjtJQTVCNUU7O1FBNkJFLG9CQUFlLEdBQUcsU0FBUyxDQUFDO0tBQzdCOzsySEFGWSw2QkFBNkI7K0dBQTdCLDZCQUE2Qix3RkExQjlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JUOzRGQUlVLDZCQUE2QjtrQkE1QnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsT0FBTztpQkFDakQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb25kaXRpb25GaWVsZERlZiB9IGZyb20gJy4vYWJzdHJhY3QtY29uZGl0aW9uLmRlZmluaXRpb24nO1xuXG4vKipcbiAqIFdoZW4gY29uc3RydWN0aW5nIGEgcXVlcnkgdXNpbmcgYSBmaWVsZCB0aGF0IGlzIGFuIEludCwgRG91YmxlLCBOdW1iZXIgLi4uZXRjLlxuICogVE9ETzogRG8gd2UgaW1wbG1lbnQgY3VycmVuY3kgZm9ybWF0aW9uIGhlcmUgcG90ZW50aWFsbHk+Lj9cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm92by1udW1iZXItY29uZGl0aW9uLWRlZicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciBub3ZvQ29uZGl0aW9uRmllbGREZWY+XG4gICAgICA8bm92by1maWVsZCAqbm92b0NvbmRpdGlvbk9wZXJhdG9yc0RlZj1cImxldCBmb3JtR3JvdXBcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgICA8bm92by1zZWxlY3QgW3BsYWNlaG9sZGVyXT1cImxhYmVscy5vcGVyYXRvclwiIGZvcm1Db250cm9sTmFtZT1cIm9wZXJhdG9yXCIgKG9uU2VsZWN0KT1cIm9uT3BlcmF0b3JTZWxlY3QoZm9ybUdyb3VwKVwiPlxuICAgICAgICAgIDxub3ZvLW9wdGlvbiB2YWx1ZT1cImdyZWF0ZXJUaGFuXCI+e3sgbGFiZWxzLmdyZWF0ZXJUaGFuIH19PC9ub3ZvLW9wdGlvbj5cbiAgICAgICAgICA8bm92by1vcHRpb24gdmFsdWU9XCJsZXNzVGhhblwiPnt7IGxhYmVscy5sZXNzVGhhbiB9fTwvbm92by1vcHRpb24+XG4gICAgICAgICAgPG5vdm8tb3B0aW9uIHZhbHVlPVwiZXF1YWxUb1wiPnt7IGxhYmVscy5lcXVhbFRvIH19PC9ub3ZvLW9wdGlvbj5cbiAgICAgICAgICA8bm92by1vcHRpb24gdmFsdWU9XCJpc051bGxcIj57eyBsYWJlbHMuaXNFbXB0eSB9fTwvbm92by1vcHRpb24+XG4gICAgICAgIDwvbm92by1zZWxlY3Q+XG4gICAgICA8L25vdm8tZmllbGQ+XG4gICAgICA8bmctY29udGFpbmVyICpub3ZvQ29uZGl0aW9uSW5wdXREZWY9XCJsZXQgZm9ybUdyb3VwXCIgW25nU3dpdGNoXT1cImZvcm1Hcm91cC52YWx1ZS5vcGVyYXRvclwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICAgIDxub3ZvLWZpZWxkICpub3ZvU3dpdGNoQ2FzZXM9XCJbJ2dyZWF0ZXJUaGFuJywgJ2xlc3NUaGFuJywgJ2VxdWFsVG8nXVwiPlxuICAgICAgICAgIDxpbnB1dCBub3ZvSW5wdXQgdHlwZT1cIm51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCIgLz5cbiAgICAgICAgPC9ub3ZvLWZpZWxkPlxuICAgICAgICA8bm92by1maWVsZCAqbm92b1N3aXRjaENhc2VzPVwiWydpc051bGwnXVwiPlxuICAgICAgICAgIDxub3ZvLXJhZGlvLWdyb3VwIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCI+XG4gICAgICAgICAgICA8bm92by1yYWRpbyBbdmFsdWVdPVwidHJ1ZVwiPnt7IGxhYmVscy55ZXMgfX08L25vdm8tcmFkaW8+XG4gICAgICAgICAgICA8bm92by1yYWRpbyBbdmFsdWVdPVwiZmFsc2VcIj57eyBsYWJlbHMubm8gfX08L25vdm8tcmFkaW8+XG4gICAgICAgICAgPC9ub3ZvLXJhZGlvLWdyb3VwPlxuICAgICAgICA8L25vdm8tZmllbGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxufSlcbmV4cG9ydCBjbGFzcyBOb3ZvRGVmYXVsdE51bWJlckNvbmRpdGlvbkRlZiBleHRlbmRzIEFic3RyYWN0Q29uZGl0aW9uRmllbGREZWYge1xuICBkZWZhdWx0T3BlcmF0b3IgPSAnZXF1YWxUbyc7XG59XG4iXX0=
|
package/esm2020/src/elements/query-builder/condition-definitions/picker-condition.definition.mjs
CHANGED
|
@@ -4,9 +4,12 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "../../field/field";
|
|
5
5
|
import * as i2 from "../../select/Select";
|
|
6
6
|
import * as i3 from "../../common/option/option.component";
|
|
7
|
-
import * as i4 from "
|
|
8
|
-
import * as i5 from "
|
|
9
|
-
import * as i6 from "
|
|
7
|
+
import * as i4 from "../../radio/RadioGroup";
|
|
8
|
+
import * as i5 from "../../radio/Radio";
|
|
9
|
+
import * as i6 from "../query-builder.directives";
|
|
10
|
+
import * as i7 from "@angular/forms";
|
|
11
|
+
import * as i8 from "@angular/common";
|
|
12
|
+
import * as i9 from "../../common/directives/switch-cases.directive";
|
|
10
13
|
/**
|
|
11
14
|
* Handle selection of field values when a list of options is provided.
|
|
12
15
|
*/
|
|
@@ -20,22 +23,31 @@ NovoDefaultPickerConditionDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.
|
|
|
20
23
|
NovoDefaultPickerConditionDef.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoDefaultPickerConditionDef, selector: "novo-picker-condition-def", usesInheritance: true, ngImport: i0, template: `
|
|
21
24
|
<ng-container novoConditionFieldDef>
|
|
22
25
|
<novo-field *novoConditionOperatorsDef="let formGroup" [formGroup]="formGroup">
|
|
23
|
-
<novo-select [placeholder]="labels.operator" formControlName="operator">
|
|
26
|
+
<novo-select [placeholder]="labels.operator" formControlName="operator" (onSelect)="onOperatorSelect(formGroup)">
|
|
24
27
|
<novo-option value="includeAny">{{ labels.includeAny }}</novo-option>
|
|
25
28
|
<novo-option value="includeAll">{{ labels.includeAll }}</novo-option>
|
|
26
29
|
<novo-option value="excludeAny">{{ labels.exclude }}</novo-option>
|
|
30
|
+
<novo-option value="isNull">{{ labels.isEmpty }}</novo-option>
|
|
27
31
|
</novo-select>
|
|
28
32
|
</novo-field>
|
|
29
|
-
<
|
|
30
|
-
<novo-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
<ng-container *novoConditionInputDef="let formGroup; fieldMeta as meta" [ngSwitch]="formGroup.value.operator" [formGroup]="formGroup">
|
|
34
|
+
<novo-field *novoSwitchCases="['includeAny', 'includeAll', 'excludeAny']">
|
|
35
|
+
<novo-select formControlName="value" [placeholder]="labels.select" [multiple]="true">
|
|
36
|
+
<!-- WHat about optionUrl/optionType -->
|
|
37
|
+
<novo-option *ngFor="let option of meta?.options" [value]="option.value" [attr.data-automation-value]="option.label">
|
|
38
|
+
{{ option.label }}
|
|
39
|
+
</novo-option>
|
|
40
|
+
</novo-select>
|
|
41
|
+
</novo-field>
|
|
42
|
+
<novo-field *novoSwitchCases="['isNull']">
|
|
43
|
+
<novo-radio-group formControlName="value">
|
|
44
|
+
<novo-radio [value]="true">{{ labels.yes }}</novo-radio>
|
|
45
|
+
<novo-radio [value]="false">{{ labels.no }}</novo-radio>
|
|
46
|
+
</novo-radio-group>
|
|
47
|
+
</novo-field>
|
|
48
|
+
</ng-container>
|
|
37
49
|
</ng-container>
|
|
38
|
-
`, isInline: true, components: [{ type: i1.NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "width"], outputs: ["valueChanges", "stateChanges"] }, { type: i2.NovoSelectElement, selector: "novo-select", inputs: ["disabled", "required", "tabIndex", "id", "name", "options", "placeholder", "readonly", "headerConfig", "position", "overlayWidth", "overlayHeight", "displayWith", "compareWith", "value", "multiple"], outputs: ["onSelect", "selectionChange", "valueChange", "openedChange", "opened", "closed"] }, { type: i3.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }], directives: [{ type:
|
|
50
|
+
`, isInline: true, components: [{ type: i1.NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "width"], outputs: ["valueChanges", "stateChanges"] }, { type: i2.NovoSelectElement, selector: "novo-select", inputs: ["disabled", "required", "tabIndex", "id", "name", "options", "placeholder", "readonly", "headerConfig", "position", "overlayWidth", "overlayHeight", "displayWith", "compareWith", "value", "multiple"], outputs: ["onSelect", "selectionChange", "valueChange", "openedChange", "opened", "closed"] }, { type: i3.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { type: i4.NovoRadioGroup, selector: "novo-radio-group", inputs: ["id", "tabindex", "errorStateMatcher", "appearance", "value", "name", "disabled", "required", "placeholder"], outputs: ["change", "blur"] }, { type: i5.NovoRadioElement, selector: "novo-radio", inputs: ["id", "name", "tabindex", "vertical", "label", "button", "theme", "size", "icon", "color", "checked", "value", "disabled"], outputs: ["change", "blur", "focus"] }], directives: [{ type: i6.NovoConditionFieldDef, selector: "[novoConditionFieldDef]" }, { type: i6.NovoConditionOperatorsDef, selector: "[novoConditionOperatorsDef]" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.NovoConditionInputDef, selector: "[novoConditionInputDef]" }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.SwitchCasesDirective, selector: "[novoSwitchCases]", inputs: ["novoSwitchCases"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
39
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoDefaultPickerConditionDef, decorators: [{
|
|
40
52
|
type: Component,
|
|
41
53
|
args: [{
|
|
@@ -43,24 +55,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
43
55
|
template: `
|
|
44
56
|
<ng-container novoConditionFieldDef>
|
|
45
57
|
<novo-field *novoConditionOperatorsDef="let formGroup" [formGroup]="formGroup">
|
|
46
|
-
<novo-select [placeholder]="labels.operator" formControlName="operator">
|
|
58
|
+
<novo-select [placeholder]="labels.operator" formControlName="operator" (onSelect)="onOperatorSelect(formGroup)">
|
|
47
59
|
<novo-option value="includeAny">{{ labels.includeAny }}</novo-option>
|
|
48
60
|
<novo-option value="includeAll">{{ labels.includeAll }}</novo-option>
|
|
49
61
|
<novo-option value="excludeAny">{{ labels.exclude }}</novo-option>
|
|
62
|
+
<novo-option value="isNull">{{ labels.isEmpty }}</novo-option>
|
|
50
63
|
</novo-select>
|
|
51
64
|
</novo-field>
|
|
52
|
-
<
|
|
53
|
-
<novo-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
65
|
+
<ng-container *novoConditionInputDef="let formGroup; fieldMeta as meta" [ngSwitch]="formGroup.value.operator" [formGroup]="formGroup">
|
|
66
|
+
<novo-field *novoSwitchCases="['includeAny', 'includeAll', 'excludeAny']">
|
|
67
|
+
<novo-select formControlName="value" [placeholder]="labels.select" [multiple]="true">
|
|
68
|
+
<!-- WHat about optionUrl/optionType -->
|
|
69
|
+
<novo-option *ngFor="let option of meta?.options" [value]="option.value" [attr.data-automation-value]="option.label">
|
|
70
|
+
{{ option.label }}
|
|
71
|
+
</novo-option>
|
|
72
|
+
</novo-select>
|
|
73
|
+
</novo-field>
|
|
74
|
+
<novo-field *novoSwitchCases="['isNull']">
|
|
75
|
+
<novo-radio-group formControlName="value">
|
|
76
|
+
<novo-radio [value]="true">{{ labels.yes }}</novo-radio>
|
|
77
|
+
<novo-radio [value]="false">{{ labels.no }}</novo-radio>
|
|
78
|
+
</novo-radio-group>
|
|
79
|
+
</novo-field>
|
|
80
|
+
</ng-container>
|
|
60
81
|
</ng-container>
|
|
61
82
|
`,
|
|
62
83
|
encapsulation: ViewEncapsulation.None,
|
|
63
84
|
changeDetection: ChangeDetectionStrategy.Default,
|
|
64
85
|
}]
|
|
65
86
|
}] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLWNvbmRpdGlvbi5kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbm92by1lbGVtZW50cy9zcmMvZWxlbWVudHMvcXVlcnktYnVpbGRlci9jb25kaXRpb24tZGVmaW5pdGlvbnMvcGlja2VyLWNvbmRpdGlvbi5kZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7O0FBRTVFOztHQUVHO0FBa0NILE1BQU0sT0FBTyw2QkFBOEIsU0FBUSx5QkFBeUI7SUFqQzVFOztRQWtDRSxvQkFBZSxHQUFHLFlBQVksQ0FBQztLQUNoQzs7MkhBRlksNkJBQTZCOytHQUE3Qiw2QkFBNkIsd0ZBL0I5Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJUOzRGQUlVLDZCQUE2QjtrQkFqQ3pDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQ7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxPQUFPO2lCQUNqRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbmRpdGlvbkZpZWxkRGVmIH0gZnJvbSAnLi9hYnN0cmFjdC1jb25kaXRpb24uZGVmaW5pdGlvbic7XG5cbi8qKlxuICogSGFuZGxlIHNlbGVjdGlvbiBvZiBmaWVsZCB2YWx1ZXMgd2hlbiBhIGxpc3Qgb2Ygb3B0aW9ucyBpcyBwcm92aWRlZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm92by1waWNrZXItY29uZGl0aW9uLWRlZicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciBub3ZvQ29uZGl0aW9uRmllbGREZWY+XG4gICAgICA8bm92by1maWVsZCAqbm92b0NvbmRpdGlvbk9wZXJhdG9yc0RlZj1cImxldCBmb3JtR3JvdXBcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgICA8bm92by1zZWxlY3QgW3BsYWNlaG9sZGVyXT1cImxhYmVscy5vcGVyYXRvclwiIGZvcm1Db250cm9sTmFtZT1cIm9wZXJhdG9yXCIgKG9uU2VsZWN0KT1cIm9uT3BlcmF0b3JTZWxlY3QoZm9ybUdyb3VwKVwiPlxuICAgICAgICAgIDxub3ZvLW9wdGlvbiB2YWx1ZT1cImluY2x1ZGVBbnlcIj57eyBsYWJlbHMuaW5jbHVkZUFueSB9fTwvbm92by1vcHRpb24+XG4gICAgICAgICAgPG5vdm8tb3B0aW9uIHZhbHVlPVwiaW5jbHVkZUFsbFwiPnt7IGxhYmVscy5pbmNsdWRlQWxsIH19PC9ub3ZvLW9wdGlvbj5cbiAgICAgICAgICA8bm92by1vcHRpb24gdmFsdWU9XCJleGNsdWRlQW55XCI+e3sgbGFiZWxzLmV4Y2x1ZGUgfX08L25vdm8tb3B0aW9uPlxuICAgICAgICAgIDxub3ZvLW9wdGlvbiB2YWx1ZT1cImlzTnVsbFwiPnt7IGxhYmVscy5pc0VtcHR5IH19PC9ub3ZvLW9wdGlvbj5cbiAgICAgICAgPC9ub3ZvLXNlbGVjdD5cbiAgICAgIDwvbm92by1maWVsZD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5vdm9Db25kaXRpb25JbnB1dERlZj1cImxldCBmb3JtR3JvdXA7IGZpZWxkTWV0YSBhcyBtZXRhXCIgW25nU3dpdGNoXT1cImZvcm1Hcm91cC52YWx1ZS5vcGVyYXRvclwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICAgIDxub3ZvLWZpZWxkICpub3ZvU3dpdGNoQ2FzZXM9XCJbJ2luY2x1ZGVBbnknLCAnaW5jbHVkZUFsbCcsICdleGNsdWRlQW55J11cIj5cbiAgICAgICAgICA8bm92by1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIiBbcGxhY2Vob2xkZXJdPVwibGFiZWxzLnNlbGVjdFwiIFttdWx0aXBsZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8IS0tIFdIYXQgYWJvdXQgb3B0aW9uVXJsL29wdGlvblR5cGUgLS0+XG4gICAgICAgICAgICA8bm92by1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBtZXRhPy5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiIFthdHRyLmRhdGEtYXV0b21hdGlvbi12YWx1ZV09XCJvcHRpb24ubGFiZWxcIj5cbiAgICAgICAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgICAgICAgICA8L25vdm8tb3B0aW9uPlxuICAgICAgICAgIDwvbm92by1zZWxlY3Q+XG4gICAgICAgIDwvbm92by1maWVsZD5cbiAgICAgICAgPG5vdm8tZmllbGQgKm5vdm9Td2l0Y2hDYXNlcz1cIlsnaXNOdWxsJ11cIj5cbiAgICAgICAgICA8bm92by1yYWRpby1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiPlxuICAgICAgICAgICAgPG5vdm8tcmFkaW8gW3ZhbHVlXT1cInRydWVcIj57eyBsYWJlbHMueWVzIH19PC9ub3ZvLXJhZGlvPlxuICAgICAgICAgICAgPG5vdm8tcmFkaW8gW3ZhbHVlXT1cImZhbHNlXCI+e3sgbGFiZWxzLm5vIH19PC9ub3ZvLXJhZGlvPlxuICAgICAgICAgIDwvbm92by1yYWRpby1ncm91cD5cbiAgICAgICAgPC9ub3ZvLWZpZWxkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbn0pXG5leHBvcnQgY2xhc3MgTm92b0RlZmF1bHRQaWNrZXJDb25kaXRpb25EZWYgZXh0ZW5kcyBBYnN0cmFjdENvbmRpdGlvbkZpZWxkRGVmIHtcbiAgZGVmYXVsdE9wZXJhdG9yID0gJ2luY2x1ZGVBbnknO1xufVxuIl19
|