novo-elements 7.4.0 → 7.5.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/picker/Picker.scss +8 -1
- package/elements/query-builder/condition-builder/condition-builder.component.scss +0 -1
- package/esm2020/src/elements/chips/ChipInput.mjs +2 -2
- package/esm2020/src/elements/data-table/data-table.component.mjs +14 -11
- package/esm2020/src/elements/data-table/interfaces.mjs +1 -1
- package/esm2020/src/elements/data-table/state/data-table-state.service.mjs +48 -30
- package/esm2020/src/elements/field/formats/date-format.mjs +2 -4
- package/esm2020/src/elements/field/formats/date-range-format.mjs +1 -2
- package/esm2020/src/elements/field/formats/time-format.mjs +2 -4
- package/esm2020/src/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.mjs +16 -21
- package/esm2020/src/elements/query-builder/condition-builder/condition-builder.component.mjs +1 -5
- package/esm2020/src/elements/query-builder/condition-definitions/string-condition.definition.mjs +9 -12
- package/esm2020/src/elements/query-builder/condition-group/condition-group.component.mjs +4 -4
- package/esm2020/src/elements/query-builder/criteria-builder/criteria-builder.component.mjs +2 -2
- package/fesm2015/novo-elements.mjs +89 -84
- package/fesm2015/novo-elements.mjs.map +1 -1
- package/fesm2020/novo-elements.mjs +88 -84
- package/fesm2020/novo-elements.mjs.map +1 -1
- package/package.json +1 -1
- package/src/elements/chips/ChipInput.d.ts +1 -1
- package/src/elements/data-table/interfaces.d.ts +1 -0
- package/src/elements/data-table/state/data-table-state.service.d.ts +5 -1
- package/src/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.d.ts +2 -5
- package/src/elements/query-builder/condition-definitions/string-condition.definition.d.ts +3 -4
- package/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.scss +0 -0
|
@@ -29712,26 +29712,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
29712
29712
|
}] } });
|
|
29713
29713
|
|
|
29714
29714
|
// NG2
|
|
29715
|
-
class WorkersCompCodesPickerResults extends
|
|
29715
|
+
class WorkersCompCodesPickerResults extends PickerResults {
|
|
29716
29716
|
constructor(element, sanitizer, labels, ref) {
|
|
29717
|
-
super(element, ref);
|
|
29717
|
+
super(element, labels, ref);
|
|
29718
29718
|
this.sanitizer = sanitizer;
|
|
29719
29719
|
this.labels = labels;
|
|
29720
|
-
this.active = true;
|
|
29721
|
-
this.sanitizer = sanitizer;
|
|
29722
|
-
}
|
|
29723
|
-
get isHidden() {
|
|
29724
|
-
return this.matches.length === 0;
|
|
29725
|
-
}
|
|
29726
|
-
getListElement() {
|
|
29727
|
-
return this.element.nativeElement.querySelector('novo-list');
|
|
29728
29720
|
}
|
|
29729
29721
|
sanitizeHTML(compCode, name) {
|
|
29730
29722
|
return this.sanitizer.bypassSecurityTrustHtml(`${compCode} | ${name}`);
|
|
29731
29723
|
}
|
|
29732
29724
|
}
|
|
29733
29725
|
WorkersCompCodesPickerResults.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WorkersCompCodesPickerResults, deps: [{ token: i0.ElementRef }, { token: i1$2.DomSanitizer }, { token: NovoLabelService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
29734
|
-
WorkersCompCodesPickerResults.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: WorkersCompCodesPickerResults, selector: "workers-comp-codes-picker-results", host: {
|
|
29726
|
+
WorkersCompCodesPickerResults.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: WorkersCompCodesPickerResults, selector: "workers-comp-codes-picker-results", host: { classAttribute: "active" }, usesInheritance: true, ngImport: i0, template: `
|
|
29735
29727
|
<section class="picker-loading" *ngIf="isLoading && !matches?.length">
|
|
29736
29728
|
<novo-loading theme="line"></novo-loading>
|
|
29737
29729
|
</section>
|
|
@@ -29769,11 +29761,17 @@ WorkersCompCodesPickerResults.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
29769
29761
|
</novo-list-item>
|
|
29770
29762
|
<novo-loading theme="line" *ngIf="isLoading && matches?.length > 0"></novo-loading>
|
|
29771
29763
|
</novo-list>
|
|
29764
|
+
<div class="picker-loader" *ngIf="isLoading && matches.length === 0"><novo-loading theme="line"></novo-loading></div>
|
|
29765
|
+
<p class="picker-error" *ngIf="hasError">{{ labels.pickerError }}</p>
|
|
29766
|
+
<p class="picker-null-results" *ngIf="hasNonErrorMessage">{{ getEmptyMessage() }}</p>
|
|
29772
29767
|
`, isInline: true, components: [{ type: NovoLoadingElement, selector: "novo-loading", inputs: ["theme", "color", "size"] }, { type: NovoListElement, selector: "novo-list", inputs: ["theme", "direction"] }, { type: NovoListItemElement, selector: "novo-list-item, a[list-item], button[list-item]" }, { type: NovoItemHeaderElement, selector: "item-header, novo-item-header" }, { type: NovoItemTitleElement, selector: "item-title, novo-item-title" }, { type: NovoItemContentElement, selector: "item-content, novo-item-content", inputs: ["direction"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ThemeColorDirective, selector: "[theme]", inputs: ["theme"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
29773
29768
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WorkersCompCodesPickerResults, decorators: [{
|
|
29774
29769
|
type: Component,
|
|
29775
29770
|
args: [{
|
|
29776
29771
|
selector: 'workers-comp-codes-picker-results',
|
|
29772
|
+
host: {
|
|
29773
|
+
class: 'active',
|
|
29774
|
+
},
|
|
29777
29775
|
template: `
|
|
29778
29776
|
<section class="picker-loading" *ngIf="isLoading && !matches?.length">
|
|
29779
29777
|
<novo-loading theme="line"></novo-loading>
|
|
@@ -29812,15 +29810,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
29812
29810
|
</novo-list-item>
|
|
29813
29811
|
<novo-loading theme="line" *ngIf="isLoading && matches?.length > 0"></novo-loading>
|
|
29814
29812
|
</novo-list>
|
|
29813
|
+
<div class="picker-loader" *ngIf="isLoading && matches.length === 0"><novo-loading theme="line"></novo-loading></div>
|
|
29814
|
+
<p class="picker-error" *ngIf="hasError">{{ labels.pickerError }}</p>
|
|
29815
|
+
<p class="picker-null-results" *ngIf="hasNonErrorMessage">{{ getEmptyMessage() }}</p>
|
|
29815
29816
|
`,
|
|
29816
29817
|
}]
|
|
29817
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.DomSanitizer }, { type: NovoLabelService }, { type: i0.ChangeDetectorRef }]; }
|
|
29818
|
-
type: HostBinding,
|
|
29819
|
-
args: ['class.active']
|
|
29820
|
-
}], isHidden: [{
|
|
29821
|
-
type: HostBinding,
|
|
29822
|
-
args: ['hidden']
|
|
29823
|
-
}] } });
|
|
29818
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.DomSanitizer }, { type: NovoLabelService }, { type: i0.ChangeDetectorRef }]; } });
|
|
29824
29819
|
|
|
29825
29820
|
// NG2
|
|
29826
29821
|
// Value accessor for the component (supports ngModel)
|
|
@@ -33269,9 +33264,7 @@ const DATEFORMAT_VALUE_ACCESSOR = {
|
|
|
33269
33264
|
multi: true,
|
|
33270
33265
|
};
|
|
33271
33266
|
class NovoDateFormatDirective extends IMaskDirective {
|
|
33272
|
-
constructor(_element, _renderer, _factory,
|
|
33273
|
-
// @Optional() @Inject(PLATFORM_ID) _platformId: string,
|
|
33274
|
-
_compositionMode, labels) {
|
|
33267
|
+
constructor(_element, _renderer, _factory, _compositionMode, labels) {
|
|
33275
33268
|
super(_element, _renderer, _factory, _compositionMode);
|
|
33276
33269
|
this._element = _element;
|
|
33277
33270
|
this.labels = labels;
|
|
@@ -33397,7 +33390,6 @@ class NovoDateRangeFormatDirective extends IMaskDirective {
|
|
|
33397
33390
|
this.unmask = false;
|
|
33398
33391
|
this.imask = {
|
|
33399
33392
|
mask: 'm{/}`d{/}`Y - m{/}`d{/}`Y',
|
|
33400
|
-
// pattern: 'm{/}`d{/}`Y - m{/}`d{/}`Y',
|
|
33401
33393
|
overwrite: true,
|
|
33402
33394
|
autofix: true,
|
|
33403
33395
|
lazy: false,
|
|
@@ -33527,9 +33519,7 @@ var TIME_FORMATS;
|
|
|
33527
33519
|
TIME_FORMATS["STRING"] = "string";
|
|
33528
33520
|
})(TIME_FORMATS || (TIME_FORMATS = {}));
|
|
33529
33521
|
class NovoTimeFormatDirective extends IMaskDirective {
|
|
33530
|
-
constructor(_element, _renderer, _factory,
|
|
33531
|
-
// @Optional() @Inject(PLATFORM_ID) _platformId: string,
|
|
33532
|
-
_compositionMode, labels, cdr) {
|
|
33522
|
+
constructor(_element, _renderer, _factory, _compositionMode, labels, cdr) {
|
|
33533
33523
|
super(_element, _renderer, _factory, _compositionMode);
|
|
33534
33524
|
this._element = _element;
|
|
33535
33525
|
this.labels = labels;
|
|
@@ -35184,7 +35174,7 @@ class NovoChipInput {
|
|
|
35184
35174
|
focus(options) {
|
|
35185
35175
|
this._inputElement.focus(options);
|
|
35186
35176
|
}
|
|
35187
|
-
/**
|
|
35177
|
+
/** Clears the input. */
|
|
35188
35178
|
clearValue() {
|
|
35189
35179
|
var _a;
|
|
35190
35180
|
this._inputElement.value = '';
|
|
@@ -37295,6 +37285,8 @@ class DataTableState {
|
|
|
37295
37285
|
this.isForceRefresh = false;
|
|
37296
37286
|
this.updates = new EventEmitter();
|
|
37297
37287
|
this.retainSelected = false;
|
|
37288
|
+
this.savedSearchName = undefined;
|
|
37289
|
+
this.displayedColumns = undefined;
|
|
37298
37290
|
}
|
|
37299
37291
|
get userFiltered() {
|
|
37300
37292
|
return !!(this.filter || this.sort || this.globalSearch || this.outsideFilter || this.where);
|
|
@@ -37306,27 +37298,7 @@ class DataTableState {
|
|
|
37306
37298
|
return Array.from(this.selectedRows.values());
|
|
37307
37299
|
}
|
|
37308
37300
|
reset(fireUpdate = true, persistUserFilters) {
|
|
37309
|
-
|
|
37310
|
-
this.sort = undefined;
|
|
37311
|
-
this.globalSearch = undefined;
|
|
37312
|
-
this.filter = undefined;
|
|
37313
|
-
this.where = undefined;
|
|
37314
|
-
}
|
|
37315
|
-
this.page = 0;
|
|
37316
|
-
if (!this.retainSelected) {
|
|
37317
|
-
this.selectedRows.clear();
|
|
37318
|
-
this.resetSource.next();
|
|
37319
|
-
}
|
|
37320
|
-
this.onSortFilterChange();
|
|
37321
|
-
this.retainSelected = false;
|
|
37322
|
-
if (fireUpdate) {
|
|
37323
|
-
this.updates.emit({
|
|
37324
|
-
sort: this.sort,
|
|
37325
|
-
filter: this.filter,
|
|
37326
|
-
globalSearch: this.globalSearch,
|
|
37327
|
-
where: this.where,
|
|
37328
|
-
});
|
|
37329
|
-
}
|
|
37301
|
+
this.setState({}, fireUpdate, persistUserFilters);
|
|
37330
37302
|
}
|
|
37331
37303
|
clearSort(fireUpdate = true) {
|
|
37332
37304
|
this.sort = undefined;
|
|
@@ -37408,6 +37380,7 @@ class DataTableState {
|
|
|
37408
37380
|
filter: this.filter,
|
|
37409
37381
|
globalSearch: this.globalSearch,
|
|
37410
37382
|
where: this.where,
|
|
37383
|
+
savedSearchName: this.savedSearchName,
|
|
37411
37384
|
});
|
|
37412
37385
|
}
|
|
37413
37386
|
setInitialSortFilter(preferences) {
|
|
@@ -37419,24 +37392,60 @@ class DataTableState {
|
|
|
37419
37392
|
this.sort = preferences.sort;
|
|
37420
37393
|
}
|
|
37421
37394
|
if (preferences.filter) {
|
|
37422
|
-
|
|
37423
|
-
filters.forEach((filter) => {
|
|
37424
|
-
filter.value =
|
|
37425
|
-
filter.selectedOption && filter.type
|
|
37426
|
-
? NovoDataTableFilterUtils.constructFilter(filter.selectedOption, filter.type)
|
|
37427
|
-
: filter.value;
|
|
37428
|
-
});
|
|
37429
|
-
this.filter = filters;
|
|
37395
|
+
this.filter = this.transformFilters(preferences.filter);
|
|
37430
37396
|
}
|
|
37431
37397
|
if (preferences.globalSearch) {
|
|
37432
37398
|
this.globalSearch = preferences.globalSearch;
|
|
37433
37399
|
}
|
|
37400
|
+
if (preferences.savedSearchName) {
|
|
37401
|
+
this.savedSearchName = preferences.savedSearchName;
|
|
37402
|
+
}
|
|
37403
|
+
}
|
|
37404
|
+
}
|
|
37405
|
+
setState(preferences, fireUpdate = true, persistUserFilters = false) {
|
|
37406
|
+
var _a;
|
|
37407
|
+
if (!persistUserFilters) {
|
|
37408
|
+
this.where = preferences.where;
|
|
37409
|
+
this.sort = preferences.sort;
|
|
37410
|
+
this.filter = preferences.filter ? this.transformFilters(preferences.filter) : undefined;
|
|
37411
|
+
this.globalSearch = preferences.globalSearch;
|
|
37412
|
+
this.savedSearchName = preferences.savedSearchName;
|
|
37413
|
+
if ((_a = preferences.displayedColumns) === null || _a === void 0 ? void 0 : _a.length) {
|
|
37414
|
+
this.displayedColumns = preferences.displayedColumns;
|
|
37415
|
+
}
|
|
37416
|
+
}
|
|
37417
|
+
this.page = 0;
|
|
37418
|
+
if (!this.retainSelected) {
|
|
37419
|
+
this.selectedRows.clear();
|
|
37420
|
+
this.resetSource.next();
|
|
37421
|
+
}
|
|
37422
|
+
this.onSortFilterChange();
|
|
37423
|
+
this.retainSelected = false;
|
|
37424
|
+
if (fireUpdate) {
|
|
37425
|
+
this.updates.emit({
|
|
37426
|
+
sort: this.sort,
|
|
37427
|
+
filter: this.filter,
|
|
37428
|
+
globalSearch: this.globalSearch,
|
|
37429
|
+
where: this.where,
|
|
37430
|
+
savedSearchName: this.savedSearchName,
|
|
37431
|
+
displayedColumns: this.displayedColumns,
|
|
37432
|
+
});
|
|
37434
37433
|
}
|
|
37435
37434
|
}
|
|
37436
37435
|
checkRetainment(caller, allMatchingSelected = false) {
|
|
37437
37436
|
var _a;
|
|
37438
37437
|
this.retainSelected = ((_a = this.selectionOptions) === null || _a === void 0 ? void 0 : _a.some((option) => option.label === caller)) || this.retainSelected || allMatchingSelected;
|
|
37439
37438
|
}
|
|
37439
|
+
transformFilters(filters) {
|
|
37440
|
+
const filterArray = Helpers.convertToArray(filters);
|
|
37441
|
+
filterArray.forEach((filter) => {
|
|
37442
|
+
filter.value =
|
|
37443
|
+
filter.selectedOption && filter.type
|
|
37444
|
+
? NovoDataTableFilterUtils.constructFilter(filter.selectedOption, filter.type)
|
|
37445
|
+
: filter.value;
|
|
37446
|
+
});
|
|
37447
|
+
return filterArray;
|
|
37448
|
+
}
|
|
37440
37449
|
}
|
|
37441
37450
|
DataTableState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DataTableState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37442
37451
|
DataTableState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DataTableState });
|
|
@@ -40878,6 +40887,7 @@ class NovoDataTable {
|
|
|
40878
40887
|
filter: event.filter,
|
|
40879
40888
|
globalSearch: event.globalSearch,
|
|
40880
40889
|
where: event.where,
|
|
40890
|
+
savedSearchName: event.savedSearchName,
|
|
40881
40891
|
});
|
|
40882
40892
|
this.performInteractions('change');
|
|
40883
40893
|
}
|
|
@@ -41010,17 +41020,19 @@ class NovoDataTable {
|
|
|
41010
41020
|
}
|
|
41011
41021
|
modifyCellHeaderMultiSelectFilterOptions(column, newOptions) {
|
|
41012
41022
|
const header = this.cellHeaders.find((cellHeader) => cellHeader.id === column);
|
|
41013
|
-
if (header
|
|
41014
|
-
|
|
41015
|
-
|
|
41016
|
-
|
|
41017
|
-
|
|
41018
|
-
|
|
41019
|
-
|
|
41020
|
-
|
|
41023
|
+
if (header) {
|
|
41024
|
+
if (header.config && header.config.filterConfig && header.config.filterConfig.options) {
|
|
41025
|
+
const filterOptions = header.config.filterConfig.options;
|
|
41026
|
+
const optionsToKeep = filterOptions.filter((opt) => header.isSelected(opt, header.multiSelectedOptions) &&
|
|
41027
|
+
!newOptions.find((newOpt) => opt.value && newOpt.value && newOpt.value === opt.value));
|
|
41028
|
+
header.config.filterConfig.options = [...optionsToKeep, ...newOptions];
|
|
41029
|
+
}
|
|
41030
|
+
else {
|
|
41031
|
+
header.config.filterConfig.options = newOptions;
|
|
41032
|
+
}
|
|
41033
|
+
header.setupFilterOptions();
|
|
41034
|
+
header.changeDetectorRef.markForCheck();
|
|
41021
41035
|
}
|
|
41022
|
-
header.setupFilterOptions();
|
|
41023
|
-
header.changeDetectorRef.markForCheck();
|
|
41024
41036
|
}
|
|
41025
41037
|
ngOnDestroy() {
|
|
41026
41038
|
var _a, _b, _c, _d, _e;
|
|
@@ -56591,7 +56603,6 @@ class ConditionBuilderComponent {
|
|
|
56591
56603
|
const { fields = [] } = this.qbs.config || {};
|
|
56592
56604
|
fields.length && this.changeFieldOptions(fields[0]);
|
|
56593
56605
|
this.searches = this.searchTerm.valueChanges.pipe(debounceTime(300), distinctUntilChanged()).subscribe((term) => {
|
|
56594
|
-
// this.parentForm.get('field').setValue(null);
|
|
56595
56606
|
this.results$ = Promise.resolve(this.fieldConfig.options.filter((f) => { var _a; return f.name.toLowerCase().includes(term.toLowerCase()) || ((_a = f.label) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(term.toLowerCase())); }));
|
|
56596
56607
|
this.cdr.markForCheck();
|
|
56597
56608
|
});
|
|
@@ -56608,8 +56619,6 @@ class ConditionBuilderComponent {
|
|
|
56608
56619
|
[this._operatorOutlet.viewContainer, this._inputOutlet.viewContainer].forEach((def) => {
|
|
56609
56620
|
def.clear();
|
|
56610
56621
|
});
|
|
56611
|
-
// this._contentFieldTypeDefs = [];
|
|
56612
|
-
// this._contentFieldDefs = [];
|
|
56613
56622
|
this._onDestroy.next();
|
|
56614
56623
|
this._onDestroy.complete();
|
|
56615
56624
|
}
|
|
@@ -56618,7 +56627,6 @@ class ConditionBuilderComponent {
|
|
|
56618
56627
|
* @param fieldConfig
|
|
56619
56628
|
*/
|
|
56620
56629
|
changeFieldOptions(fieldConfig) {
|
|
56621
|
-
// this.fields = entity.filter(term);
|
|
56622
56630
|
this.fieldConfig = fieldConfig;
|
|
56623
56631
|
this.searchTerm.setValue('');
|
|
56624
56632
|
this.results$ = Promise.resolve(this.fieldConfig.options);
|
|
@@ -57211,9 +57219,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
57211
57219
|
}] });
|
|
57212
57220
|
|
|
57213
57221
|
/**
|
|
57214
|
-
*
|
|
57215
|
-
* condition can be
|
|
57216
|
-
*
|
|
57222
|
+
* Constructing filters against String fields can be complex. Each "chip" added to the
|
|
57223
|
+
* condition can be independently used to query a database. Not all systems support
|
|
57224
|
+
* querying within a text column, ie sql unless LIKE is enabled. This could result in a
|
|
57217
57225
|
* performance penalty.
|
|
57218
57226
|
*/
|
|
57219
57227
|
class NovoDefaultStringConditionDef extends AbstractConditionFieldDef {
|
|
@@ -57221,7 +57229,6 @@ class NovoDefaultStringConditionDef extends AbstractConditionFieldDef {
|
|
|
57221
57229
|
super(...arguments);
|
|
57222
57230
|
this.separatorKeysCodes = [ENTER, COMMA];
|
|
57223
57231
|
this.defaultOperator = 'includeAny';
|
|
57224
|
-
this.model = '';
|
|
57225
57232
|
}
|
|
57226
57233
|
getValue(formGroup) {
|
|
57227
57234
|
var _a;
|
|
@@ -57262,15 +57269,14 @@ NovoDefaultStringConditionDef.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
57262
57269
|
<novo-option value="excludeAny">{{ labels.exclude }}</novo-option>
|
|
57263
57270
|
</novo-select>
|
|
57264
57271
|
</novo-field>
|
|
57265
|
-
<novo-field *novoConditionInputDef="let formGroup">
|
|
57266
|
-
<novo-chip-list #chipList aria-label="filter value">
|
|
57272
|
+
<novo-field *novoConditionInputDef="let formGroup" [formGroup]="formGroup">
|
|
57273
|
+
<novo-chip-list #chipList aria-label="filter value" formControlName="value">
|
|
57267
57274
|
<novo-chip *ngFor="let chip of formGroup.value?.value || []" [value]="chip" (removed)="remove(chip, formGroup)">
|
|
57268
57275
|
{{ chip }}
|
|
57269
57276
|
<novo-icon novoChipRemove>close</novo-icon>
|
|
57270
57277
|
</novo-chip>
|
|
57271
57278
|
<input
|
|
57272
57279
|
novoChipInput
|
|
57273
|
-
[(ngModel)]="model"
|
|
57274
57280
|
[placeholder]="labels.typeToAddChips"
|
|
57275
57281
|
autocomplete="off"
|
|
57276
57282
|
(novoChipInputTokenEnd)="add($event, formGroup)"
|
|
@@ -57279,7 +57285,7 @@ NovoDefaultStringConditionDef.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
57279
57285
|
<novo-autocomplete></novo-autocomplete>
|
|
57280
57286
|
</novo-field>
|
|
57281
57287
|
</ng-container>
|
|
57282
|
-
`, isInline: true, components: [{ type: NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "width"], outputs: ["valueChanges", "stateChanges"] }, { type: 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: NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { type: NovoChipList, selector: "novo-chip-list", inputs: ["errorStateMatcher", "multiple", "stacked", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["novoChipList"] }, { type: NovoChipElement, selector: "novo-chip, [novo-chip]", inputs: ["color", "tabIndex", "size", "type", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"] }, { type: NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { type: NovoAutocompleteElement, selector: "novo-autocomplete", inputs: ["tabIndex", "triggerOn", "displayWith", "aria-label", "multiple", "disabled"], outputs: ["optionSelected", "optionActivated"], exportAs: ["novoAutocomplete"] }], directives: [{ type: NovoConditionFieldDef, selector: "[novoConditionFieldDef]" }, { type: NovoConditionOperatorsDef, selector: "[novoConditionOperatorsDef]" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: NovoConditionInputDef, selector: "[novoConditionInputDef]" }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: NovoChipRemove, selector: "[novoChipRemove]" }, { type: NovoChipInput, selector: "input[novoChipInput]", inputs: ["novoChipInputAddOnBlur", "novoChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["novoChipInputTokenEnd"], exportAs: ["novoChipInput", "novoChipInputFor"] }
|
|
57288
|
+
`, isInline: true, components: [{ type: NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "width"], outputs: ["valueChanges", "stateChanges"] }, { type: 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: NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { type: NovoChipList, selector: "novo-chip-list", inputs: ["errorStateMatcher", "multiple", "stacked", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["novoChipList"] }, { type: NovoChipElement, selector: "novo-chip, [novo-chip]", inputs: ["color", "tabIndex", "size", "type", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"] }, { type: NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { type: NovoAutocompleteElement, selector: "novo-autocomplete", inputs: ["tabIndex", "triggerOn", "displayWith", "aria-label", "multiple", "disabled"], outputs: ["optionSelected", "optionActivated"], exportAs: ["novoAutocomplete"] }], directives: [{ type: NovoConditionFieldDef, selector: "[novoConditionFieldDef]" }, { type: NovoConditionOperatorsDef, selector: "[novoConditionOperatorsDef]" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: NovoConditionInputDef, selector: "[novoConditionInputDef]" }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: NovoChipRemove, selector: "[novoChipRemove]" }, { type: NovoChipInput, selector: "input[novoChipInput]", inputs: ["novoChipInputAddOnBlur", "novoChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["novoChipInputTokenEnd"], exportAs: ["novoChipInput", "novoChipInputFor"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
57283
57289
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoDefaultStringConditionDef, decorators: [{
|
|
57284
57290
|
type: Component,
|
|
57285
57291
|
args: [{
|
|
@@ -57294,15 +57300,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
57294
57300
|
<novo-option value="excludeAny">{{ labels.exclude }}</novo-option>
|
|
57295
57301
|
</novo-select>
|
|
57296
57302
|
</novo-field>
|
|
57297
|
-
<novo-field *novoConditionInputDef="let formGroup">
|
|
57298
|
-
<novo-chip-list #chipList aria-label="filter value">
|
|
57303
|
+
<novo-field *novoConditionInputDef="let formGroup" [formGroup]="formGroup">
|
|
57304
|
+
<novo-chip-list #chipList aria-label="filter value" formControlName="value">
|
|
57299
57305
|
<novo-chip *ngFor="let chip of formGroup.value?.value || []" [value]="chip" (removed)="remove(chip, formGroup)">
|
|
57300
57306
|
{{ chip }}
|
|
57301
57307
|
<novo-icon novoChipRemove>close</novo-icon>
|
|
57302
57308
|
</novo-chip>
|
|
57303
57309
|
<input
|
|
57304
57310
|
novoChipInput
|
|
57305
|
-
[(ngModel)]="model"
|
|
57306
57311
|
[placeholder]="labels.typeToAddChips"
|
|
57307
57312
|
autocomplete="off"
|
|
57308
57313
|
(novoChipInputTokenEnd)="add($event, formGroup)"
|
|
@@ -57377,7 +57382,7 @@ class ConditionGroupComponent {
|
|
|
57377
57382
|
return this.formBuilder.group({
|
|
57378
57383
|
field: [field, Validators.required],
|
|
57379
57384
|
operator: [operator, Validators.required],
|
|
57380
|
-
value: [value
|
|
57385
|
+
value: [value],
|
|
57381
57386
|
});
|
|
57382
57387
|
}
|
|
57383
57388
|
cantRemoveRow(isFirst) {
|
|
@@ -57387,12 +57392,12 @@ class ConditionGroupComponent {
|
|
|
57387
57392
|
}
|
|
57388
57393
|
}
|
|
57389
57394
|
ConditionGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ConditionGroupComponent, deps: [{ token: QueryBuilderService }, { token: NovoLabelService }, { token: i5.ControlContainer }, { token: i5.FormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
57390
|
-
ConditionGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ConditionGroupComponent, selector: "novo-condition-group", inputs: { controlName: "controlName", groupIndex: "groupIndex" }, host: { classAttribute: "novo-condition-group" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ConditionGroupComponent), multi: true }], ngImport: i0, template: "<div [formGroup]=\"parentForm\" class=\"condition-group-container\">\n <novo-stack [formArrayName]=\"controlName\" gap=\"md\">\n <ng-container\n *ngFor=\"let andGroup of root.controls; let andIndex = index; let isFirst = first;let isLast = last;\">\n <ng-container [formGroupName]=\"andIndex\">\n <novo-flex class=\"condition-row\" align=\"end\" gap=\"sm\">\n <novo-dropdown *ngIf=\"!isFirst && qbs.allowedGroupings.length > 1; else labeledGroup\">\n <button theme=\"dialogue\" icon=\"collapse\" size=\"sm\">{{qbs.getConjunctionLabel(controlName)}}</button>\n <novo-optgroup>\n <novo-option *ngFor=\"let c of qbs.allowedGroupings\" (click)=\"updateControlName(c)\">\n {{qbs.getConjunctionLabel(c)}}</novo-option>\n </novo-optgroup>\n </novo-dropdown>\n <ng-template #labeledGroup>\n <novo-label *ngIf=\"!isFirst\" color=\"ash\" size=\"xs\" uppercase padding=\"sm\">\n {{qbs.getConjunctionLabel(controlName)}}</novo-label>\n </ng-template>\n <novo-condition-builder [groupIndex]=\"groupIndex\" [andIndex]=\"andIndex\" [isFirst]=\"isFirst\"></novo-condition-builder>\n <novo-button theme=\"icon\" icon=\"delete-o\" color=\"negative\" (click)=\"removeCondition(andIndex)\"\n [disabled]=\"cantRemoveRow(isFirst)\">\n </novo-button>\n </novo-flex>\n </ng-container>\n </ng-container>\n <button theme=\"dialogue\" data-automation-id=\"add-advanced-search-condition\" icon=\"add-thin\" side=\"left\" size=\"sm\" uppercase padding=\"sm\" (click)=\"addCondition()\">\n {{ labels.addCondition }}</button>\n </novo-stack>\n
|
|
57395
|
+
ConditionGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ConditionGroupComponent, selector: "novo-condition-group", inputs: { controlName: "controlName", groupIndex: "groupIndex" }, host: { classAttribute: "novo-condition-group" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ConditionGroupComponent), multi: true }], ngImport: i0, template: "<div [formGroup]=\"parentForm\" class=\"condition-group-container\">\n <novo-stack [formArrayName]=\"controlName\" gap=\"md\">\n <ng-container\n *ngFor=\"let andGroup of root.controls; let andIndex = index; let isFirst = first;let isLast = last;\">\n <ng-container [formGroupName]=\"andIndex\">\n <novo-flex class=\"condition-row\" align=\"end\" gap=\"sm\">\n <novo-dropdown *ngIf=\"!isFirst && qbs.allowedGroupings.length > 1; else labeledGroup\">\n <button theme=\"dialogue\" icon=\"collapse\" size=\"sm\">{{qbs.getConjunctionLabel(controlName)}}</button>\n <novo-optgroup>\n <novo-option *ngFor=\"let c of qbs.allowedGroupings\" (click)=\"updateControlName(c)\">\n {{qbs.getConjunctionLabel(c)}}</novo-option>\n </novo-optgroup>\n </novo-dropdown>\n <ng-template #labeledGroup>\n <novo-label *ngIf=\"!isFirst\" color=\"ash\" size=\"xs\" uppercase padding=\"sm\">\n {{qbs.getConjunctionLabel(controlName)}}</novo-label>\n </ng-template>\n <novo-condition-builder [groupIndex]=\"groupIndex\" [andIndex]=\"andIndex\" [isFirst]=\"isFirst\"></novo-condition-builder>\n <novo-button theme=\"icon\" icon=\"delete-o\" color=\"negative\" (click)=\"removeCondition(andIndex)\"\n [disabled]=\"cantRemoveRow(isFirst)\">\n </novo-button>\n </novo-flex>\n </ng-container>\n </ng-container>\n <button theme=\"dialogue\" data-automation-id=\"add-advanced-search-condition\" icon=\"add-thin\" side=\"left\" size=\"sm\" uppercase padding=\"sm\" (click)=\"addCondition()\">\n {{ labels.addCondition }}</button>\n </novo-stack>\n <!-- <button class=\"and-or-button\" theme=\"secondary\" size=\"sm\" (click)=\"addRootCondition()\">{{ addCriteriaLabel }}</button> -->\n</div>", styles: [":host{position:relative;display:block;border:1px solid var(--border);border-radius:var(--border-radius-round);padding:var(--spacing-md);width:100%}:host .condition-row{width:100%}\n"], components: [{ type: NovoStackElement, selector: "novo-stack,novo-column", inputs: ["direction", "align"] }, { type: NovoFlexElement, selector: "novo-flex,novo-row", inputs: ["direction", "align", "justify", "wrap", "gap"] }, { type: NovoDropdownElement, selector: "novo-dropdown", inputs: ["parentScrollSelector", "parentScrollAction", "containerClass", "side", "scrollStrategy", "keepOpen", "height", "width", "appendToBody", "multiple"], outputs: ["toggled"] }, { type: NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }, { type: NovoOptgroup, selector: "novo-optgroup", inputs: ["disabled", "label"], exportAs: ["novoOptgroup"] }, { type: NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { type: NovoLabel, selector: "novo-label,[novo-label]" }, { type: ConditionBuilderComponent, selector: "novo-condition-builder", inputs: ["label", "isFirst", "andIndex", "groupIndex"] }], directives: [{ type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: GapDirective, selector: "[gap]", inputs: ["gap"] }, { type: i5.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ThemeColorDirective, selector: "[theme]", inputs: ["theme"] }, { type: PaddingDirective, selector: "[p],[padding],[paddingTop],[paddingRight],[paddingBottom],[paddingLeft],[paddingX],[paddingY],[pt],[pr],[pb],[pl],[px],[py]", inputs: ["padding", "p", "paddingLeft", "pl", "paddingRight", "pr", "paddingTop", "pt", "paddingBottom", "pb", "paddingX", "px", "paddingY", "py"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
57391
57396
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ConditionGroupComponent, decorators: [{
|
|
57392
57397
|
type: Component,
|
|
57393
57398
|
args: [{ selector: 'novo-condition-group', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ConditionGroupComponent), multi: true }], host: {
|
|
57394
57399
|
class: 'novo-condition-group',
|
|
57395
|
-
}, template: "<div [formGroup]=\"parentForm\" class=\"condition-group-container\">\n <novo-stack [formArrayName]=\"controlName\" gap=\"md\">\n <ng-container\n *ngFor=\"let andGroup of root.controls; let andIndex = index; let isFirst = first;let isLast = last;\">\n <ng-container [formGroupName]=\"andIndex\">\n <novo-flex class=\"condition-row\" align=\"end\" gap=\"sm\">\n <novo-dropdown *ngIf=\"!isFirst && qbs.allowedGroupings.length > 1; else labeledGroup\">\n <button theme=\"dialogue\" icon=\"collapse\" size=\"sm\">{{qbs.getConjunctionLabel(controlName)}}</button>\n <novo-optgroup>\n <novo-option *ngFor=\"let c of qbs.allowedGroupings\" (click)=\"updateControlName(c)\">\n {{qbs.getConjunctionLabel(c)}}</novo-option>\n </novo-optgroup>\n </novo-dropdown>\n <ng-template #labeledGroup>\n <novo-label *ngIf=\"!isFirst\" color=\"ash\" size=\"xs\" uppercase padding=\"sm\">\n {{qbs.getConjunctionLabel(controlName)}}</novo-label>\n </ng-template>\n <novo-condition-builder [groupIndex]=\"groupIndex\" [andIndex]=\"andIndex\" [isFirst]=\"isFirst\"></novo-condition-builder>\n <novo-button theme=\"icon\" icon=\"delete-o\" color=\"negative\" (click)=\"removeCondition(andIndex)\"\n [disabled]=\"cantRemoveRow(isFirst)\">\n </novo-button>\n </novo-flex>\n </ng-container>\n </ng-container>\n <button theme=\"dialogue\" data-automation-id=\"add-advanced-search-condition\" icon=\"add-thin\" side=\"left\" size=\"sm\" uppercase padding=\"sm\" (click)=\"addCondition()\">\n {{ labels.addCondition }}</button>\n </novo-stack>\n
|
|
57400
|
+
}, template: "<div [formGroup]=\"parentForm\" class=\"condition-group-container\">\n <novo-stack [formArrayName]=\"controlName\" gap=\"md\">\n <ng-container\n *ngFor=\"let andGroup of root.controls; let andIndex = index; let isFirst = first;let isLast = last;\">\n <ng-container [formGroupName]=\"andIndex\">\n <novo-flex class=\"condition-row\" align=\"end\" gap=\"sm\">\n <novo-dropdown *ngIf=\"!isFirst && qbs.allowedGroupings.length > 1; else labeledGroup\">\n <button theme=\"dialogue\" icon=\"collapse\" size=\"sm\">{{qbs.getConjunctionLabel(controlName)}}</button>\n <novo-optgroup>\n <novo-option *ngFor=\"let c of qbs.allowedGroupings\" (click)=\"updateControlName(c)\">\n {{qbs.getConjunctionLabel(c)}}</novo-option>\n </novo-optgroup>\n </novo-dropdown>\n <ng-template #labeledGroup>\n <novo-label *ngIf=\"!isFirst\" color=\"ash\" size=\"xs\" uppercase padding=\"sm\">\n {{qbs.getConjunctionLabel(controlName)}}</novo-label>\n </ng-template>\n <novo-condition-builder [groupIndex]=\"groupIndex\" [andIndex]=\"andIndex\" [isFirst]=\"isFirst\"></novo-condition-builder>\n <novo-button theme=\"icon\" icon=\"delete-o\" color=\"negative\" (click)=\"removeCondition(andIndex)\"\n [disabled]=\"cantRemoveRow(isFirst)\">\n </novo-button>\n </novo-flex>\n </ng-container>\n </ng-container>\n <button theme=\"dialogue\" data-automation-id=\"add-advanced-search-condition\" icon=\"add-thin\" side=\"left\" size=\"sm\" uppercase padding=\"sm\" (click)=\"addCondition()\">\n {{ labels.addCondition }}</button>\n </novo-stack>\n <!-- <button class=\"and-or-button\" theme=\"secondary\" size=\"sm\" (click)=\"addRootCondition()\">{{ addCriteriaLabel }}</button> -->\n</div>", styles: [":host{position:relative;display:block;border:1px solid var(--border);border-radius:var(--border-radius-round);padding:var(--spacing-md);width:100%}:host .condition-row{width:100%}\n"] }]
|
|
57396
57401
|
}], ctorParameters: function () { return [{ type: QueryBuilderService }, { type: NovoLabelService }, { type: i5.ControlContainer }, { type: i5.FormBuilder }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { controlName: [{
|
|
57397
57402
|
type: Input
|
|
57398
57403
|
}], groupIndex: [{
|
|
@@ -57480,7 +57485,7 @@ class CriteriaBuilderComponent {
|
|
|
57480
57485
|
return this.formBuilder.group({
|
|
57481
57486
|
field: [field, Validators.required],
|
|
57482
57487
|
operator: [operator, Validators.required],
|
|
57483
|
-
value: [value
|
|
57488
|
+
value: [value],
|
|
57484
57489
|
});
|
|
57485
57490
|
}
|
|
57486
57491
|
removeConditionGroupAt(index) {
|