novo-elements 5.7.0 → 5.11.0
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/bundles/novo-elements.umd.js +333 -243
- package/bundles/novo-elements.umd.js.map +1 -1
- package/bundles/novo-elements.umd.min.js +1 -1
- package/bundles/novo-elements.umd.min.js.map +1 -1
- package/elements/data-table/cell-headers/data-table-checkbox-header-cell.component.d.ts +5 -1
- package/elements/data-table/cells/data-table-checkbox-cell.component.d.ts +3 -0
- package/elements/data-table/data-table-clear-button.component.d.ts +2 -0
- package/elements/data-table/data-table.component.d.ts +3 -1
- package/elements/data-table/data-table.component.scss +5 -1
- package/elements/data-table/interfaces.d.ts +3 -0
- package/elements/data-table/state/data-table-state.service.d.ts +6 -2
- package/elements/date-picker/DatePicker.d.ts +1 -0
- package/elements/date-picker/DatePickerInput.d.ts +1 -0
- package/elements/date-time-picker/DateTimePicker.d.ts +1 -0
- package/elements/date-time-picker/DateTimePickerInput.d.ts +1 -0
- package/elements/form/FormInterfaces.d.ts +1 -0
- package/elements/form/NovoFormControl.d.ts +1 -0
- package/elements/form/controls/BaseControl.d.ts +1 -0
- package/esm2015/elements/data-table/cell-headers/data-table-checkbox-header-cell.component.js +26 -6
- package/esm2015/elements/data-table/cells/data-table-checkbox-cell.component.js +16 -5
- package/esm2015/elements/data-table/data-table-clear-button.component.js +9 -1
- package/esm2015/elements/data-table/data-table.component.js +8 -3
- package/esm2015/elements/data-table/data-table.source.js +5 -2
- package/esm2015/elements/data-table/interfaces.js +1 -1
- package/esm2015/elements/data-table/pagination/data-table-pagination.component.js +4 -1
- package/esm2015/elements/data-table/sort-filter/sort-filter.directive.js +3 -1
- package/esm2015/elements/data-table/state/data-table-state.service.js +31 -7
- package/esm2015/elements/date-picker/DatePicker.js +3 -2
- package/esm2015/elements/date-picker/DatePickerInput.js +3 -1
- package/esm2015/elements/date-time-picker/DateTimePicker.js +3 -1
- package/esm2015/elements/date-time-picker/DateTimePickerInput.js +3 -1
- package/esm2015/elements/form/ControlTemplates.js +2 -2
- package/esm2015/elements/form/FormInterfaces.js +1 -1
- package/esm2015/elements/form/NovoFormControl.js +2 -1
- package/esm2015/elements/form/controls/BaseControl.js +2 -1
- package/esm2015/elements/form/extras/address/Address.js +5 -1
- package/esm2015/index.js +1 -1
- package/esm2015/services/novo-label-service.js +2 -1
- package/esm2015/utils/form-utils/FormUtils.js +18 -17
- package/fesm2015/novo-elements.js +322 -232
- package/fesm2015/novo-elements.js.map +1 -1
- package/index.d.ts +1 -1
- package/novo-elements.metadata.json +1 -1
- package/package.json +1 -1
- package/services/novo-label-service.d.ts +1 -0
- package/utils/form-utils/FormUtils.d.ts +3 -3
|
@@ -3128,6 +3128,7 @@
|
|
|
3128
3128
|
this.clearAllNormalCase = 'Clear All';
|
|
3129
3129
|
this.clearSort = 'Clear Sort';
|
|
3130
3130
|
this.clearFilter = 'Clear Filter';
|
|
3131
|
+
this.clearSelected = 'Clear Selected';
|
|
3131
3132
|
this.today = 'Today';
|
|
3132
3133
|
this.now = 'Now';
|
|
3133
3134
|
this.isRequired = 'is required';
|
|
@@ -6997,6 +6998,7 @@
|
|
|
6997
6998
|
this.expandedRows = new Set();
|
|
6998
6999
|
this.isForceRefresh = false;
|
|
6999
7000
|
this.updates = new core.EventEmitter();
|
|
7001
|
+
this.retainSelected = false;
|
|
7000
7002
|
}
|
|
7001
7003
|
Object.defineProperty(DataTableState.prototype, "userFiltered", {
|
|
7002
7004
|
get: function () {
|
|
@@ -7027,9 +7029,12 @@
|
|
|
7027
7029
|
this.filter = undefined;
|
|
7028
7030
|
}
|
|
7029
7031
|
this.page = 0;
|
|
7030
|
-
this.
|
|
7031
|
-
|
|
7032
|
+
if (!this.retainSelected) {
|
|
7033
|
+
this.selectedRows.clear();
|
|
7034
|
+
this.resetSource.next();
|
|
7035
|
+
}
|
|
7032
7036
|
this.onSortFilterChange();
|
|
7037
|
+
this.retainSelected = false;
|
|
7033
7038
|
if (fireUpdate) {
|
|
7034
7039
|
this.updates.emit({
|
|
7035
7040
|
sort: this.sort,
|
|
@@ -7042,8 +7047,8 @@
|
|
|
7042
7047
|
if (fireUpdate === void 0) { fireUpdate = true; }
|
|
7043
7048
|
this.sort = undefined;
|
|
7044
7049
|
this.page = 0;
|
|
7045
|
-
this.
|
|
7046
|
-
this.
|
|
7050
|
+
this.checkRetainment('sort');
|
|
7051
|
+
this.reset(fireUpdate, true);
|
|
7047
7052
|
this.onSortFilterChange();
|
|
7048
7053
|
if (fireUpdate) {
|
|
7049
7054
|
this.updates.emit({
|
|
@@ -7058,8 +7063,8 @@
|
|
|
7058
7063
|
this.filter = undefined;
|
|
7059
7064
|
this.globalSearch = undefined;
|
|
7060
7065
|
this.page = 0;
|
|
7061
|
-
this.
|
|
7062
|
-
this.
|
|
7066
|
+
this.checkRetainment('filter');
|
|
7067
|
+
this.reset(fireUpdate, true);
|
|
7063
7068
|
this.onSortFilterChange();
|
|
7064
7069
|
if (fireUpdate) {
|
|
7065
7070
|
this.updates.emit({
|
|
@@ -7069,6 +7074,20 @@
|
|
|
7069
7074
|
});
|
|
7070
7075
|
}
|
|
7071
7076
|
};
|
|
7077
|
+
DataTableState.prototype.clearSelected = function (fireUpdate) {
|
|
7078
|
+
if (fireUpdate === void 0) { fireUpdate = true; }
|
|
7079
|
+
this.globalSearch = undefined;
|
|
7080
|
+
this.page = 0;
|
|
7081
|
+
this.reset(fireUpdate, true);
|
|
7082
|
+
this.onSelectionChange();
|
|
7083
|
+
if (fireUpdate) {
|
|
7084
|
+
this.updates.emit({
|
|
7085
|
+
sort: this.sort,
|
|
7086
|
+
filter: this.filter,
|
|
7087
|
+
globalSearch: this.globalSearch,
|
|
7088
|
+
});
|
|
7089
|
+
}
|
|
7090
|
+
};
|
|
7072
7091
|
DataTableState.prototype.onSelectionChange = function () {
|
|
7073
7092
|
this.selectionSource.next();
|
|
7074
7093
|
};
|
|
@@ -7076,9 +7095,12 @@
|
|
|
7076
7095
|
this.expandSource.next(targetId);
|
|
7077
7096
|
};
|
|
7078
7097
|
DataTableState.prototype.onPaginationChange = function (isPageSizeChange, pageSize) {
|
|
7098
|
+
this.checkRetainment('page');
|
|
7079
7099
|
this.paginationSource.next({ isPageSizeChange: isPageSizeChange, pageSize: pageSize });
|
|
7080
7100
|
};
|
|
7081
7101
|
DataTableState.prototype.onSortFilterChange = function () {
|
|
7102
|
+
this.checkRetainment('sort');
|
|
7103
|
+
this.checkRetainment('filter');
|
|
7082
7104
|
this.sortFilterSource.next({
|
|
7083
7105
|
sort: this.sort,
|
|
7084
7106
|
filter: this.filter,
|
|
@@ -7102,6 +7124,10 @@
|
|
|
7102
7124
|
}
|
|
7103
7125
|
}
|
|
7104
7126
|
};
|
|
7127
|
+
DataTableState.prototype.checkRetainment = function (caller) {
|
|
7128
|
+
var _a;
|
|
7129
|
+
this.retainSelected = ((_a = this.selectionOptions) === null || _a === void 0 ? void 0 : _a.some(function (option) { return option.label === caller; })) || this.retainSelected;
|
|
7130
|
+
};
|
|
7105
7131
|
return DataTableState;
|
|
7106
7132
|
}());
|
|
7107
7133
|
DataTableState.decorators = [
|
|
@@ -7113,6 +7139,7 @@
|
|
|
7113
7139
|
this.state = state;
|
|
7114
7140
|
this.ref = ref;
|
|
7115
7141
|
this.labels = labels;
|
|
7142
|
+
this.selectedClear = new core.EventEmitter();
|
|
7116
7143
|
this.sortClear = new core.EventEmitter();
|
|
7117
7144
|
this.filterClear = new core.EventEmitter();
|
|
7118
7145
|
this.allClear = new core.EventEmitter();
|
|
@@ -7125,9 +7152,14 @@
|
|
|
7125
7152
|
this.state.clearFilter();
|
|
7126
7153
|
this.filterClear.emit(true);
|
|
7127
7154
|
};
|
|
7155
|
+
NovoDataTableClearButton.prototype.clearSelected = function () {
|
|
7156
|
+
this.state.clearSelected();
|
|
7157
|
+
this.selectedClear.emit(true);
|
|
7158
|
+
};
|
|
7128
7159
|
NovoDataTableClearButton.prototype.clearAll = function () {
|
|
7129
7160
|
this.state.reset();
|
|
7130
7161
|
this.allClear.emit(true);
|
|
7162
|
+
this.selectedClear.emit(true);
|
|
7131
7163
|
this.sortClear.emit(true);
|
|
7132
7164
|
this.filterClear.emit(true);
|
|
7133
7165
|
};
|
|
@@ -7136,7 +7168,7 @@
|
|
|
7136
7168
|
NovoDataTableClearButton.decorators = [
|
|
7137
7169
|
{ type: core.Component, args: [{
|
|
7138
7170
|
selector: 'novo-data-table-clear-button',
|
|
7139
|
-
template: "\n <novo-dropdown side=\"bottom-right\" class=\"novo-data-table-clear-button\" data-automation-id=\"novo-data-table-clear-dropdown\">\n <button type=\"button\" theme=\"primary\" color=\"negative\" icon=\"collapse\" data-automation-id=\"novo-data-table-clear-dropdown-btn\">{{ labels.clear }}</button>\n <list>\n <item *ngIf=\"state.sort\" (click)=\"clearSort()\" data-automation-id=\"novo-data-table-clear-dropdown-clear-sort\">{{ labels.clearSort }}</item>\n <item *ngIf=\"state.filter\" (click)=\"clearFilter()\" data-automation-id=\"novo-data-table-clear-dropdown-clear-filter\">{{ labels.clearFilter }}</item>\n <item *ngIf=\"state.sort && state.filter\" (click)=\"clearAll()\" data-automation-id=\"novo-data-table-clear-dropdown-clear-all\">{{ labels.clearAllNormalCase }}</item>\n </list>\n </novo-dropdown>\n ",
|
|
7171
|
+
template: "\n <novo-dropdown side=\"bottom-right\" class=\"novo-data-table-clear-button\" data-automation-id=\"novo-data-table-clear-dropdown\">\n <button type=\"button\" theme=\"primary\" color=\"negative\" icon=\"collapse\" data-automation-id=\"novo-data-table-clear-dropdown-btn\">{{ labels.clear }}</button>\n <list>\n <item *ngIf=\"state.selected.length > 0\" (click)=\"clearSelected()\" data-automation-id=\"novo-data-table-clear-dropdown-clear-selected\">{{ labels.clearSelected }}</item>\n <item *ngIf=\"state.sort\" (click)=\"clearSort()\" data-automation-id=\"novo-data-table-clear-dropdown-clear-sort\">{{ labels.clearSort }}</item>\n <item *ngIf=\"state.filter\" (click)=\"clearFilter()\" data-automation-id=\"novo-data-table-clear-dropdown-clear-filter\">{{ labels.clearFilter }}</item>\n <item *ngIf=\"state.sort && state.filter\" (click)=\"clearAll()\" data-automation-id=\"novo-data-table-clear-dropdown-clear-all\">{{ labels.clearAllNormalCase }}</item>\n </list>\n </novo-dropdown>\n ",
|
|
7140
7172
|
changeDetection: core.ChangeDetectionStrategy.OnPush
|
|
7141
7173
|
},] }
|
|
7142
7174
|
];
|
|
@@ -7146,6 +7178,7 @@
|
|
|
7146
7178
|
{ type: NovoLabelService }
|
|
7147
7179
|
]; };
|
|
7148
7180
|
NovoDataTableClearButton.propDecorators = {
|
|
7181
|
+
selectedClear: [{ type: core.Output }],
|
|
7149
7182
|
sortClear: [{ type: core.Output }],
|
|
7150
7183
|
filterClear: [{ type: core.Output }],
|
|
7151
7184
|
allClear: [{ type: core.Output }]
|
|
@@ -7200,7 +7233,10 @@
|
|
|
7200
7233
|
_this.current = data.results.length;
|
|
7201
7234
|
_this.data = data.results;
|
|
7202
7235
|
// Clear selection
|
|
7203
|
-
_this.state.
|
|
7236
|
+
if (!_this.state.retainSelected) {
|
|
7237
|
+
_this.state.selectedRows.clear();
|
|
7238
|
+
}
|
|
7239
|
+
_this.state.retainSelected = false;
|
|
7204
7240
|
_this.state.onSelectionChange();
|
|
7205
7241
|
// Mark changes
|
|
7206
7242
|
setTimeout(function () {
|
|
@@ -7572,6 +7608,7 @@
|
|
|
7572
7608
|
}
|
|
7573
7609
|
}
|
|
7574
7610
|
this.state.filter = filter;
|
|
7611
|
+
this.state.checkRetainment('filter');
|
|
7575
7612
|
this.state.reset(false, true);
|
|
7576
7613
|
this.state.updates.next({ filter: filter, sort: this.state.sort });
|
|
7577
7614
|
this.state.onSortFilterChange();
|
|
@@ -7579,6 +7616,7 @@
|
|
|
7579
7616
|
NovoDataTableSortFilter.prototype.sort = function (id, value, transform) {
|
|
7580
7617
|
var sort = { id: id, value: value, transform: transform };
|
|
7581
7618
|
this.state.sort = sort;
|
|
7619
|
+
this.state.checkRetainment('sort');
|
|
7582
7620
|
this.state.reset(false, true);
|
|
7583
7621
|
this.state.updates.next({ sort: sort, filter: this.state.filter });
|
|
7584
7622
|
this.state.onSortFilterChange();
|
|
@@ -7991,6 +8029,7 @@
|
|
|
7991
8029
|
this.trackByFn = function (index, item) { return item.id; };
|
|
7992
8030
|
this.templates = {};
|
|
7993
8031
|
this.fixedHeader = false;
|
|
8032
|
+
this.maxSelected = undefined;
|
|
7994
8033
|
this._hideGlobalSearch = true;
|
|
7995
8034
|
this.preferencesChanged = new core.EventEmitter();
|
|
7996
8035
|
this.loading = true;
|
|
@@ -8214,6 +8253,7 @@
|
|
|
8214
8253
|
};
|
|
8215
8254
|
NovoDataTable.prototype.ngAfterContentInit = function () {
|
|
8216
8255
|
var _this = this;
|
|
8256
|
+
var _a;
|
|
8217
8257
|
if (this.displayedColumns && this.displayedColumns.length) {
|
|
8218
8258
|
this.expandable = this.displayedColumns.includes('expand');
|
|
8219
8259
|
}
|
|
@@ -8243,6 +8283,7 @@
|
|
|
8243
8283
|
}
|
|
8244
8284
|
this.state.page = this.paginationOptions ? this.paginationOptions.page : undefined;
|
|
8245
8285
|
this.state.pageSize = this.paginationOptions ? this.paginationOptions.pageSize : undefined;
|
|
8286
|
+
this.state.selectionOptions = (_a = this.selectionOptions) !== null && _a !== void 0 ? _a : undefined;
|
|
8246
8287
|
// Scrolling inside table
|
|
8247
8288
|
this.novoDataTableContainer.nativeElement.addEventListener('scroll', this.scrollListenerHandler);
|
|
8248
8289
|
this.initialized = true;
|
|
@@ -8417,11 +8458,11 @@
|
|
|
8417
8458
|
this.ref.markForCheck();
|
|
8418
8459
|
};
|
|
8419
8460
|
NovoDataTable.prototype.performInteractions = function (event) {
|
|
8420
|
-
var e_1,
|
|
8461
|
+
var e_1, _b;
|
|
8421
8462
|
if (this.listInteractions) {
|
|
8422
8463
|
try {
|
|
8423
|
-
for (var
|
|
8424
|
-
var column =
|
|
8464
|
+
for (var _c = __values(this.columns), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
8465
|
+
var column = _d.value;
|
|
8425
8466
|
var allListColumnInteractions = this.listInteractions[column.id];
|
|
8426
8467
|
var listColumnInteraction = allListColumnInteractions && allListColumnInteractions.find(function (int) { return int.event.includes(event); });
|
|
8427
8468
|
if (listColumnInteraction) {
|
|
@@ -8432,7 +8473,7 @@
|
|
|
8432
8473
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
8433
8474
|
finally {
|
|
8434
8475
|
try {
|
|
8435
|
-
if (
|
|
8476
|
+
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
8436
8477
|
}
|
|
8437
8478
|
finally { if (e_1) throw e_1.error; }
|
|
8438
8479
|
}
|
|
@@ -8450,7 +8491,7 @@
|
|
|
8450
8491
|
animations.transition('void <=> *', animations.animate('70ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
|
|
8451
8492
|
]),
|
|
8452
8493
|
],
|
|
8453
|
-
template: "\n <header\n *ngIf=\"(!(dataSource?.totallyEmpty && !state.userFiltered) && !loading) || forceShowHeader\"\n [class.empty]=\"hideGlobalSearch && !paginationOptions && !templates['customActions']\"\n >\n <ng-container *ngTemplateOutlet=\"templates['customHeader']\"></ng-container>\n <novo-search\n alwaysOpen=\"true\"\n (searchChanged)=\"onSearchChange($event)\"\n [(ngModel)]=\"state.globalSearch\"\n *ngIf=\"!hideGlobalSearch\"\n [placeholder]=\"searchOptions?.placeholder\"\n [hint]=\"searchOptions?.tooltip\"\n >\n </novo-search>\n <novo-data-table-pagination\n *ngIf=\"paginationOptions\"\n [theme]=\"paginationOptions.theme\"\n [length]=\"dataSource?.currentTotal\"\n [page]=\"paginationOptions.page\"\n [pageSize]=\"paginationOptions.pageSize\"\n [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n [dataFeatureId]=\"paginatorDataFeatureId\"\n >\n </novo-data-table-pagination>\n <div class=\"novo-data-table-actions\" *ngIf=\"templates['customActions']\">\n <ng-container *ngTemplateOutlet=\"templates['customActions']\"></ng-container>\n </div>\n </header>\n <div class=\"novo-data-table-loading-mask\" *ngIf=\"dataSource?.loading || loading\" data-automation-id=\"novo-data-table-loading\">\n <novo-loading></novo-loading>\n </div>\n <div class=\"novo-data-table-outside-container\" [ngClass]=\"{ 'novo-data-table-outside-container-fixed': fixedHeader }\">\n <div class=\"novo-data-table-custom-filter\" *ngIf=\"customFilter\">\n <ng-container *ngTemplateOutlet=\"templates['customFilter']\"></ng-container>\n </div>\n <div\n #novoDataTableContainer\n class=\"novo-data-table-container\"\n [ngClass]=\"{ 'novo-data-table-container-fixed': fixedHeader }\"\n [class.empty-user-filtered]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [class.empty]=\"dataSource?.totallyEmpty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <cdk-table\n *ngIf=\"columns?.length > 0 && columnsLoaded && dataSource\"\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackByFn\"\n novoDataTableSortFilter\n [class.expandable]=\"expandable\"\n [class.empty]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [hidden]=\"dataSource?.totallyEmpty && !state.userFiltered\"\n >\n <ng-container cdkColumnDef=\"selection\">\n <novo-data-table-checkbox-header-cell *cdkHeaderCellDef></novo-data-table-checkbox-header-cell>\n <novo-data-table-checkbox-cell *cdkCellDef=\"let row; let i = index\" [row]=\"row\"></novo-data-table-checkbox-cell>\n </ng-container>\n <ng-container cdkColumnDef=\"expand\">\n <novo-data-table-expand-header-cell *cdkHeaderCellDef></novo-data-table-expand-header-cell>\n <novo-data-table-expand-cell *cdkCellDef=\"let row; let i = index\" [row]=\"row\"></novo-data-table-expand-cell>\n </ng-container>\n <ng-container *ngFor=\"let column of columns; trackBy: trackColumnsBy\" [cdkColumnDef]=\"column.id\">\n <novo-data-table-header-cell\n *cdkHeaderCellDef\n [column]=\"column\"\n [filterTemplate]=\"templates['column-filter-' + column.id]\"\n [novo-data-table-cell-config]=\"column\"\n [resized]=\"resized\"\n [defaultSort]=\"defaultSort\"\n [allowMultipleFilters]=\"allowMultipleFilters\"\n [class.empty]=\"column?.type === 'action' && !column?.label\"\n [class.button-header-cell]=\"column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)\"\n [class.dropdown-header-cell]=\"column?.type === 'action' && column?.action?.options\"\n [class.fixed-header]=\"fixedHeader\"\n ></novo-data-table-header-cell>\n <novo-data-table-cell\n *cdkCellDef=\"let row\"\n [resized]=\"resized\"\n [column]=\"column\"\n [row]=\"row\"\n [template]=\"columnToTemplate[column.id]\"\n [class.empty]=\"column?.type === 'action' && !column?.label\"\n [class.button-cell]=\"column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)\"\n [class.dropdown-cell]=\"column?.type === 'action' && column?.action?.options\"\n ></novo-data-table-cell>\n </ng-container>\n <novo-data-table-header-row\n *cdkHeaderRowDef=\"displayedColumns\"\n [fixedHeader]=\"fixedHeader\"\n data-automation-id=\"novo-data-table-header-row\"\n ></novo-data-table-header-row>\n <novo-data-table-row\n *cdkRowDef=\"let row; columns: displayedColumns\"\n [ngClass]=\"{ active: row[rowIdentifier] == activeRowIdentifier }\"\n [novoDataTableExpand]=\"detailRowTemplate\"\n [row]=\"row\"\n [id]=\"name + '-' + row[rowIdentifier]\"\n [dataAutomationId]=\"row[rowIdentifier]\"\n ></novo-data-table-row>\n </cdk-table>\n <div class=\"novo-data-table-footer\" *ngIf=\"templates['footer']\">\n <ng-container *ngTemplateOutlet=\"templates['footer']; context: { $implicit: columns, data: dataSource.data }\"></ng-container>\n </div>\n <div\n class=\"novo-data-table-no-results-container\"\n [style.left.px]=\"scrollLeft\"\n *ngIf=\"dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['noResultsMessage'] || templates['defaultNoResultsMessage']\"></ng-container>\n </div>\n </div>\n </div>\n <div\n class=\"novo-data-table-empty-container\"\n *ngIf=\"dataSource?.totallyEmpty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['emptyMessage'] || templates['defaultNoResultsMessage']\"></ng-container>\n </div>\n </div>\n </div>\n <!-- DEFAULT CELL TEMPLATE -->\n <ng-template novoTemplate=\"textCellTemplate\" let-row let-col=\"col\">\n <span [style.width.px]=\"col?.width\" [style.min-width.px]=\"col?.width\" [style.max-width.px]=\"col?.width\">{{\n row[col.id] | dataTableInterpolate: col\n }}</span>\n </ng-template>\n <ng-template novoTemplate=\"dateCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateRenderer: col }}</span>\n </ng-template>\n <ng-template novoTemplate=\"datetimeCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateTimeRenderer: col }}</span>\n </ng-template>\n <ng-template novoTemplate=\"timeCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableTimeRenderer: col }}</span>\n </ng-template>\n <ng-template novoTemplate=\"currencyCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableCurrencyRenderer: col }}</span>\n </ng-template>\n <ng-template novoTemplate=\"bigdecimalCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableBigDecimalRenderer: col }}</span>\n </ng-template>\n <ng-template novoTemplate=\"numberCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col }}</span>\n </ng-template>\n <ng-template novoTemplate=\"percentCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col:true }}</span>\n </ng-template>\n <ng-template novoTemplate=\"linkCellTemplate\" let-row let-col=\"col\">\n <a\n [attr.data-feature-id]=\"col?.attributes?.dataFeatureId\"\n (click)=\"col.handlers?.click({ originalEvent: $event, row: row })\"\n [style.width.px]=\"col?.width\"\n [style.min-width.px]=\"col?.width\"\n [style.max-width.px]=\"col?.width\"\n >{{ row[col.id] | dataTableInterpolate: col }}</a\n >\n </ng-template>\n <ng-template novoTemplate=\"telCellTemplate\" let-row let-col=\"col\">\n <a href=\"tel:{{ row[col.id] | dataTableInterpolate: col }}\" [target]=\"col?.attributes?.target\">{{\n row[col.id] | dataTableInterpolate: col\n }}</a>\n </ng-template>\n <ng-template novoTemplate=\"mailtoCellTemplate\" let-row let-col=\"col\">\n <a href=\"mailto:{{ row[col.id] | dataTableInterpolate: col }}\" [target]=\"col?.attributes?.target\">{{\n row[col.id] | dataTableInterpolate: col\n }}</a>\n </ng-template>\n <ng-template novoTemplate=\"buttonCellTemplate\" let-row let-col=\"col\">\n <p [tooltip]=\"col?.action?.tooltip\" tooltipPosition=\"right\" [attr.data-feature-id]=\"col?.attributes?.dataFeatureId\">\n <i\n class=\"bhi-{{ col?.action?.icon }} data-table-icon\"\n (click)=\"col.handlers?.click({ originalEvent: $event, row: row })\"\n [class.disabled]=\"isDisabled(col, row)\"\n ></i>\n </p>\n </ng-template>\n <ng-template novoTemplate=\"dropdownCellTemplate\" let-row let-col=\"col\">\n <novo-dropdown parentScrollSelector=\".novo-data-table-container\" containerClass=\"novo-data-table-dropdown\">\n <button type=\"button\" theme=\"dialogue\" [icon]=\"col.action.icon\" inverse>{{ col.label }}</button>\n <list>\n <item\n *ngFor=\"let option of col?.action?.options\"\n (action)=\"option.handlers.click({ originalEvent: $event?.originalEvent, row: row })\"\n [disabled]=\"isDisabled(option, row)\"\n >\n <span [attr.data-automation-id]=\"option.label\">{{ option.label }}</span>\n </item>\n </list>\n </novo-dropdown>\n </ng-template>\n <ng-template novoTemplate=\"defaultNoResultsMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.noMatchingRecordsMessage }}</h4>\n </ng-template>\n <ng-template novoTemplate=\"defaultEmptyMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.emptyTableMessage }}</h4>\n </ng-template>\n <ng-template novoTemplate=\"expandedRow\"> You did not provide an \"expandedRow\" template! </ng-template>\n <ng-template #detailRowTemplate let-row>\n <div class=\"novo-data-table-detail-row\" [@expand] style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"templates['expandedRow']; context: { $implicit: row }\"></ng-container>\n </div>\n </ng-template>\n <!-- CUSTOM CELLS PASSED IN -->\n <ng-content></ng-content>\n ",
|
|
8494
|
+
template: "\n <header\n *ngIf=\"(!(dataSource?.totallyEmpty && !state.userFiltered) && !loading) || forceShowHeader\"\n [class.empty]=\"hideGlobalSearch && !paginationOptions && !templates['customActions']\"\n >\n <ng-container *ngTemplateOutlet=\"templates['customHeader']\"></ng-container>\n <novo-search\n alwaysOpen=\"true\"\n (searchChanged)=\"onSearchChange($event)\"\n [(ngModel)]=\"state.globalSearch\"\n *ngIf=\"!hideGlobalSearch\"\n [placeholder]=\"searchOptions?.placeholder\"\n [hint]=\"searchOptions?.tooltip\"\n >\n </novo-search>\n <novo-data-table-pagination\n *ngIf=\"paginationOptions\"\n [theme]=\"paginationOptions.theme\"\n [length]=\"dataSource?.currentTotal\"\n [page]=\"paginationOptions.page\"\n [pageSize]=\"paginationOptions.pageSize\"\n [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n [dataFeatureId]=\"paginatorDataFeatureId\"\n >\n </novo-data-table-pagination>\n <div class=\"novo-data-table-actions\" *ngIf=\"templates['customActions']\">\n <ng-container *ngTemplateOutlet=\"templates['customActions']\"></ng-container>\n </div>\n </header>\n <div class=\"novo-data-table-loading-mask\" *ngIf=\"dataSource?.loading || loading\" data-automation-id=\"novo-data-table-loading\">\n <novo-loading></novo-loading>\n </div>\n <div class=\"novo-data-table-outside-container\" [ngClass]=\"{ 'novo-data-table-outside-container-fixed': fixedHeader }\">\n <div class=\"novo-data-table-custom-filter\" *ngIf=\"customFilter\">\n <ng-container *ngTemplateOutlet=\"templates['customFilter']\"></ng-container>\n </div>\n <div\n #novoDataTableContainer\n class=\"novo-data-table-container\"\n [ngClass]=\"{ 'novo-data-table-container-fixed': fixedHeader }\"\n [class.empty-user-filtered]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [class.empty]=\"dataSource?.totallyEmpty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <cdk-table\n *ngIf=\"columns?.length > 0 && columnsLoaded && dataSource\"\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackByFn\"\n novoDataTableSortFilter\n [class.expandable]=\"expandable\"\n [class.empty]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [hidden]=\"dataSource?.totallyEmpty && !state.userFiltered\"\n >\n <ng-container cdkColumnDef=\"selection\">\n <novo-data-table-checkbox-header-cell *cdkHeaderCellDef [maxSelected]=\"maxSelected\"></novo-data-table-checkbox-header-cell>\n <novo-data-table-checkbox-cell *cdkCellDef=\"let row; let i = index\" [row]=\"row\" [maxSelected]=\"maxSelected\"></novo-data-table-checkbox-cell>\n </ng-container>\n <ng-container cdkColumnDef=\"expand\">\n <novo-data-table-expand-header-cell *cdkHeaderCellDef></novo-data-table-expand-header-cell>\n <novo-data-table-expand-cell *cdkCellDef=\"let row; let i = index\" [row]=\"row\"></novo-data-table-expand-cell>\n </ng-container>\n <ng-container *ngFor=\"let column of columns; trackBy: trackColumnsBy\" [cdkColumnDef]=\"column.id\">\n <novo-data-table-header-cell\n *cdkHeaderCellDef\n [column]=\"column\"\n [filterTemplate]=\"templates['column-filter-' + column.id]\"\n [novo-data-table-cell-config]=\"column\"\n [resized]=\"resized\"\n [defaultSort]=\"defaultSort\"\n [allowMultipleFilters]=\"allowMultipleFilters\"\n [class.empty]=\"column?.type === 'action' && !column?.label\"\n [class.button-header-cell]=\"column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)\"\n [class.dropdown-header-cell]=\"column?.type === 'action' && column?.action?.options\"\n [class.fixed-header]=\"fixedHeader\"\n ></novo-data-table-header-cell>\n <novo-data-table-cell\n *cdkCellDef=\"let row\"\n [resized]=\"resized\"\n [column]=\"column\"\n [row]=\"row\"\n [template]=\"columnToTemplate[column.id]\"\n [class.empty]=\"column?.type === 'action' && !column?.label\"\n [class.button-cell]=\"column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)\"\n [class.dropdown-cell]=\"column?.type === 'action' && column?.action?.options\"\n ></novo-data-table-cell>\n </ng-container>\n <novo-data-table-header-row\n *cdkHeaderRowDef=\"displayedColumns\"\n [fixedHeader]=\"fixedHeader\"\n data-automation-id=\"novo-data-table-header-row\"\n ></novo-data-table-header-row>\n <novo-data-table-row\n *cdkRowDef=\"let row; columns: displayedColumns\"\n [ngClass]=\"{ active: row[rowIdentifier] == activeRowIdentifier }\"\n [novoDataTableExpand]=\"detailRowTemplate\"\n [row]=\"row\"\n [id]=\"name + '-' + row[rowIdentifier]\"\n [dataAutomationId]=\"row[rowIdentifier]\"\n ></novo-data-table-row>\n </cdk-table>\n <div class=\"novo-data-table-footer\" *ngIf=\"templates['footer']\">\n <ng-container *ngTemplateOutlet=\"templates['footer']; context: { $implicit: columns, data: dataSource.data }\"></ng-container>\n </div>\n <div\n class=\"novo-data-table-no-results-container\"\n [style.left.px]=\"scrollLeft\"\n *ngIf=\"dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['noResultsMessage'] || templates['defaultNoResultsMessage']\"></ng-container>\n </div>\n </div>\n </div>\n <div\n class=\"novo-data-table-empty-container\"\n *ngIf=\"dataSource?.totallyEmpty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['emptyMessage'] || templates['defaultNoResultsMessage']\"></ng-container>\n </div>\n </div>\n </div>\n <!-- DEFAULT CELL TEMPLATE -->\n <ng-template novoTemplate=\"textCellTemplate\" let-row let-col=\"col\">\n <span [style.width.px]=\"col?.width\" [style.min-width.px]=\"col?.width\" [style.max-width.px]=\"col?.width\">{{\n row[col.id] | dataTableInterpolate: col\n }}</span>\n </ng-template>\n <ng-template novoTemplate=\"dateCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateRenderer: col }}</span>\n </ng-template>\n <ng-template novoTemplate=\"datetimeCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateTimeRenderer: col }}</span>\n </ng-template>\n <ng-template novoTemplate=\"timeCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableTimeRenderer: col }}</span>\n </ng-template>\n <ng-template novoTemplate=\"currencyCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableCurrencyRenderer: col }}</span>\n </ng-template>\n <ng-template novoTemplate=\"bigdecimalCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableBigDecimalRenderer: col }}</span>\n </ng-template>\n <ng-template novoTemplate=\"numberCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col }}</span>\n </ng-template>\n <ng-template novoTemplate=\"percentCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col:true }}</span>\n </ng-template>\n <ng-template novoTemplate=\"linkCellTemplate\" let-row let-col=\"col\">\n <a\n [attr.data-feature-id]=\"col?.attributes?.dataFeatureId\"\n (click)=\"col.handlers?.click({ originalEvent: $event, row: row })\"\n [style.width.px]=\"col?.width\"\n [style.min-width.px]=\"col?.width\"\n [style.max-width.px]=\"col?.width\"\n >{{ row[col.id] | dataTableInterpolate: col }}</a\n >\n </ng-template>\n <ng-template novoTemplate=\"telCellTemplate\" let-row let-col=\"col\">\n <a href=\"tel:{{ row[col.id] | dataTableInterpolate: col }}\" [target]=\"col?.attributes?.target\">{{\n row[col.id] | dataTableInterpolate: col\n }}</a>\n </ng-template>\n <ng-template novoTemplate=\"mailtoCellTemplate\" let-row let-col=\"col\">\n <a href=\"mailto:{{ row[col.id] | dataTableInterpolate: col }}\" [target]=\"col?.attributes?.target\">{{\n row[col.id] | dataTableInterpolate: col\n }}</a>\n </ng-template>\n <ng-template novoTemplate=\"buttonCellTemplate\" let-row let-col=\"col\">\n <p [tooltip]=\"col?.action?.tooltip\" tooltipPosition=\"right\" [attr.data-feature-id]=\"col?.attributes?.dataFeatureId\">\n <i\n class=\"bhi-{{ col?.action?.icon }} data-table-icon\"\n (click)=\"col.handlers?.click({ originalEvent: $event, row: row })\"\n [class.disabled]=\"isDisabled(col, row)\"\n ></i>\n </p>\n </ng-template>\n <ng-template novoTemplate=\"dropdownCellTemplate\" let-row let-col=\"col\">\n <novo-dropdown parentScrollSelector=\".novo-data-table-container\" containerClass=\"novo-data-table-dropdown\">\n <button type=\"button\" theme=\"dialogue\" [icon]=\"col.action.icon\" inverse>{{ col.label }}</button>\n <list>\n <item\n *ngFor=\"let option of col?.action?.options\"\n (action)=\"option.handlers.click({ originalEvent: $event?.originalEvent, row: row })\"\n [disabled]=\"isDisabled(option, row)\"\n >\n <span [attr.data-automation-id]=\"option.label\">{{ option.label }}</span>\n </item>\n </list>\n </novo-dropdown>\n </ng-template>\n <ng-template novoTemplate=\"defaultNoResultsMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.noMatchingRecordsMessage }}</h4>\n </ng-template>\n <ng-template novoTemplate=\"defaultEmptyMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.emptyTableMessage }}</h4>\n </ng-template>\n <ng-template novoTemplate=\"expandedRow\"> You did not provide an \"expandedRow\" template! </ng-template>\n <ng-template #detailRowTemplate let-row>\n <div class=\"novo-data-table-detail-row\" [@expand] style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"templates['expandedRow']; context: { $implicit: row }\"></ng-container>\n </div>\n </ng-template>\n <!-- CUSTOM CELLS PASSED IN -->\n <ng-content></ng-content>\n ",
|
|
8454
8495
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
8455
8496
|
providers: [DataTableState]
|
|
8456
8497
|
},] }
|
|
@@ -8470,6 +8511,7 @@
|
|
|
8470
8511
|
displayedColumns: [{ type: core.Input }],
|
|
8471
8512
|
paginationOptions: [{ type: core.Input }],
|
|
8472
8513
|
searchOptions: [{ type: core.Input }],
|
|
8514
|
+
selectionOptions: [{ type: core.Input }],
|
|
8473
8515
|
defaultSort: [{ type: core.Input }],
|
|
8474
8516
|
name: [{ type: core.Input }],
|
|
8475
8517
|
allowMultipleFilters: [{ type: core.Input }],
|
|
@@ -8479,6 +8521,7 @@
|
|
|
8479
8521
|
templates: [{ type: core.Input }],
|
|
8480
8522
|
fixedHeader: [{ type: core.Input }],
|
|
8481
8523
|
paginatorDataFeatureId: [{ type: core.Input }],
|
|
8524
|
+
maxSelected: [{ type: core.Input }],
|
|
8482
8525
|
dataTableService: [{ type: core.Input }],
|
|
8483
8526
|
rows: [{ type: core.Input }],
|
|
8484
8527
|
outsideFilter: [{ type: core.Input }],
|
|
@@ -26941,7 +26984,7 @@
|
|
|
26941
26984
|
{ type: core.Component, args: [{
|
|
26942
26985
|
selector: 'novo-address',
|
|
26943
26986
|
providers: [ADDRESS_VALUE_ACCESSOR],
|
|
26944
|
-
template: "\n <span\n *ngIf=\"!config?.address1?.hidden\"\n class=\"street-address\"\n [class.invalid]=\"invalid.address1\"\n [class.focus]=\"focused.address1\"\n [class.disabled]=\"disabled.address1\"\n >\n <i\n *ngIf=\"config.address1.required\"\n class=\"required-indicator address1\"\n [ngClass]=\"{ 'bhi-circle': !valid.address1, 'bhi-check': valid.address1 }\"\n >\n </i>\n <input\n [class.maxlength-error]=\"invalidMaxlength.address1\"\n type=\"text\"\n id=\"address1\"\n name=\"address1\"\n [placeholder]=\"config.address1.label\"\n [maxlength]=\"config?.address1?.maxlength\"\n autocomplete=\"shipping street-address address-line-1\"\n [(ngModel)]=\"model.address1\"\n (ngModelChange)=\"updateControl()\"\n (focus)=\"isFocused($event, 'address1')\"\n (blur)=\"isBlurred($event, 'address1')\"\n (input)=\"onInput($event, 'address1')\"\n />\n </span>\n <span\n *ngIf=\"!config?.address2?.hidden\"\n class=\"apt suite\"\n [class.invalid]=\"invalid.address2\"\n [class.focus]=\"focused.address2\"\n [class.disabled]=\"disabled.address2\"\n >\n <i\n *ngIf=\"config.address2.required\"\n class=\"required-indicator address2\"\n [ngClass]=\"{ 'bhi-circle': !valid.address2, 'bhi-check': valid.address2 }\"\n >\n </i>\n <input\n [class.maxlength-error]=\"invalidMaxlength.address2\"\n type=\"text\"\n id=\"address2\"\n name=\"address2\"\n [placeholder]=\"config.address2.label\"\n [maxlength]=\"config?.address2?.maxlength\"\n autocomplete=\"shipping address-line-2\"\n [(ngModel)]=\"model.address2\"\n (ngModelChange)=\"updateControl()\"\n (focus)=\"isFocused($event, 'address2')\"\n (blur)=\"isBlurred($event, 'address2')\"\n (input)=\"onInput($event, 'address2')\"\n />\n </span>\n <span\n *ngIf=\"!config?.city?.hidden\"\n class=\"city locality\"\n [class.invalid]=\"invalid.city\"\n [class.focus]=\"focused.city\"\n [class.disabled]=\"disabled.city\"\n >\n <i *ngIf=\"config.city.required\" class=\"required-indicator\" [ngClass]=\"{ 'bhi-circle': !valid.city, 'bhi-check': valid.city }\"> </i>\n <input\n [class.maxlength-error]=\"invalidMaxlength.city\"\n type=\"text\"\n id=\"city\"\n name=\"city\"\n [placeholder]=\"config.city.label\"\n autocomplete=\"shipping city locality\"\n [maxlength]=\"config?.city?.maxlength\"\n [(ngModel)]=\"model.city\"\n (ngModelChange)=\"updateControl()\"\n (focus)=\"isFocused($event, 'city')\"\n (blur)=\"isBlurred($event, 'city')\"\n (input)=\"onInput($event, 'city')\"\n />\n </span>\n <span\n *ngIf=\"!config?.state?.hidden\"\n class=\"state region\"\n [class.invalid]=\"invalid.state\"\n [class.focus]=\"focused.state\"\n [class.disabled]=\"disabled.state\"\n [tooltip]=\"tooltip.state\"\n >\n <i *ngIf=\"config.state.required\" class=\"required-indicator\" [ngClass]=\"{ 'bhi-circle': !valid.state, 'bhi-check': valid.state }\"> </i>\n <novo-picker\n [config]=\"config?.state?.pickerConfig\"\n [placeholder]=\"config?.state?.label\"\n (changed)=\"onStateChange($event)\"\n autocomplete=\"shipping region\"\n [(ngModel)]=\"model.state\"\n [disablePickerInput]=\"disabled.state\"\n ></novo-picker>\n </span>\n <span\n *ngIf=\"!config?.zip?.hidden\"\n class=\"zip postal-code\"\n [class.invalid]=\"invalid.zip\"\n [class.focus]=\"focused.zip\"\n [class.disabled]=\"disabled.zip\"\n >\n <i *ngIf=\"config.zip.required\" class=\"required-indicator\" [ngClass]=\"{ 'bhi-circle': !valid.zip, 'bhi-check': valid.zip }\"> </i>\n <input\n [class.maxlength-error]=\"invalidMaxlength.zip\"\n type=\"text\"\n id=\"zip\"\n name=\"zip\"\n [placeholder]=\"config.zip.label\"\n autocomplete=\"shipping postal-code\"\n [maxlength]=\"config?.zip?.maxlength\"\n [(ngModel)]=\"model.zip\"\n (ngModelChange)=\"updateControl()\"\n (focus)=\"isFocused($event, 'zip')\"\n (blur)=\"isBlurred($event, 'zip')\"\n (input)=\"onInput($event, 'zip')\"\n />\n </span>\n <span\n *ngIf=\"!config?.countryID?.hidden\"\n class=\"country-name\"\n [class.invalid]=\"invalid.countryID\"\n [class.focus]=\"focused.countryID\"\n [class.disabled]=\"disabled.countryID\"\n >\n <i\n *ngIf=\"config.countryID.required\"\n class=\"required-indicator\"\n [ngClass]=\"{ 'bhi-circle': !valid.countryID, 'bhi-check': valid.countryID }\"\n >\n </i>\n <novo-picker\n [config]=\"config?.countryID?.pickerConfig\"\n [placeholder]=\"config.countryID.label\"\n (changed)=\"onCountryChange($event)\"\n autocomplete=\"shipping country\"\n [(ngModel)]=\"model.countryID\"\n [disablePickerInput]=\"disabled.countryID\"\n ></novo-picker>\n </span>\n "
|
|
26987
|
+
template: "\n <span\n *ngIf=\"!config?.address1?.hidden\"\n class=\"street-address\"\n [class.invalid]=\"invalid.address1\"\n [class.focus]=\"focused.address1\"\n [class.disabled]=\"disabled.address1\"\n >\n <i\n *ngIf=\"config.address1.required\"\n class=\"required-indicator address1\"\n [ngClass]=\"{ 'bhi-circle': !valid.address1, 'bhi-check': valid.address1 }\"\n >\n </i>\n <input\n [class.maxlength-error]=\"invalidMaxlength.address1\"\n type=\"text\"\n id=\"address1\"\n name=\"address1\"\n [placeholder]=\"config.address1.label\"\n [maxlength]=\"config?.address1?.maxlength\"\n autocomplete=\"shipping street-address address-line-1\"\n [(ngModel)]=\"model.address1\"\n (ngModelChange)=\"updateControl()\"\n (focus)=\"isFocused($event, 'address1')\"\n (blur)=\"isBlurred($event, 'address1')\"\n (input)=\"onInput($event, 'address1')\"\n [disabled]=\"disabled.address1\"\n />\n </span>\n <span\n *ngIf=\"!config?.address2?.hidden\"\n class=\"apt suite\"\n [class.invalid]=\"invalid.address2\"\n [class.focus]=\"focused.address2\"\n [class.disabled]=\"disabled.address2\"\n >\n <i\n *ngIf=\"config.address2.required\"\n class=\"required-indicator address2\"\n [ngClass]=\"{ 'bhi-circle': !valid.address2, 'bhi-check': valid.address2 }\"\n >\n </i>\n <input\n [class.maxlength-error]=\"invalidMaxlength.address2\"\n type=\"text\"\n id=\"address2\"\n name=\"address2\"\n [placeholder]=\"config.address2.label\"\n [maxlength]=\"config?.address2?.maxlength\"\n autocomplete=\"shipping address-line-2\"\n [(ngModel)]=\"model.address2\"\n (ngModelChange)=\"updateControl()\"\n (focus)=\"isFocused($event, 'address2')\"\n (blur)=\"isBlurred($event, 'address2')\"\n (input)=\"onInput($event, 'address2')\"\n [disabled]=\"disabled.address2\"\n />\n </span>\n <span\n *ngIf=\"!config?.city?.hidden\"\n class=\"city locality\"\n [class.invalid]=\"invalid.city\"\n [class.focus]=\"focused.city\"\n [class.disabled]=\"disabled.city\"\n >\n <i *ngIf=\"config.city.required\" class=\"required-indicator\" [ngClass]=\"{ 'bhi-circle': !valid.city, 'bhi-check': valid.city }\"> </i>\n <input\n [class.maxlength-error]=\"invalidMaxlength.city\"\n type=\"text\"\n id=\"city\"\n name=\"city\"\n [placeholder]=\"config.city.label\"\n autocomplete=\"shipping city locality\"\n [maxlength]=\"config?.city?.maxlength\"\n [(ngModel)]=\"model.city\"\n (ngModelChange)=\"updateControl()\"\n (focus)=\"isFocused($event, 'city')\"\n (blur)=\"isBlurred($event, 'city')\"\n (input)=\"onInput($event, 'city')\"\n [disabled]=\"disabled.city\"\n />\n </span>\n <span\n *ngIf=\"!config?.state?.hidden\"\n class=\"state region\"\n [class.invalid]=\"invalid.state\"\n [class.focus]=\"focused.state\"\n [class.disabled]=\"disabled.state\"\n [tooltip]=\"tooltip.state\"\n >\n <i *ngIf=\"config.state.required\" class=\"required-indicator\" [ngClass]=\"{ 'bhi-circle': !valid.state, 'bhi-check': valid.state }\"> </i>\n <novo-picker\n [config]=\"config?.state?.pickerConfig\"\n [placeholder]=\"config?.state?.label\"\n (changed)=\"onStateChange($event)\"\n autocomplete=\"shipping region\"\n [(ngModel)]=\"model.state\"\n [disablePickerInput]=\"disabled.state\"\n ></novo-picker>\n </span>\n <span\n *ngIf=\"!config?.zip?.hidden\"\n class=\"zip postal-code\"\n [class.invalid]=\"invalid.zip\"\n [class.focus]=\"focused.zip\"\n [class.disabled]=\"disabled.zip\"\n >\n <i *ngIf=\"config.zip.required\" class=\"required-indicator\" [ngClass]=\"{ 'bhi-circle': !valid.zip, 'bhi-check': valid.zip }\"> </i>\n <input\n [class.maxlength-error]=\"invalidMaxlength.zip\"\n type=\"text\"\n id=\"zip\"\n name=\"zip\"\n [placeholder]=\"config.zip.label\"\n autocomplete=\"shipping postal-code\"\n [maxlength]=\"config?.zip?.maxlength\"\n [(ngModel)]=\"model.zip\"\n (ngModelChange)=\"updateControl()\"\n (focus)=\"isFocused($event, 'zip')\"\n (blur)=\"isBlurred($event, 'zip')\"\n (input)=\"onInput($event, 'zip')\"\n [disabled]=\"disabled.zip\"\n />\n </span>\n <span\n *ngIf=\"!config?.countryID?.hidden\"\n class=\"country-name\"\n [class.invalid]=\"invalid.countryID\"\n [class.focus]=\"focused.countryID\"\n [class.disabled]=\"disabled.countryID\"\n >\n <i\n *ngIf=\"config.countryID.required\"\n class=\"required-indicator\"\n [ngClass]=\"{ 'bhi-circle': !valid.countryID, 'bhi-check': valid.countryID }\"\n >\n </i>\n <novo-picker\n [config]=\"config?.countryID?.pickerConfig\"\n [placeholder]=\"config.countryID.label\"\n (changed)=\"onCountryChange($event)\"\n autocomplete=\"shipping country\"\n [(ngModel)]=\"model.countryID\"\n [disablePickerInput]=\"disabled.countryID\"\n ></novo-picker>\n </span>\n "
|
|
26945
26988
|
},] }
|
|
26946
26989
|
];
|
|
26947
26990
|
NovoAddressElement.ctorParameters = function () { return [
|
|
@@ -28126,7 +28169,7 @@
|
|
|
28126
28169
|
animations.transition('startDate <=> endDate', animations.animate('200ms ease-in')),
|
|
28127
28170
|
]),
|
|
28128
28171
|
],
|
|
28129
|
-
template: "\n <div class=\"calendar\">\n <div class=\"calendar-top\" *ngIf=\"!inline && !range\">\n <h4 class=\"day\" [attr.data-automation-id]=\"heading?.day\">{{heading?.day}}</h4>\n <h2 class=\"month\" [attr.data-automation-id]=\"heading?.month\">{{heading?.month}}</h2>\n <h1 class=\"date\" [attr.data-automation-id]=\"heading?.date\">{{heading?.date}}</h1>\n <h3 class=\"year\" [attr.data-automation-id]=\"heading?.year\">{{heading?.year}}</h3>\n </div>\n <div class=\"date-range-tabs\" *ngIf=\"range\" [class.week-select-mode]=\"weekRangeSelect\">\n <span class=\"range-tab\" (click)=\"toggleRangeSelect('startDate')\" [@startDateTextState]=\"rangeSelectMode\" data-automation-id=\"calendar-start-date\">{{selectedLabel}}</span>\n <span class=\"range-tab\" (click)=\"toggleRangeSelect('endDate')\" [@endDateTextState]=\"rangeSelectMode\" data-automation-id=\"calendar-end-date\">{{selected2Label}}</span>\n <i class=\"indicator\" [@indicatorState]=\"rangeSelectMode\"></i>\n </div>\n <div class=\"calendar-header\">\n <span class=\"previous\" (click)=\"prevMonth($event)\" data-automation-id=\"calendar-previous\"></span>\n <span class=\"heading\">\n <span class=\"month\" (click)=\"open($event, 'months')\" data-automation-id=\"header-month\">{{monthLabel}}</span>\n <span class=\"year\" (click)=\"open($event, 'years')\" data-automation-id=\"header-year\">{{month?.getFullYear()}}</span>\n </span>\n <span class=\"next\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\"></span>\n </div>\n <table class=\"calendar-content days\" cellspacing=\"0\" cellpadding=\"0\" [hidden]=\"!(view=='days')\">\n <thead>\n <tr>\n <th *ngFor=\"let day of weekdays\" title=\"{{day}}\" class=\"weekday\" [attr.data-automation-id]=\"day.substr(0, 2)\">{{day.substr(0, 2)}}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let week of weeks\">\n <td *ngFor=\"let day of week.days\" [ngClass]=\"{\n today: day.isToday,\n 'notinmonth': day.date.getMonth() !== this.month.getMonth(),\n selected: isSelected(range, day.date, selected, selected2),\n filler: isFiller(range, day.date, selected, selected2),\n startfill: isStartFill(range, day.date, selected, selected2),\n endfill: isEndFill(range, day.date, selected, selected2),\n 'selecting-range': isSelectingRange(range, day.date, selected, selected2, hoverDay, rangeSelectMode, weekRangeSelect)\n }\" (mouseover)=\"rangeHover($event, day)\" [attr.data-automation-id]=\"day.number\">\n <button class=\"day\" [attr.data-automation-id]=\"day.number\" [disabled]=\"isDisabled(day.date, start, end)\" (click)=\"select($event, day, true)\">{{day.number}}</button>\n </td>\n </tr>\n </tbody>\n </table>\n <section class=\"calendar-content months\" [hidden]=\"view !== 'months'\">\n <div *ngFor=\"let month of months;let i = index\" (click)=\"setMonth(i)\">\n <div class=\"month\" [ngClass]=\"{selected: i === selected?.getMonth()}\" [attr.data-automation-id]=\"month\">{{month}}</div>\n </div>\n </section>\n <section class=\"calendar-content years\" [hidden]=\"view !== 'years'\">\n <div *ngFor=\"let year of years\" (click)=\"setYear(year)\">\n <div class=\"year\" [ngClass]=\"{selected: year == selected?.getFullYear()}\" [attr.data-automation-id]=\"year\">{{year}}</div>\n </div>\n </section>\n <div class=\"calendar-footer\">\n <span (click)=\"setToday()\" class=\"today\" data-automation-id=\"calendar-today\">{{ labels.today }}</span>\n </div>\n </div>\n "
|
|
28172
|
+
template: "\n <div class=\"calendar\">\n <div class=\"calendar-top\" *ngIf=\"!inline && !range\">\n <h4 class=\"day\" [attr.data-automation-id]=\"heading?.day\">{{heading?.day}}</h4>\n <h2 class=\"month\" [attr.data-automation-id]=\"heading?.month\">{{heading?.month}}</h2>\n <h1 class=\"date\" [attr.data-automation-id]=\"heading?.date\">{{heading?.date}}</h1>\n <h3 class=\"year\" [attr.data-automation-id]=\"heading?.year\">{{heading?.year}}</h3>\n </div>\n <div class=\"date-range-tabs\" *ngIf=\"range\" [class.week-select-mode]=\"weekRangeSelect\">\n <span class=\"range-tab\" (click)=\"toggleRangeSelect('startDate')\" [@startDateTextState]=\"rangeSelectMode\" data-automation-id=\"calendar-start-date\">{{selectedLabel}}</span>\n <span class=\"range-tab\" (click)=\"toggleRangeSelect('endDate')\" [@endDateTextState]=\"rangeSelectMode\" data-automation-id=\"calendar-end-date\">{{selected2Label}}</span>\n <i class=\"indicator\" [@indicatorState]=\"rangeSelectMode\"></i>\n </div>\n <div class=\"calendar-header\">\n <span class=\"previous\" (click)=\"prevMonth($event)\" data-automation-id=\"calendar-previous\"></span>\n <span class=\"heading\">\n <span class=\"month\" (click)=\"open($event, 'months')\" data-automation-id=\"header-month\">{{monthLabel}}</span>\n <span class=\"year\" (click)=\"open($event, 'years')\" data-automation-id=\"header-year\">{{month?.getFullYear()}}</span>\n </span>\n <span class=\"next\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\"></span>\n </div>\n <table class=\"calendar-content days\" cellspacing=\"0\" cellpadding=\"0\" [hidden]=\"!(view=='days')\">\n <thead>\n <tr>\n <th *ngFor=\"let day of weekdays\" title=\"{{day}}\" class=\"weekday\" [attr.data-automation-id]=\"day.substr(0, 2)\">{{day.substr(0, 2)}}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let week of weeks\">\n <td *ngFor=\"let day of week.days\" [ngClass]=\"{\n today: day.isToday,\n 'notinmonth': day.date.getMonth() !== this.month.getMonth(),\n selected: isSelected(range, day.date, selected, selected2),\n filler: isFiller(range, day.date, selected, selected2),\n startfill: isStartFill(range, day.date, selected, selected2),\n endfill: isEndFill(range, day.date, selected, selected2),\n 'selecting-range': isSelectingRange(range, day.date, selected, selected2, hoverDay, rangeSelectMode, weekRangeSelect)\n }\" (mouseover)=\"rangeHover($event, day)\" [attr.data-automation-id]=\"day.number\">\n <button [title]=\"isDisabled(day.date, start, end) ? disabledDateMessage : ''\" class=\"day\" [attr.data-automation-id]=\"day.number\" [disabled]=\"isDisabled(day.date, start, end)\" (click)=\"select($event, day, true)\">{{day.number}}</button>\n </td>\n </tr>\n </tbody>\n </table>\n <section class=\"calendar-content months\" [hidden]=\"view !== 'months'\">\n <div *ngFor=\"let month of months;let i = index\" (click)=\"setMonth(i)\">\n <div class=\"month\" [ngClass]=\"{selected: i === selected?.getMonth()}\" [attr.data-automation-id]=\"month\">{{month}}</div>\n </div>\n </section>\n <section class=\"calendar-content years\" [hidden]=\"view !== 'years'\">\n <div *ngFor=\"let year of years\" (click)=\"setYear(year)\">\n <div class=\"year\" [ngClass]=\"{selected: year == selected?.getFullYear()}\" [attr.data-automation-id]=\"year\">{{year}}</div>\n </div>\n </section>\n <div class=\"calendar-footer\">\n <span (click)=\"setToday()\" class=\"today\" data-automation-id=\"calendar-today\">{{ labels.today }}</span>\n </div>\n </div>\n "
|
|
28130
28173
|
},] }
|
|
28131
28174
|
];
|
|
28132
28175
|
NovoDatePickerElement.ctorParameters = function () { return [
|
|
@@ -28142,6 +28185,7 @@
|
|
|
28142
28185
|
range: [{ type: core.Input }],
|
|
28143
28186
|
weekRangeSelect: [{ type: core.Input }],
|
|
28144
28187
|
weekStart: [{ type: core.Input }],
|
|
28188
|
+
disabledDateMessage: [{ type: core.Input }],
|
|
28145
28189
|
onSelect: [{ type: core.Output }]
|
|
28146
28190
|
};
|
|
28147
28191
|
|
|
@@ -28558,7 +28602,7 @@
|
|
|
28558
28602
|
{ type: core.Component, args: [{
|
|
28559
28603
|
selector: 'novo-date-picker-input',
|
|
28560
28604
|
providers: [DATE_VALUE_ACCESSOR],
|
|
28561
|
-
template: "\n <input\n type=\"text\"\n [name]=\"name\"\n [(ngModel)]=\"formattedValue\"\n [textMask]=\"maskOptions\"\n [placeholder]=\"placeholder\"\n (focus)=\"_handleFocus($event)\"\n (keydown)=\"_handleKeydown($event)\"\n (input)=\"_handleInput($event)\"\n (blur)=\"_handleBlur($event)\"\n #input\n data-automation-id=\"date-input\"\n [disabled]=\"disabled\"\n />\n <i *ngIf=\"!hasValue\" (click)=\"openPanel()\" class=\"bhi-calendar\"></i>\n <i *ngIf=\"hasValue\" (click)=\"clearValue()\" class=\"bhi-times\"></i>\n <novo-overlay-template [parent]=\"element\" position=\"above-below\">\n <novo-date-picker\n [start]=\"start\"\n [end]=\"end\"\n inline=\"true\"\n (onSelect)=\"setValueAndClose($event)\"\n [ngModel]=\"value\"\n [weekStart]=\"weekStart\"\n ></novo-date-picker>\n </novo-overlay-template>\n "
|
|
28605
|
+
template: "\n <input\n type=\"text\"\n [name]=\"name\"\n [(ngModel)]=\"formattedValue\"\n [textMask]=\"maskOptions\"\n [placeholder]=\"placeholder\"\n (focus)=\"_handleFocus($event)\"\n (keydown)=\"_handleKeydown($event)\"\n (input)=\"_handleInput($event)\"\n (blur)=\"_handleBlur($event)\"\n #input\n data-automation-id=\"date-input\"\n [disabled]=\"disabled\"\n />\n <i *ngIf=\"!hasValue\" (click)=\"openPanel()\" class=\"bhi-calendar\"></i>\n <i *ngIf=\"hasValue\" (click)=\"clearValue()\" class=\"bhi-times\"></i>\n <novo-overlay-template [parent]=\"element\" position=\"above-below\">\n <novo-date-picker\n [start]=\"start\"\n [end]=\"end\"\n inline=\"true\"\n (onSelect)=\"setValueAndClose($event)\"\n [disabledDateMessage]=\"disabledDateMessage\"\n [ngModel]=\"value\"\n [weekStart]=\"weekStart\"\n ></novo-date-picker>\n </novo-overlay-template>\n "
|
|
28562
28606
|
},] }
|
|
28563
28607
|
];
|
|
28564
28608
|
NovoDatePickerInputElement.ctorParameters = function () { return [
|
|
@@ -28576,6 +28620,7 @@
|
|
|
28576
28620
|
format: [{ type: core.Input }],
|
|
28577
28621
|
textMaskEnabled: [{ type: core.Input }],
|
|
28578
28622
|
allowInvalidDate: [{ type: core.Input }],
|
|
28623
|
+
disabledDateMessage: [{ type: core.Input }],
|
|
28579
28624
|
disabled: [{ type: core.HostBinding, args: ['class.disabled',] }, { type: core.Input }],
|
|
28580
28625
|
weekStart: [{ type: core.Input }],
|
|
28581
28626
|
blurEvent: [{ type: core.Output }],
|
|
@@ -28668,6 +28713,7 @@
|
|
|
28668
28713
|
_this.dataTable = dataTable;
|
|
28669
28714
|
_this.ref = ref;
|
|
28670
28715
|
_this.role = 'gridcell';
|
|
28716
|
+
_this.maxSelected = undefined;
|
|
28671
28717
|
_this.checked = false;
|
|
28672
28718
|
renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', "novo-checkbox-column-" + columnDef.cssClassFriendlyName);
|
|
28673
28719
|
renderer.addClass(elementRef.nativeElement, "novo-checkbox-column-" + columnDef.cssClassFriendlyName);
|
|
@@ -28682,11 +28728,23 @@
|
|
|
28682
28728
|
});
|
|
28683
28729
|
return _this;
|
|
28684
28730
|
}
|
|
28731
|
+
Object.defineProperty(NovoDataTableCheckboxCell.prototype, "isAtLimit", {
|
|
28732
|
+
get: function () {
|
|
28733
|
+
return this.maxSelected && this.dataTable.state.selectedRows.size >= this.maxSelected && !this.checked;
|
|
28734
|
+
},
|
|
28735
|
+
enumerable: false,
|
|
28736
|
+
configurable: true
|
|
28737
|
+
});
|
|
28685
28738
|
NovoDataTableCheckboxCell.prototype.ngOnInit = function () {
|
|
28686
28739
|
this.checked = this.dataTable.isSelected(this.row);
|
|
28687
28740
|
};
|
|
28688
28741
|
NovoDataTableCheckboxCell.prototype.onClick = function () {
|
|
28689
|
-
|
|
28742
|
+
if (!this.isAtLimit) {
|
|
28743
|
+
this.dataTable.selectRow(this.row);
|
|
28744
|
+
}
|
|
28745
|
+
};
|
|
28746
|
+
NovoDataTableCheckboxCell.prototype.getTooltip = function () {
|
|
28747
|
+
return (this.isAtLimit) ? 'More than ' + this.maxSelected + ' items are not able to be selected at one time' : '';
|
|
28690
28748
|
};
|
|
28691
28749
|
NovoDataTableCheckboxCell.prototype.ngOnDestroy = function () {
|
|
28692
28750
|
if (this.selectionSubscription) {
|
|
@@ -28701,7 +28759,7 @@
|
|
|
28701
28759
|
NovoDataTableCheckboxCell.decorators = [
|
|
28702
28760
|
{ type: core.Component, args: [{
|
|
28703
28761
|
selector: 'novo-data-table-checkbox-cell',
|
|
28704
|
-
template: "\n <div class=\"data-table-checkbox\" (click)=\"onClick()\">\n <input type=\"checkbox\" [checked]=\"checked\">\n <label>\n <i [class.bhi-checkbox-empty]=\"!checked\"\n [class.bhi-checkbox-filled]=\"checked\"></i>\n </label>\n </div>\n ",
|
|
28762
|
+
template: "\n <div class=\"data-table-checkbox\" (click)=\"onClick()\" [tooltip]=\"getTooltip()\" tooltipPosition=\"right\">\n <input type=\"checkbox\" [checked]=\"checked\">\n <label>\n <i [class.bhi-checkbox-disabled]=\"isAtLimit\"\n [class.bhi-checkbox-empty]=\"!checked\"\n [class.bhi-checkbox-filled]=\"checked\"></i>\n </label>\n </div>\n ",
|
|
28705
28763
|
changeDetection: core.ChangeDetectionStrategy.OnPush
|
|
28706
28764
|
},] }
|
|
28707
28765
|
];
|
|
@@ -28714,7 +28772,8 @@
|
|
|
28714
28772
|
]; };
|
|
28715
28773
|
NovoDataTableCheckboxCell.propDecorators = {
|
|
28716
28774
|
role: [{ type: core.HostBinding, args: ['attr.role',] }],
|
|
28717
|
-
row: [{ type: core.Input }]
|
|
28775
|
+
row: [{ type: core.Input }],
|
|
28776
|
+
maxSelected: [{ type: core.Input }]
|
|
28718
28777
|
};
|
|
28719
28778
|
|
|
28720
28779
|
var NovoDataTableExpandCell = /** @class */ (function (_super) {
|
|
@@ -28860,13 +28919,210 @@
|
|
|
28860
28919
|
role: [{ type: core.HostBinding, args: ['attr.role',] }]
|
|
28861
28920
|
};
|
|
28862
28921
|
|
|
28922
|
+
// NG2
|
|
28923
|
+
var NovoToastElement = /** @class */ (function () {
|
|
28924
|
+
function NovoToastElement(sanitizer) {
|
|
28925
|
+
this.sanitizer = sanitizer;
|
|
28926
|
+
this.theme = 'danger';
|
|
28927
|
+
this.icon = 'caution';
|
|
28928
|
+
this.hasDialogue = false;
|
|
28929
|
+
this.isCloseable = false;
|
|
28930
|
+
this.closed = new core.EventEmitter();
|
|
28931
|
+
this.show = false;
|
|
28932
|
+
this.animate = false;
|
|
28933
|
+
this.parent = null;
|
|
28934
|
+
this.launched = false;
|
|
28935
|
+
}
|
|
28936
|
+
Object.defineProperty(NovoToastElement.prototype, "message", {
|
|
28937
|
+
set: function (m) {
|
|
28938
|
+
this._message = this.sanitizer.bypassSecurityTrustHtml(m);
|
|
28939
|
+
},
|
|
28940
|
+
enumerable: false,
|
|
28941
|
+
configurable: true
|
|
28942
|
+
});
|
|
28943
|
+
NovoToastElement.prototype.ngOnInit = function () {
|
|
28944
|
+
if (!this.launched) {
|
|
28945
|
+
// clear position and time
|
|
28946
|
+
this.position = null;
|
|
28947
|
+
this.time = null;
|
|
28948
|
+
// set icon and styling
|
|
28949
|
+
this.iconClass = "bhi-" + this.icon;
|
|
28950
|
+
this.alertTheme = this.theme + " toast-container embedded";
|
|
28951
|
+
if (this.hasDialogue) {
|
|
28952
|
+
this.alertTheme += ' dialogue';
|
|
28953
|
+
}
|
|
28954
|
+
}
|
|
28955
|
+
};
|
|
28956
|
+
NovoToastElement.prototype.ngOnChanges = function (changes) {
|
|
28957
|
+
// set icon and styling
|
|
28958
|
+
this.iconClass = "bhi-" + this.icon;
|
|
28959
|
+
this.alertTheme = this.theme + " toast-container embedded";
|
|
28960
|
+
if (this.hasDialogue) {
|
|
28961
|
+
this.alertTheme += ' dialogue';
|
|
28962
|
+
}
|
|
28963
|
+
};
|
|
28964
|
+
NovoToastElement.prototype.clickHandler = function (event) {
|
|
28965
|
+
if (!this.isCloseable) {
|
|
28966
|
+
if (event) {
|
|
28967
|
+
event.stopPropagation();
|
|
28968
|
+
event.preventDefault();
|
|
28969
|
+
}
|
|
28970
|
+
if (this.parent) {
|
|
28971
|
+
this.parent.hide(this);
|
|
28972
|
+
}
|
|
28973
|
+
else {
|
|
28974
|
+
this.closed.emit({ closed: true });
|
|
28975
|
+
}
|
|
28976
|
+
}
|
|
28977
|
+
};
|
|
28978
|
+
NovoToastElement.prototype.close = function (event) {
|
|
28979
|
+
if (event) {
|
|
28980
|
+
event.stopPropagation();
|
|
28981
|
+
event.preventDefault();
|
|
28982
|
+
}
|
|
28983
|
+
if (this.parent) {
|
|
28984
|
+
this.parent.hide(this);
|
|
28985
|
+
}
|
|
28986
|
+
else {
|
|
28987
|
+
this.closed.emit({ closed: true });
|
|
28988
|
+
}
|
|
28989
|
+
};
|
|
28990
|
+
return NovoToastElement;
|
|
28991
|
+
}());
|
|
28992
|
+
NovoToastElement.decorators = [
|
|
28993
|
+
{ type: core.Component, args: [{
|
|
28994
|
+
selector: 'novo-toast',
|
|
28995
|
+
host: {
|
|
28996
|
+
'[class]': 'alertTheme',
|
|
28997
|
+
'[class.show]': 'show',
|
|
28998
|
+
'[class.animate]': 'animate',
|
|
28999
|
+
'[class.embedded]': 'embedded',
|
|
29000
|
+
'(click)': '!isCloseable && clickHandler($event)',
|
|
29001
|
+
},
|
|
29002
|
+
template: "\n <div class=\"toast-icon\">\n <i [ngClass]=\"iconClass\"></i>\n </div>\n <div class=\"toast-content\">\n <h5 *ngIf=\"title\">{{title}}</h5>\n <p *ngIf=\"_message\" [class.message-only]=\"!title\" [innerHtml]=\"_message\"></p>\n <div *ngIf=\"link\" class=\"link-generated\">\n <input type=\"text\" [value]=\"link\" onfocus=\"this.select();\"/>\n </div>\n <div class=\"dialogue\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"close-icon\" *ngIf=\"isCloseable\" (click)=\"close($event)\">\n <i class=\"bhi-times\"></i>\n </div>\n "
|
|
29003
|
+
},] }
|
|
29004
|
+
];
|
|
29005
|
+
NovoToastElement.ctorParameters = function () { return [
|
|
29006
|
+
{ type: platformBrowser.DomSanitizer }
|
|
29007
|
+
]; };
|
|
29008
|
+
NovoToastElement.propDecorators = {
|
|
29009
|
+
theme: [{ type: core.Input }],
|
|
29010
|
+
icon: [{ type: core.Input }],
|
|
29011
|
+
title: [{ type: core.Input }],
|
|
29012
|
+
hasDialogue: [{ type: core.Input }],
|
|
29013
|
+
link: [{ type: core.Input }],
|
|
29014
|
+
isCloseable: [{ type: core.Input }],
|
|
29015
|
+
message: [{ type: core.Input }],
|
|
29016
|
+
closed: [{ type: core.Output }]
|
|
29017
|
+
};
|
|
29018
|
+
|
|
29019
|
+
// NG2
|
|
29020
|
+
var NovoToastService = /** @class */ (function () {
|
|
29021
|
+
function NovoToastService(componentUtils) {
|
|
29022
|
+
this.componentUtils = componentUtils;
|
|
29023
|
+
this.references = [];
|
|
29024
|
+
this.icons = { default: 'bell', success: 'check', info: 'info', warning: 'warning', danger: 'remove' };
|
|
29025
|
+
this.defaults = { hideDelay: 3500, position: 'growlTopRight', theme: 'default' };
|
|
29026
|
+
}
|
|
29027
|
+
Object.defineProperty(NovoToastService.prototype, "parentViewContainer", {
|
|
29028
|
+
set: function (view) {
|
|
29029
|
+
this._parentViewContainer = view;
|
|
29030
|
+
},
|
|
29031
|
+
enumerable: false,
|
|
29032
|
+
configurable: true
|
|
29033
|
+
});
|
|
29034
|
+
NovoToastService.prototype.alert = function (options, toastElement) {
|
|
29035
|
+
var _this = this;
|
|
29036
|
+
if (toastElement === void 0) { toastElement = NovoToastElement; }
|
|
29037
|
+
return new Promise(function (resolve) {
|
|
29038
|
+
if (!_this._parentViewContainer) {
|
|
29039
|
+
console.error('No parent view container specified for the ToastService. Set it inside your main application. \nthis.toastService.parentViewContainer = view (ViewContainerRef)');
|
|
29040
|
+
return;
|
|
29041
|
+
}
|
|
29042
|
+
var toast = _this.componentUtils.append(toastElement, _this._parentViewContainer);
|
|
29043
|
+
_this.references.push(toast);
|
|
29044
|
+
_this.handleAlert(toast.instance, options);
|
|
29045
|
+
resolve(toast);
|
|
29046
|
+
});
|
|
29047
|
+
};
|
|
29048
|
+
NovoToastService.prototype.isVisible = function (toast) {
|
|
29049
|
+
return toast.show;
|
|
29050
|
+
};
|
|
29051
|
+
NovoToastService.prototype.hide = function (toast) {
|
|
29052
|
+
var _this = this;
|
|
29053
|
+
toast.animate = false;
|
|
29054
|
+
setTimeout(function () {
|
|
29055
|
+
toast.show = false;
|
|
29056
|
+
var REF = _this.references.filter(function (x) { return x.instance === toast; })[0];
|
|
29057
|
+
if (REF) {
|
|
29058
|
+
_this.references.splice(_this.references.indexOf(REF), 1);
|
|
29059
|
+
REF.destroy();
|
|
29060
|
+
}
|
|
29061
|
+
}, 300);
|
|
29062
|
+
};
|
|
29063
|
+
NovoToastService.prototype.handleAlert = function (toast, options) {
|
|
29064
|
+
var _this = this;
|
|
29065
|
+
this.setToastOnSession(toast, options);
|
|
29066
|
+
setTimeout(function () {
|
|
29067
|
+
_this.show(toast);
|
|
29068
|
+
}, 20);
|
|
29069
|
+
if (!toast.isCloseable) {
|
|
29070
|
+
this.toastTimer(toast);
|
|
29071
|
+
}
|
|
29072
|
+
};
|
|
29073
|
+
NovoToastService.prototype.setToastOnSession = function (toast, opts) {
|
|
29074
|
+
var OPTIONS = typeof opts === 'object' ? opts : {};
|
|
29075
|
+
toast.parent = this;
|
|
29076
|
+
toast.title = OPTIONS.title || '';
|
|
29077
|
+
toast.message = OPTIONS.message || '';
|
|
29078
|
+
toast.hideDelay = OPTIONS.hideDelay || this.defaults.hideDelay;
|
|
29079
|
+
toast.link = OPTIONS.link || '';
|
|
29080
|
+
toast.isCloseable = OPTIONS.isCloseable || false;
|
|
29081
|
+
var CUSTOM_CLASS = OPTIONS.customClass || '';
|
|
29082
|
+
var ALERT_STYLE = OPTIONS.theme || this.defaults.theme;
|
|
29083
|
+
var ALERT_POSITION = OPTIONS.position || this.defaults.position;
|
|
29084
|
+
var ALERT_ICON = OPTIONS.icon || this.icons.default;
|
|
29085
|
+
toast.iconClass = "bhi-" + ALERT_ICON;
|
|
29086
|
+
toast.launched = true;
|
|
29087
|
+
toast.alertTheme = ALERT_STYLE + " " + ALERT_POSITION + " " + CUSTOM_CLASS + " toast-container launched";
|
|
29088
|
+
};
|
|
29089
|
+
NovoToastService.prototype.show = function (toast) {
|
|
29090
|
+
toast.show = true;
|
|
29091
|
+
setTimeout(addClass, 25);
|
|
29092
|
+
/**
|
|
29093
|
+
* Adds animate class to be called after a timeout
|
|
29094
|
+
**/
|
|
29095
|
+
function addClass() {
|
|
29096
|
+
toast.animate = true;
|
|
29097
|
+
}
|
|
29098
|
+
};
|
|
29099
|
+
NovoToastService.prototype.toastTimer = function (toast) {
|
|
29100
|
+
var _this = this;
|
|
29101
|
+
if (toast.hideDelay < 0) {
|
|
29102
|
+
return;
|
|
29103
|
+
}
|
|
29104
|
+
setTimeout(function () {
|
|
29105
|
+
_this.hide(toast);
|
|
29106
|
+
}, toast.hideDelay);
|
|
29107
|
+
};
|
|
29108
|
+
return NovoToastService;
|
|
29109
|
+
}());
|
|
29110
|
+
NovoToastService.decorators = [
|
|
29111
|
+
{ type: core.Injectable }
|
|
29112
|
+
];
|
|
29113
|
+
NovoToastService.ctorParameters = function () { return [
|
|
29114
|
+
{ type: ComponentUtils }
|
|
29115
|
+
]; };
|
|
29116
|
+
|
|
28863
29117
|
var NovoDataTableCheckboxHeaderCell = /** @class */ (function (_super) {
|
|
28864
29118
|
__extends(NovoDataTableCheckboxHeaderCell, _super);
|
|
28865
|
-
function NovoDataTableCheckboxHeaderCell(columnDef, elementRef, renderer, dataTable, ref) {
|
|
29119
|
+
function NovoDataTableCheckboxHeaderCell(columnDef, elementRef, renderer, dataTable, ref, toaster) {
|
|
28866
29120
|
var _this = _super.call(this, columnDef, elementRef) || this;
|
|
28867
29121
|
_this.dataTable = dataTable;
|
|
28868
29122
|
_this.ref = ref;
|
|
29123
|
+
_this.toaster = toaster;
|
|
28869
29124
|
_this.role = 'columnheader';
|
|
29125
|
+
_this.maxSelected = undefined;
|
|
28870
29126
|
_this.checked = false;
|
|
28871
29127
|
renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', "novo-checkbox-column-header-" + columnDef.cssClassFriendlyName);
|
|
28872
29128
|
renderer.addClass(elementRef.nativeElement, "novo-checkbox-column-" + columnDef.cssClassFriendlyName);
|
|
@@ -28879,6 +29135,8 @@
|
|
|
28879
29135
|
if (event.isPageSizeChange) {
|
|
28880
29136
|
_this.checked = false;
|
|
28881
29137
|
_this.dataTable.selectRows(false);
|
|
29138
|
+
_this.dataTable.state.checkRetainment('pageSize');
|
|
29139
|
+
_this.dataTable.state.reset(false, true);
|
|
28882
29140
|
}
|
|
28883
29141
|
else {
|
|
28884
29142
|
_this.checked = _this.dataTable.allCurrentRowsSelected();
|
|
@@ -28891,6 +29149,13 @@
|
|
|
28891
29149
|
});
|
|
28892
29150
|
return _this;
|
|
28893
29151
|
}
|
|
29152
|
+
Object.defineProperty(NovoDataTableCheckboxHeaderCell.prototype, "isAtLimit", {
|
|
29153
|
+
get: function () {
|
|
29154
|
+
return this.maxSelected && this.dataTable.state.selectedRows.size + this.dataTable.dataSource.data.length > this.maxSelected && !this.checked;
|
|
29155
|
+
},
|
|
29156
|
+
enumerable: false,
|
|
29157
|
+
configurable: true
|
|
29158
|
+
});
|
|
28894
29159
|
NovoDataTableCheckboxHeaderCell.prototype.ngOnDestroy = function () {
|
|
28895
29160
|
if (this.selectionSubscription) {
|
|
28896
29161
|
this.selectionSubscription.unsubscribe();
|
|
@@ -28903,7 +29168,17 @@
|
|
|
28903
29168
|
}
|
|
28904
29169
|
};
|
|
28905
29170
|
NovoDataTableCheckboxHeaderCell.prototype.onClick = function () {
|
|
28906
|
-
|
|
29171
|
+
if (this.isAtLimit) {
|
|
29172
|
+
this.toaster.alert({
|
|
29173
|
+
theme: 'danger',
|
|
29174
|
+
position: 'fixedTop',
|
|
29175
|
+
message: 'Error, more than 500 items are not able to be selected at one time',
|
|
29176
|
+
icon: 'caution',
|
|
29177
|
+
});
|
|
29178
|
+
}
|
|
29179
|
+
else {
|
|
29180
|
+
this.dataTable.selectRows(!this.checked);
|
|
29181
|
+
}
|
|
28907
29182
|
};
|
|
28908
29183
|
return NovoDataTableCheckboxHeaderCell;
|
|
28909
29184
|
}(table.CdkHeaderCell));
|
|
@@ -28919,10 +29194,12 @@
|
|
|
28919
29194
|
{ type: core.ElementRef },
|
|
28920
29195
|
{ type: core.Renderer2 },
|
|
28921
29196
|
{ type: NovoDataTable },
|
|
28922
|
-
{ type: core.ChangeDetectorRef }
|
|
29197
|
+
{ type: core.ChangeDetectorRef },
|
|
29198
|
+
{ type: NovoToastService }
|
|
28923
29199
|
]; };
|
|
28924
29200
|
NovoDataTableCheckboxHeaderCell.propDecorators = {
|
|
28925
|
-
role: [{ type: core.HostBinding, args: ['attr.role',] }]
|
|
29201
|
+
role: [{ type: core.HostBinding, args: ['attr.role',] }],
|
|
29202
|
+
maxSelected: [{ type: core.Input }]
|
|
28926
29203
|
};
|
|
28927
29204
|
|
|
28928
29205
|
var NovoDataTableHeaderCell = /** @class */ (function (_super) {
|
|
@@ -29038,10 +29315,12 @@
|
|
|
29038
29315
|
this.resetSubscription.unsubscribe();
|
|
29039
29316
|
};
|
|
29040
29317
|
NovoDataTablePagination.prototype.selectPage = function (page) {
|
|
29318
|
+
this.state.checkRetainment('page');
|
|
29041
29319
|
this.page = page;
|
|
29042
29320
|
this.emitPageEvent();
|
|
29043
29321
|
};
|
|
29044
29322
|
NovoDataTablePagination.prototype.nextPage = function () {
|
|
29323
|
+
this.state.checkRetainment('page');
|
|
29045
29324
|
if (!this.hasNextPage()) {
|
|
29046
29325
|
return;
|
|
29047
29326
|
}
|
|
@@ -29050,6 +29329,7 @@
|
|
|
29050
29329
|
this.emitPageEvent();
|
|
29051
29330
|
};
|
|
29052
29331
|
NovoDataTablePagination.prototype.previousPage = function () {
|
|
29332
|
+
this.state.checkRetainment('page');
|
|
29053
29333
|
if (!this.hasPreviousPage()) {
|
|
29054
29334
|
return;
|
|
29055
29335
|
}
|
|
@@ -29581,7 +29861,7 @@
|
|
|
29581
29861
|
animations.transition('date <=> time', animations.animate('200ms ease-in')),
|
|
29582
29862
|
]),
|
|
29583
29863
|
],
|
|
29584
|
-
template: "\n <div class=\"date-time-container\">\n <div class=\"date-time-tabs\">\n <span\n class=\"date-tab\"\n (click)=\"toggleView('date')\"\n [@dateTextState]=\"componentTabState\"\n data-automation-id=\"novo-date-time-date-tab\"\n >{{ selectedLabel }}</span\n >\n <span\n class=\"time-tab\"\n (click)=\"toggleView('time')\"\n [@timeTextState]=\"componentTabState\"\n data-automation-id=\"novo-date-time-time-tab\"\n >\n <span class=\"hours\" data-automation-id=\"novo-time-picker-hours\">{{ hours }}</span\n >:<span class=\"minutes\" data-automation-id=\"novo-time-picker-minutes\">{{ minutes }}</span>\n <span *ngIf=\"!military\" class=\"meridian\"> {{ meridian }}</span>\n </span>\n <i class=\"date-time-indicator\" [@indicatorState]=\"componentTabState\"></i>\n </div>\n <div class=\"view-container\" [@containerState]=\"componentTabState\">\n <div class=\"calendar\">\n <novo-date-picker\n (onSelect)=\"onDateSelected($event)\"\n [(ngModel)]=\"model\"\n inline=\"true\"\n [minYear]=\"minYear\"\n [maxYear]=\"maxYear\"\n [start]=\"start\"\n [end]=\"end\"\n [weekStart]=\"weekStart\"\n ></novo-date-picker>\n </div>\n <div class=\"time-picker\">\n <novo-time-picker (onSelect)=\"onTimeSelected($event)\" [(ngModel)]=\"model\" [military]=\"military\" inline=\"true\"></novo-time-picker>\n </div>\n </div>\n </div>\n "
|
|
29864
|
+
template: "\n <div class=\"date-time-container\">\n <div class=\"date-time-tabs\">\n <span\n class=\"date-tab\"\n (click)=\"toggleView('date')\"\n [@dateTextState]=\"componentTabState\"\n data-automation-id=\"novo-date-time-date-tab\"\n >{{ selectedLabel }}</span\n >\n <span\n class=\"time-tab\"\n (click)=\"toggleView('time')\"\n [@timeTextState]=\"componentTabState\"\n data-automation-id=\"novo-date-time-time-tab\"\n >\n <span class=\"hours\" data-automation-id=\"novo-time-picker-hours\">{{ hours }}</span\n >:<span class=\"minutes\" data-automation-id=\"novo-time-picker-minutes\">{{ minutes }}</span>\n <span *ngIf=\"!military\" class=\"meridian\"> {{ meridian }}</span>\n </span>\n <i class=\"date-time-indicator\" [@indicatorState]=\"componentTabState\"></i>\n </div>\n <div class=\"view-container\" [@containerState]=\"componentTabState\">\n <div class=\"calendar\">\n <novo-date-picker\n (onSelect)=\"onDateSelected($event)\"\n [(ngModel)]=\"model\"\n inline=\"true\"\n [minYear]=\"minYear\"\n [maxYear]=\"maxYear\"\n [start]=\"start\"\n [end]=\"end\"\n [disabledDateMessage]=\"disabledDateMessage\"\n [weekStart]=\"weekStart\"\n ></novo-date-picker>\n </div>\n <div class=\"time-picker\">\n <novo-time-picker (onSelect)=\"onTimeSelected($event)\" [(ngModel)]=\"model\" [military]=\"military\" inline=\"true\"></novo-time-picker>\n </div>\n </div>\n </div>\n "
|
|
29585
29865
|
},] }
|
|
29586
29866
|
];
|
|
29587
29867
|
NovoDateTimePickerElement.ctorParameters = function () { return [
|
|
@@ -29595,6 +29875,7 @@
|
|
|
29595
29875
|
end: [{ type: core.Input }],
|
|
29596
29876
|
military: [{ type: core.Input }],
|
|
29597
29877
|
weekStart: [{ type: core.Input }],
|
|
29878
|
+
disabledDateMessage: [{ type: core.Input }],
|
|
29598
29879
|
onSelect: [{ type: core.Output }]
|
|
29599
29880
|
};
|
|
29600
29881
|
|
|
@@ -29706,7 +29987,7 @@
|
|
|
29706
29987
|
{ type: core.Component, args: [{
|
|
29707
29988
|
selector: 'novo-date-time-picker-input',
|
|
29708
29989
|
providers: [DATE_VALUE_ACCESSOR$1],
|
|
29709
|
-
template: "\n <novo-date-picker-input\n [ngModel]=\"datePart\"\n (ngModelChange)=\"updateDate($event)\"\n [start]=\"start\"\n [end]=\"end\"\n [maskOptions]=\"maskOptions\"\n (blurEvent)=\"handleBlur($event)\"\n (focusEvent)=\"handleFocus($event)\"\n [disabled]=\"disabled\"\n [weekStart]=\"weekStart\"\n ></novo-date-picker-input>\n <novo-time-picker-input\n [ngModel]=\"timePart\"\n (ngModelChange)=\"updateTime($event)\"\n [military]=\"military\"\n (blurEvent)=\"handleBlur($event)\"\n (focusEvent)=\"handleFocus($event)\"\n [disabled]=\"disabled\"\n ></novo-time-picker-input>\n "
|
|
29990
|
+
template: "\n <novo-date-picker-input\n [ngModel]=\"datePart\"\n (ngModelChange)=\"updateDate($event)\"\n [start]=\"start\"\n [end]=\"end\"\n [disabledDateMessage]=\"disabledDateMessage\"\n [maskOptions]=\"maskOptions\"\n (blurEvent)=\"handleBlur($event)\"\n (focusEvent)=\"handleFocus($event)\"\n [disabled]=\"disabled\"\n [weekStart]=\"weekStart\"\n ></novo-date-picker-input>\n <novo-time-picker-input\n [ngModel]=\"timePart\"\n (ngModelChange)=\"updateTime($event)\"\n [military]=\"military\"\n (blurEvent)=\"handleBlur($event)\"\n (focusEvent)=\"handleFocus($event)\"\n [disabled]=\"disabled\"\n ></novo-time-picker-input>\n "
|
|
29710
29991
|
},] }
|
|
29711
29992
|
];
|
|
29712
29993
|
NovoDateTimePickerInputElement.ctorParameters = function () { return [
|
|
@@ -29724,6 +30005,7 @@
|
|
|
29724
30005
|
disabled: [{ type: core.Input }],
|
|
29725
30006
|
format: [{ type: core.Input }],
|
|
29726
30007
|
weekStart: [{ type: core.Input }],
|
|
30008
|
+
disabledDateMessage: [{ type: core.Input }],
|
|
29727
30009
|
blurEvent: [{ type: core.Output }],
|
|
29728
30010
|
focusEvent: [{ type: core.Output }],
|
|
29729
30011
|
changeEvent: [{ type: core.Output }]
|
|
@@ -30604,6 +30886,7 @@
|
|
|
30604
30886
|
_this.isEmpty = config.isEmpty;
|
|
30605
30887
|
}
|
|
30606
30888
|
_this.weekStart = config.weekStart || 0;
|
|
30889
|
+
_this.disabledDateMessage = config.disabledDateMessage;
|
|
30607
30890
|
return _this;
|
|
30608
30891
|
}
|
|
30609
30892
|
return BaseControl;
|
|
@@ -31101,6 +31384,7 @@
|
|
|
31101
31384
|
_this.tipWell = control.tipWell;
|
|
31102
31385
|
_this.customControlConfig = control.customControlConfig;
|
|
31103
31386
|
_this.warning = control.warning;
|
|
31387
|
+
_this.disabledDateMessage = control.disabledDateMessage;
|
|
31104
31388
|
// Reactive Form, need to enable/disable, can't bind to [disabled]
|
|
31105
31389
|
if (_this.readOnly) {
|
|
31106
31390
|
_this.disable();
|
|
@@ -31453,7 +31737,7 @@
|
|
|
31453
31737
|
return key.indexOf('customEncrypted') > -1;
|
|
31454
31738
|
};
|
|
31455
31739
|
FormUtils.prototype.getControlForField = function (field, http, config, overrides, forTable, fieldData) {
|
|
31456
|
-
var e_1,
|
|
31740
|
+
var e_1, _b;
|
|
31457
31741
|
if (forTable === void 0) { forTable = false; }
|
|
31458
31742
|
// TODO: if field.type overrides `determineInputType` we should use it in that method or use this method
|
|
31459
31743
|
// TODO: (cont.) as the setter of the field argument
|
|
@@ -31492,7 +31776,7 @@
|
|
|
31492
31776
|
closeOnSelect: field.closeOnSelect,
|
|
31493
31777
|
layoutOptions: field.layoutOptions,
|
|
31494
31778
|
};
|
|
31495
|
-
this.
|
|
31779
|
+
this.inferDateRange(controlConfig, field);
|
|
31496
31780
|
// TODO: getControlOptions should always return the correct format
|
|
31497
31781
|
var optionsConfig = this.getControlOptions(field, http, config, fieldData);
|
|
31498
31782
|
if (Array.isArray(optionsConfig) && !(type === 'chips' || type === 'picker')) {
|
|
@@ -31632,8 +31916,8 @@
|
|
|
31632
31916
|
controlConfig.config.readOnly = controlConfig.readOnly;
|
|
31633
31917
|
if (field.fields && field.fields.length) {
|
|
31634
31918
|
try {
|
|
31635
|
-
for (var
|
|
31636
|
-
var subfield =
|
|
31919
|
+
for (var _c = __values(field.fields), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
31920
|
+
var subfield = _d.value;
|
|
31637
31921
|
controlConfig.config[subfield.name] = {
|
|
31638
31922
|
required: !!subfield.required,
|
|
31639
31923
|
hidden: !!subfield.readOnly,
|
|
@@ -31671,7 +31955,7 @@
|
|
|
31671
31955
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
31672
31956
|
finally {
|
|
31673
31957
|
try {
|
|
31674
|
-
if (
|
|
31958
|
+
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
31675
31959
|
}
|
|
31676
31960
|
finally { if (e_1) throw e_1.error; }
|
|
31677
31961
|
}
|
|
@@ -31799,7 +32083,7 @@
|
|
|
31799
32083
|
return (data && data[field.name]) || null;
|
|
31800
32084
|
};
|
|
31801
32085
|
FormUtils.prototype.getEmbeddedFieldData = function (field, data) {
|
|
31802
|
-
var
|
|
32086
|
+
var _b = __read(field.name.split('.'), 2), parentFieldName = _b[0], fieldName = _b[1];
|
|
31803
32087
|
return (data && data[parentFieldName] && data[parentFieldName][fieldName]) || null;
|
|
31804
32088
|
};
|
|
31805
32089
|
FormUtils.prototype.getFormFields = function (meta) {
|
|
@@ -31810,6 +32094,7 @@
|
|
|
31810
32094
|
})
|
|
31811
32095
|
: [];
|
|
31812
32096
|
var fields = meta.fields.map(function (field) {
|
|
32097
|
+
field.parentEntity = meta.entity;
|
|
31813
32098
|
if (!field.hasOwnProperty('sortOrder')) {
|
|
31814
32099
|
field.sortOrder = Number.MAX_SAFE_INTEGER - 1;
|
|
31815
32100
|
}
|
|
@@ -32017,23 +32302,23 @@
|
|
|
32017
32302
|
return dateFns.addDays(dateFns.startOfToday(), dateRange.minOffset);
|
|
32018
32303
|
}
|
|
32019
32304
|
};
|
|
32020
|
-
|
|
32021
|
-
|
|
32022
|
-
|
|
32023
|
-
|
|
32024
|
-
if (
|
|
32025
|
-
return
|
|
32305
|
+
FormUtils.prototype.getEndDateFromRange = function (dateRange) {
|
|
32306
|
+
if (dateRange.maxDate) {
|
|
32307
|
+
return dateFns.parse(dateRange.maxDate);
|
|
32308
|
+
}
|
|
32309
|
+
else if (dateRange.minOffset) {
|
|
32310
|
+
return dateFns.addDays(dateFns.startOfToday(), dateRange.minOffset);
|
|
32026
32311
|
}
|
|
32027
|
-
// there is no restriction on the start date
|
|
32028
|
-
return null;
|
|
32029
32312
|
};
|
|
32030
|
-
|
|
32031
|
-
|
|
32032
|
-
|
|
32033
|
-
|
|
32034
|
-
|
|
32035
|
-
|
|
32036
|
-
|
|
32313
|
+
/**
|
|
32314
|
+
* Get the min start date and max end date of a Date base on field data.
|
|
32315
|
+
*/
|
|
32316
|
+
FormUtils.prototype.inferDateRange = function (controlConfig, field) {
|
|
32317
|
+
var _a;
|
|
32318
|
+
if (field.dataType === 'Date' && field.allowedDateRange) {
|
|
32319
|
+
controlConfig.startDate = this.getStartDateFromRange(field.allowedDateRange);
|
|
32320
|
+
controlConfig.endDate = this.getEndDateFromRange(field.allowedDateRange);
|
|
32321
|
+
controlConfig.disabledDateMessage = (_a = field.allowedDateRange) === null || _a === void 0 ? void 0 : _a.disabledDateMessage;
|
|
32037
32322
|
}
|
|
32038
32323
|
};
|
|
32039
32324
|
FormUtils.prototype.inflateEmbeddedProperties = function (data) {
|
|
@@ -32041,7 +32326,7 @@
|
|
|
32041
32326
|
Object.keys(data)
|
|
32042
32327
|
.filter(function (fieldName) { return fieldName.includes('.'); })
|
|
32043
32328
|
.forEach(function (field) {
|
|
32044
|
-
var
|
|
32329
|
+
var _b = __read(field.split('.'), 2), parentFieldName = _b[0], fieldName = _b[1];
|
|
32045
32330
|
if (!data[parentFieldName]) {
|
|
32046
32331
|
data[parentFieldName] = {};
|
|
32047
32332
|
}
|
|
@@ -32240,201 +32525,6 @@
|
|
|
32240
32525
|
{ type: ComponentUtils }
|
|
32241
32526
|
]; };
|
|
32242
32527
|
|
|
32243
|
-
// NG2
|
|
32244
|
-
var NovoToastElement = /** @class */ (function () {
|
|
32245
|
-
function NovoToastElement(sanitizer) {
|
|
32246
|
-
this.sanitizer = sanitizer;
|
|
32247
|
-
this.theme = 'danger';
|
|
32248
|
-
this.icon = 'caution';
|
|
32249
|
-
this.hasDialogue = false;
|
|
32250
|
-
this.isCloseable = false;
|
|
32251
|
-
this.closed = new core.EventEmitter();
|
|
32252
|
-
this.show = false;
|
|
32253
|
-
this.animate = false;
|
|
32254
|
-
this.parent = null;
|
|
32255
|
-
this.launched = false;
|
|
32256
|
-
}
|
|
32257
|
-
Object.defineProperty(NovoToastElement.prototype, "message", {
|
|
32258
|
-
set: function (m) {
|
|
32259
|
-
this._message = this.sanitizer.bypassSecurityTrustHtml(m);
|
|
32260
|
-
},
|
|
32261
|
-
enumerable: false,
|
|
32262
|
-
configurable: true
|
|
32263
|
-
});
|
|
32264
|
-
NovoToastElement.prototype.ngOnInit = function () {
|
|
32265
|
-
if (!this.launched) {
|
|
32266
|
-
// clear position and time
|
|
32267
|
-
this.position = null;
|
|
32268
|
-
this.time = null;
|
|
32269
|
-
// set icon and styling
|
|
32270
|
-
this.iconClass = "bhi-" + this.icon;
|
|
32271
|
-
this.alertTheme = this.theme + " toast-container embedded";
|
|
32272
|
-
if (this.hasDialogue) {
|
|
32273
|
-
this.alertTheme += ' dialogue';
|
|
32274
|
-
}
|
|
32275
|
-
}
|
|
32276
|
-
};
|
|
32277
|
-
NovoToastElement.prototype.ngOnChanges = function (changes) {
|
|
32278
|
-
// set icon and styling
|
|
32279
|
-
this.iconClass = "bhi-" + this.icon;
|
|
32280
|
-
this.alertTheme = this.theme + " toast-container embedded";
|
|
32281
|
-
if (this.hasDialogue) {
|
|
32282
|
-
this.alertTheme += ' dialogue';
|
|
32283
|
-
}
|
|
32284
|
-
};
|
|
32285
|
-
NovoToastElement.prototype.clickHandler = function (event) {
|
|
32286
|
-
if (!this.isCloseable) {
|
|
32287
|
-
if (event) {
|
|
32288
|
-
event.stopPropagation();
|
|
32289
|
-
event.preventDefault();
|
|
32290
|
-
}
|
|
32291
|
-
if (this.parent) {
|
|
32292
|
-
this.parent.hide(this);
|
|
32293
|
-
}
|
|
32294
|
-
else {
|
|
32295
|
-
this.closed.emit({ closed: true });
|
|
32296
|
-
}
|
|
32297
|
-
}
|
|
32298
|
-
};
|
|
32299
|
-
NovoToastElement.prototype.close = function (event) {
|
|
32300
|
-
if (event) {
|
|
32301
|
-
event.stopPropagation();
|
|
32302
|
-
event.preventDefault();
|
|
32303
|
-
}
|
|
32304
|
-
if (this.parent) {
|
|
32305
|
-
this.parent.hide(this);
|
|
32306
|
-
}
|
|
32307
|
-
else {
|
|
32308
|
-
this.closed.emit({ closed: true });
|
|
32309
|
-
}
|
|
32310
|
-
};
|
|
32311
|
-
return NovoToastElement;
|
|
32312
|
-
}());
|
|
32313
|
-
NovoToastElement.decorators = [
|
|
32314
|
-
{ type: core.Component, args: [{
|
|
32315
|
-
selector: 'novo-toast',
|
|
32316
|
-
host: {
|
|
32317
|
-
'[class]': 'alertTheme',
|
|
32318
|
-
'[class.show]': 'show',
|
|
32319
|
-
'[class.animate]': 'animate',
|
|
32320
|
-
'[class.embedded]': 'embedded',
|
|
32321
|
-
'(click)': '!isCloseable && clickHandler($event)',
|
|
32322
|
-
},
|
|
32323
|
-
template: "\n <div class=\"toast-icon\">\n <i [ngClass]=\"iconClass\"></i>\n </div>\n <div class=\"toast-content\">\n <h5 *ngIf=\"title\">{{title}}</h5>\n <p *ngIf=\"_message\" [class.message-only]=\"!title\" [innerHtml]=\"_message\"></p>\n <div *ngIf=\"link\" class=\"link-generated\">\n <input type=\"text\" [value]=\"link\" onfocus=\"this.select();\"/>\n </div>\n <div class=\"dialogue\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"close-icon\" *ngIf=\"isCloseable\" (click)=\"close($event)\">\n <i class=\"bhi-times\"></i>\n </div>\n "
|
|
32324
|
-
},] }
|
|
32325
|
-
];
|
|
32326
|
-
NovoToastElement.ctorParameters = function () { return [
|
|
32327
|
-
{ type: platformBrowser.DomSanitizer }
|
|
32328
|
-
]; };
|
|
32329
|
-
NovoToastElement.propDecorators = {
|
|
32330
|
-
theme: [{ type: core.Input }],
|
|
32331
|
-
icon: [{ type: core.Input }],
|
|
32332
|
-
title: [{ type: core.Input }],
|
|
32333
|
-
hasDialogue: [{ type: core.Input }],
|
|
32334
|
-
link: [{ type: core.Input }],
|
|
32335
|
-
isCloseable: [{ type: core.Input }],
|
|
32336
|
-
message: [{ type: core.Input }],
|
|
32337
|
-
closed: [{ type: core.Output }]
|
|
32338
|
-
};
|
|
32339
|
-
|
|
32340
|
-
// NG2
|
|
32341
|
-
var NovoToastService = /** @class */ (function () {
|
|
32342
|
-
function NovoToastService(componentUtils) {
|
|
32343
|
-
this.componentUtils = componentUtils;
|
|
32344
|
-
this.references = [];
|
|
32345
|
-
this.icons = { default: 'bell', success: 'check', info: 'info', warning: 'warning', danger: 'remove' };
|
|
32346
|
-
this.defaults = { hideDelay: 3500, position: 'growlTopRight', theme: 'default' };
|
|
32347
|
-
}
|
|
32348
|
-
Object.defineProperty(NovoToastService.prototype, "parentViewContainer", {
|
|
32349
|
-
set: function (view) {
|
|
32350
|
-
this._parentViewContainer = view;
|
|
32351
|
-
},
|
|
32352
|
-
enumerable: false,
|
|
32353
|
-
configurable: true
|
|
32354
|
-
});
|
|
32355
|
-
NovoToastService.prototype.alert = function (options, toastElement) {
|
|
32356
|
-
var _this = this;
|
|
32357
|
-
if (toastElement === void 0) { toastElement = NovoToastElement; }
|
|
32358
|
-
return new Promise(function (resolve) {
|
|
32359
|
-
if (!_this._parentViewContainer) {
|
|
32360
|
-
console.error('No parent view container specified for the ToastService. Set it inside your main application. \nthis.toastService.parentViewContainer = view (ViewContainerRef)');
|
|
32361
|
-
return;
|
|
32362
|
-
}
|
|
32363
|
-
var toast = _this.componentUtils.append(toastElement, _this._parentViewContainer);
|
|
32364
|
-
_this.references.push(toast);
|
|
32365
|
-
_this.handleAlert(toast.instance, options);
|
|
32366
|
-
resolve(toast);
|
|
32367
|
-
});
|
|
32368
|
-
};
|
|
32369
|
-
NovoToastService.prototype.isVisible = function (toast) {
|
|
32370
|
-
return toast.show;
|
|
32371
|
-
};
|
|
32372
|
-
NovoToastService.prototype.hide = function (toast) {
|
|
32373
|
-
var _this = this;
|
|
32374
|
-
toast.animate = false;
|
|
32375
|
-
setTimeout(function () {
|
|
32376
|
-
toast.show = false;
|
|
32377
|
-
var REF = _this.references.filter(function (x) { return x.instance === toast; })[0];
|
|
32378
|
-
if (REF) {
|
|
32379
|
-
_this.references.splice(_this.references.indexOf(REF), 1);
|
|
32380
|
-
REF.destroy();
|
|
32381
|
-
}
|
|
32382
|
-
}, 300);
|
|
32383
|
-
};
|
|
32384
|
-
NovoToastService.prototype.handleAlert = function (toast, options) {
|
|
32385
|
-
var _this = this;
|
|
32386
|
-
this.setToastOnSession(toast, options);
|
|
32387
|
-
setTimeout(function () {
|
|
32388
|
-
_this.show(toast);
|
|
32389
|
-
}, 20);
|
|
32390
|
-
if (!toast.isCloseable) {
|
|
32391
|
-
this.toastTimer(toast);
|
|
32392
|
-
}
|
|
32393
|
-
};
|
|
32394
|
-
NovoToastService.prototype.setToastOnSession = function (toast, opts) {
|
|
32395
|
-
var OPTIONS = typeof opts === 'object' ? opts : {};
|
|
32396
|
-
toast.parent = this;
|
|
32397
|
-
toast.title = OPTIONS.title || '';
|
|
32398
|
-
toast.message = OPTIONS.message || '';
|
|
32399
|
-
toast.hideDelay = OPTIONS.hideDelay || this.defaults.hideDelay;
|
|
32400
|
-
toast.link = OPTIONS.link || '';
|
|
32401
|
-
toast.isCloseable = OPTIONS.isCloseable || false;
|
|
32402
|
-
var CUSTOM_CLASS = OPTIONS.customClass || '';
|
|
32403
|
-
var ALERT_STYLE = OPTIONS.theme || this.defaults.theme;
|
|
32404
|
-
var ALERT_POSITION = OPTIONS.position || this.defaults.position;
|
|
32405
|
-
var ALERT_ICON = OPTIONS.icon || this.icons.default;
|
|
32406
|
-
toast.iconClass = "bhi-" + ALERT_ICON;
|
|
32407
|
-
toast.launched = true;
|
|
32408
|
-
toast.alertTheme = ALERT_STYLE + " " + ALERT_POSITION + " " + CUSTOM_CLASS + " toast-container launched";
|
|
32409
|
-
};
|
|
32410
|
-
NovoToastService.prototype.show = function (toast) {
|
|
32411
|
-
toast.show = true;
|
|
32412
|
-
setTimeout(addClass, 25);
|
|
32413
|
-
/**
|
|
32414
|
-
* Adds animate class to be called after a timeout
|
|
32415
|
-
**/
|
|
32416
|
-
function addClass() {
|
|
32417
|
-
toast.animate = true;
|
|
32418
|
-
}
|
|
32419
|
-
};
|
|
32420
|
-
NovoToastService.prototype.toastTimer = function (toast) {
|
|
32421
|
-
var _this = this;
|
|
32422
|
-
if (toast.hideDelay < 0) {
|
|
32423
|
-
return;
|
|
32424
|
-
}
|
|
32425
|
-
setTimeout(function () {
|
|
32426
|
-
_this.hide(toast);
|
|
32427
|
-
}, toast.hideDelay);
|
|
32428
|
-
};
|
|
32429
|
-
return NovoToastService;
|
|
32430
|
-
}());
|
|
32431
|
-
NovoToastService.decorators = [
|
|
32432
|
-
{ type: core.Injectable }
|
|
32433
|
-
];
|
|
32434
|
-
NovoToastService.ctorParameters = function () { return [
|
|
32435
|
-
{ type: ComponentUtils }
|
|
32436
|
-
]; };
|
|
32437
|
-
|
|
32438
32528
|
// NG2
|
|
32439
32529
|
var ControlConfirmModal = /** @class */ (function () {
|
|
32440
32530
|
function ControlConfirmModal(modalRef, params, labels) {
|
|
@@ -34183,7 +34273,7 @@
|
|
|
34183
34273
|
NovoControlTemplates.decorators = [
|
|
34184
34274
|
{ type: core.Component, args: [{
|
|
34185
34275
|
selector: 'novo-control-templates',
|
|
34186
|
-
template: "\n <!---Readonly--->\n <ng-template novoTemplate=\"read-only\" let-form=\"form\" let-control>\n <div>{{ form.value[control.key] }}</div>\n </ng-template>\n <!--Textbox--->\n <ng-template novoTemplate=\"textbox\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\" class=\"novo-control-input-container novo-control-input-with-label\" [tooltip]=\"control?.tooltip\" [tooltipPosition]=\"control?.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\">\n <input *ngIf=\"control?.type !== 'number' && control?.textMaskEnabled\" [textMask]=\"control.maskOptions\" [formControlName]=\"control.key\" [id]=\"control.key\" [type]=\"control?.type\" [placeholder]=\"control?.placeholder\" (input)=\"methods.emitChange($event)\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" autocomplete>\n <input *ngIf=\"control?.type !== 'number' && !control?.textMaskEnabled\" [class.maxlength-error]=\"errors?.maxlength\" [formControlName]=\"control.key\" [id]=\"control.key\" [type]=\"control?.type\" [placeholder]=\"control?.placeholder\" (input)=\"methods.emitChange($event)\" [maxlength]=\"control?.maxlength\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" autocomplete>\n <input *ngIf=\"control?.type === 'number' && control?.subType !== 'percentage'\" [class.maxlength-error]=\"errors?.maxlength\" [formControlName]=\"control.key\" [id]=\"control.key\" [type]=\"control?.type\" [placeholder]=\"control?.placeholder\" (keydown)=\"methods.restrictKeys($event)\" (input)=\"methods.emitChange($event)\" [maxlength]=\"control?.maxlength\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" step=\"any\" (mousewheel)=\"numberInput.blur()\" #numberInput>\n <!-- the percentage input does not use formControlName like a normal reactive input because instead of setting the floating point value directly, it is multiplied by 100 into a percentage value -->\n <input *ngIf=\"control?.type === 'number' && control?.subType === 'percentage'\" [id]=\"control.key\" [type]=\"control?.type\" [placeholder]=\"control?.placeholder\" (keydown)=\"methods.restrictKeys($event)\" [value]=\"control?.percentValue\" [disabled]=\"control?.readOnly\" (input)=\"methods.handlePercentChange($event)\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" step=\"any\" (mousewheel)=\"percentInput.blur()\" #percentInput>\n <label class=\"input-label\" *ngIf=\"control?.subType === 'currency'\">{{ control.currencyFormat }}</label>\n <label class=\"input-label\" *ngIf=\"control?.subType === 'percentage'\">%</label>\n </div>\n </ng-template>\n\n <!--Textarea--->\n <ng-template novoTemplate=\"text-area\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div class=\"textarea-container\" [formGroup]=\"form\" [tooltip]=\"control?.tooltip\" [tooltipPosition]=\"control?.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\">\n <textarea [class.maxlength-error]=\"errors?.maxlength\" [name]=\"control.key\" [attr.id]=\"control.key\" [placeholder]=\"control.placeholder\" [formControlName]=\"control.key\" autosize (input)=\"methods.handleTextAreaInput($event)\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" [maxlength]=\"control?.maxlength\"></textarea>\n </div>\n </ng-template>\n\n <!--Editor-->\n <ng-template novoTemplate=\"editor\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-editor [name]=\"control.key\" [formControlName]=\"control.key\" [startupFocus]=\"control.startupFocus\" [minimal]=\"control.minimal\" [fileBrowserImageUploadUrl]=\"control.fileBrowserImageUploadUrl\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" [config]=\"control.config\"></novo-editor>\n </div>\n </ng-template>\n\n <!--AceEditor-->\n <ng-template novoTemplate=\"ace-editor\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-ace-editor [name]=\"control.key\" [formControlName]=\"control.key\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\"></novo-ace-editor>\n </div>\n </ng-template>\n\n <!--HTML5 Select-->\n <ng-template novoTemplate=\"native-select\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <select [id]=\"control.key\" [formControlName]=\"control.key\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\">\n <option *ngIf=\"control.placeholder\" value=\"\" disabled selected hidden>{{ control.placeholder }}</option>\n <option *ngFor=\"let opt of control.options\" [value]=\"opt.key\">{{opt.value}}</option>\n </select>\n </div>\n </ng-template>\n\n <!--File-->\n <ng-template novoTemplate=\"file\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-file-input [formControlName]=\"control.key\" [id]=\"control.key\" [name]=\"control.key\" [placeholder]=\"control.placeholder\" [value]=\"control.value\" [multiple]=\"control.multiple\" [layoutOptions]=\"control.layoutOptions\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" (edit)=\"methods.handleEdit($event)\" (save)=\"methods.handleSave($event)\" (delete)=\"methods.handleDelete($event)\" (upload)=\"methods.handleUpload($event)\"></novo-file-input>\n </div>\n </ng-template>\n\n <!--Tiles-->\n <ng-template novoTemplate=\"tiles\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-tiles [options]=\"control.options\" [formControlName]=\"control.key\" (onChange)=\"methods.modelChange($event)\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" [controlDisabled]=\"control.disabled\"></novo-tiles>\n </div>\n </ng-template>\n\n <!--Picker-->\n <ng-template novoTemplate=\"picker\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\" class=\"novo-control-input-container\">\n <novo-picker [config]=\"control.config\" [formControlName]=\"control.key\" [placeholder]=\"control.placeholder\" [parentScrollSelector]=\"control.parentScrollSelector\" *ngIf=\"!control.multiple\" (select)=\"methods.modelChange($event);\" (changed)=\"methods.modelChangeWithRaw($event)\" (typing)=\"methods.handleTyping($event)\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\"></novo-picker>\n <novo-chips [source]=\"control.config\" [type]=\"control.config.type\" [formControlName]=\"control.key\" [placeholder]=\"control.placeholder\" [maxlength]=\"control?.maxlength\" *ngIf=\"control.multiple && !control.config.columns\" [closeOnSelect]=\"control.closeOnSelect\" (changed)=\"methods.modelChangeWithRaw($event)\" (typing)=\"methods.handleTyping($event)\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\"></novo-chips>\n <novo-row-chips [source]=\"control.config\" [type]=\"control.config.type\" [formControlName]=\"control.key\" [placeholder]=\"control.placeholder\" *ngIf=\"control.multiple && control.config.columns\" [closeOnSelect]=\"control.closeOnSelect\" (changed)=\"methods.modelChangeWithRaw($event)\" (typing)=\"methods.handleTyping($event)\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\"></novo-row-chips>\n </div>\n </ng-template>\n\n <!--Novo Select-->\n <ng-template novoTemplate=\"select\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-select [options]=\"control.options\" [headerConfig]=\"control.headerConfig\" [placeholder]=\"control.placeholder\" [formControlName]=\"control.key\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" (onSelect)=\"methods.modelChange($event)\"></novo-select>\n </div>\n </ng-template>\n\n <!--Radio-->\n <ng-template novoTemplate=\"radio\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\" class=\"novo-control-input-container\">\n <novo-radio [name]=\"control.key\" [formControlName]=\"control.key\" *ngFor=\"let option of control.options\" [value]=\"option.value\" [label]=\"option.label\" [checked]=\"option.value === form.value[control.key] || (form.value[control.key] && option.value === form.value[control.key].id)\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" [button]=\"!!option.icon\" [icon]=\"option.icon\" [attr.data-automation-id]=\"control.key + '-' + (option?.label || option?.value)\"></novo-radio>\n </div>\n </ng-template>\n\n <!--Time-->\n <ng-template novoTemplate=\"time\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\" class=\"novo-control-input-container\" [tooltip]=\"control?.tooltip\" [tooltipPosition]=\"control?.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\">\n <novo-time-picker-input [attr.id]=\"control.key\" [name]=\"control.key\" [formControlName]=\"control.key\" [placeholder]=\"control.placeholder\" [military]=\"control.military\"></novo-time-picker-input>\n </div>\n </ng-template>\n\n <!--Date-->\n <ng-template novoTemplate=\"date\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\" class=\"novo-control-input-container\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\">\n <novo-date-picker-input [attr.id]=\"control.key\" [name]=\"control.key\" [formControlName]=\"control.key\" [start]=\"control.startDate\" [end]=\"control.endDate\" [format]=\"control.dateFormat\" [allowInvalidDate]=\"control.allowInvalidDate\" [textMaskEnabled]=\"control.textMaskEnabled\" [placeholder]=\"control.placeholder\" [weekStart]=\"control.weekStart\" (focusEvent)=\"methods.handleFocus($event)\" (blurEvent)=\"methods.handleBlur($event)\" (changeEvent)=\"methods.emitChange($event)\"></novo-date-picker-input>\n </div>\n </ng-template>\n\n <!--Date and Time-->\n <ng-template novoTemplate=\"date-time\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\" class=\"novo-control-input-container\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\">\n <novo-date-time-picker-input [attr.id]=\"control.key\" [name]=\"control.key\" [formControlName]=\"control.key\" [start]=\"control.startDate\" [end]=\"control.endDate\" [placeholder]=\"control.placeholder\" [military]=\"control.military\" [weekStart]=\"control.weekStart\" (focusEvent)=\"methods.handleFocus($event)\" (blurEvent)=\"methods.handleBlur($event)\" (changeEvent)=\"methods.emitChange($event)\" ></novo-date-time-picker-input>\n </div>\n </ng-template>\n\n <!--Address-->\n <ng-template novoTemplate=\"address\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-address [formControlName]=\"control.key\" [config]=\"control?.config\" [readOnly]=\"control?.readOnly\" (change)=\"methods.handleAddressChange($event)\" (focus)=\"methods.handleFocus($event.event, $event.field)\" (blur)=\"methods.handleBlur($event.event, $event.field)\" (validityChange)=\"methods.updateValidity()\"></novo-address>\n </div>\n </ng-template>\n\n <!--Checkbox-->\n <ng-template novoTemplate=\"checkbox\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-checkbox [formControlName]=\"control?.key\" [name]=\"control?.key\" [label]=\"control?.checkboxLabel\" [tooltip]=\"control?.tooltip\" [tooltipPosition]=\"control?.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" [layoutOptions]=\"control?.layoutOptions\"></novo-checkbox>\n </div>\n </ng-template>\n\n <!--Checklist-->\n <ng-template novoTemplate=\"checklist\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-check-list [formControlName]=\"control.key\" [name]=\"control.key\" [options]=\"control?.options\" [tooltip]=\"control?.tooltip\" [tooltipPosition]=\"control?.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" (onSelect)=\"methods.modelChange($event)\"></novo-check-list>\n </div>\n </ng-template>\n\n <!--QuickNote-->\n <ng-template novoTemplate=\"quick-note\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-quick-note [formControlName]=\"control.key\" [startupFocus]=\"control?.startupFocus\" [placeholder]=\"control?.placeholder\" [config]=\"control?.config\" (change)=\"methods.modelChange($event)\" [tooltip]=\"control?.tooltip\" [tooltipPosition]=\"control?.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" [tooltipPreline]=\"control?.tooltipPreline\"></novo-quick-note>\n </div>\n </ng-template>\n "
|
|
34276
|
+
template: "\n <!---Readonly--->\n <ng-template novoTemplate=\"read-only\" let-form=\"form\" let-control>\n <div>{{ form.value[control.key] }}</div>\n </ng-template>\n <!--Textbox--->\n <ng-template novoTemplate=\"textbox\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\" class=\"novo-control-input-container novo-control-input-with-label\" [tooltip]=\"control?.tooltip\" [tooltipPosition]=\"control?.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\">\n <input *ngIf=\"control?.type !== 'number' && control?.textMaskEnabled\" [textMask]=\"control.maskOptions\" [formControlName]=\"control.key\" [id]=\"control.key\" [type]=\"control?.type\" [placeholder]=\"control?.placeholder\" (input)=\"methods.emitChange($event)\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" autocomplete>\n <input *ngIf=\"control?.type !== 'number' && !control?.textMaskEnabled\" [class.maxlength-error]=\"errors?.maxlength\" [formControlName]=\"control.key\" [id]=\"control.key\" [type]=\"control?.type\" [placeholder]=\"control?.placeholder\" (input)=\"methods.emitChange($event)\" [maxlength]=\"control?.maxlength\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" autocomplete>\n <input *ngIf=\"control?.type === 'number' && control?.subType !== 'percentage'\" [class.maxlength-error]=\"errors?.maxlength\" [formControlName]=\"control.key\" [id]=\"control.key\" [type]=\"control?.type\" [placeholder]=\"control?.placeholder\" (keydown)=\"methods.restrictKeys($event)\" (input)=\"methods.emitChange($event)\" [maxlength]=\"control?.maxlength\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" step=\"any\" (mousewheel)=\"numberInput.blur()\" #numberInput>\n <!-- the percentage input does not use formControlName like a normal reactive input because instead of setting the floating point value directly, it is multiplied by 100 into a percentage value -->\n <input *ngIf=\"control?.type === 'number' && control?.subType === 'percentage'\" [id]=\"control.key\" [type]=\"control?.type\" [placeholder]=\"control?.placeholder\" (keydown)=\"methods.restrictKeys($event)\" [value]=\"control?.percentValue\" [disabled]=\"control?.readOnly\" (input)=\"methods.handlePercentChange($event)\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" step=\"any\" (mousewheel)=\"percentInput.blur()\" #percentInput>\n <label class=\"input-label\" *ngIf=\"control?.subType === 'currency'\">{{ control.currencyFormat }}</label>\n <label class=\"input-label\" *ngIf=\"control?.subType === 'percentage'\">%</label>\n </div>\n </ng-template>\n\n <!--Textarea--->\n <ng-template novoTemplate=\"text-area\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div class=\"textarea-container\" [formGroup]=\"form\" [tooltip]=\"control?.tooltip\" [tooltipPosition]=\"control?.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\">\n <textarea [class.maxlength-error]=\"errors?.maxlength\" [name]=\"control.key\" [attr.id]=\"control.key\" [placeholder]=\"control.placeholder\" [formControlName]=\"control.key\" autosize (input)=\"methods.handleTextAreaInput($event)\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" [maxlength]=\"control?.maxlength\"></textarea>\n </div>\n </ng-template>\n\n <!--Editor-->\n <ng-template novoTemplate=\"editor\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-editor [name]=\"control.key\" [formControlName]=\"control.key\" [startupFocus]=\"control.startupFocus\" [minimal]=\"control.minimal\" [fileBrowserImageUploadUrl]=\"control.fileBrowserImageUploadUrl\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" [config]=\"control.config\"></novo-editor>\n </div>\n </ng-template>\n\n <!--AceEditor-->\n <ng-template novoTemplate=\"ace-editor\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-ace-editor [name]=\"control.key\" [formControlName]=\"control.key\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\"></novo-ace-editor>\n </div>\n </ng-template>\n\n <!--HTML5 Select-->\n <ng-template novoTemplate=\"native-select\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <select [id]=\"control.key\" [formControlName]=\"control.key\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\">\n <option *ngIf=\"control.placeholder\" value=\"\" disabled selected hidden>{{ control.placeholder }}</option>\n <option *ngFor=\"let opt of control.options\" [value]=\"opt.key\">{{opt.value}}</option>\n </select>\n </div>\n </ng-template>\n\n <!--File-->\n <ng-template novoTemplate=\"file\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-file-input [formControlName]=\"control.key\" [id]=\"control.key\" [name]=\"control.key\" [placeholder]=\"control.placeholder\" [value]=\"control.value\" [multiple]=\"control.multiple\" [layoutOptions]=\"control.layoutOptions\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" (edit)=\"methods.handleEdit($event)\" (save)=\"methods.handleSave($event)\" (delete)=\"methods.handleDelete($event)\" (upload)=\"methods.handleUpload($event)\"></novo-file-input>\n </div>\n </ng-template>\n\n <!--Tiles-->\n <ng-template novoTemplate=\"tiles\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-tiles [options]=\"control.options\" [formControlName]=\"control.key\" (onChange)=\"methods.modelChange($event)\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" [controlDisabled]=\"control.disabled\"></novo-tiles>\n </div>\n </ng-template>\n\n <!--Picker-->\n <ng-template novoTemplate=\"picker\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\" class=\"novo-control-input-container\">\n <novo-picker [config]=\"control.config\" [formControlName]=\"control.key\" [placeholder]=\"control.placeholder\" [parentScrollSelector]=\"control.parentScrollSelector\" *ngIf=\"!control.multiple\" (select)=\"methods.modelChange($event);\" (changed)=\"methods.modelChangeWithRaw($event)\" (typing)=\"methods.handleTyping($event)\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\"></novo-picker>\n <novo-chips [source]=\"control.config\" [type]=\"control.config.type\" [formControlName]=\"control.key\" [placeholder]=\"control.placeholder\" [maxlength]=\"control?.maxlength\" *ngIf=\"control.multiple && !control.config.columns\" [closeOnSelect]=\"control.closeOnSelect\" (changed)=\"methods.modelChangeWithRaw($event)\" (typing)=\"methods.handleTyping($event)\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\"></novo-chips>\n <novo-row-chips [source]=\"control.config\" [type]=\"control.config.type\" [formControlName]=\"control.key\" [placeholder]=\"control.placeholder\" *ngIf=\"control.multiple && control.config.columns\" [closeOnSelect]=\"control.closeOnSelect\" (changed)=\"methods.modelChangeWithRaw($event)\" (typing)=\"methods.handleTyping($event)\" (focus)=\"methods.handleFocus($event)\" (blur)=\"methods.handleBlur($event)\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\"></novo-row-chips>\n </div>\n </ng-template>\n\n <!--Novo Select-->\n <ng-template novoTemplate=\"select\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-select [options]=\"control.options\" [headerConfig]=\"control.headerConfig\" [placeholder]=\"control.placeholder\" [formControlName]=\"control.key\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" (onSelect)=\"methods.modelChange($event)\"></novo-select>\n </div>\n </ng-template>\n\n <!--Radio-->\n <ng-template novoTemplate=\"radio\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\" class=\"novo-control-input-container\">\n <novo-radio [name]=\"control.key\" [formControlName]=\"control.key\" *ngFor=\"let option of control.options\" [value]=\"option.value\" [label]=\"option.label\" [checked]=\"option.value === form.value[control.key] || (form.value[control.key] && option.value === form.value[control.key].id)\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" [button]=\"!!option.icon\" [icon]=\"option.icon\" [attr.data-automation-id]=\"control.key + '-' + (option?.label || option?.value)\"></novo-radio>\n </div>\n </ng-template>\n\n <!--Time-->\n <ng-template novoTemplate=\"time\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\" class=\"novo-control-input-container\" [tooltip]=\"control?.tooltip\" [tooltipPosition]=\"control?.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\">\n <novo-time-picker-input [attr.id]=\"control.key\" [name]=\"control.key\" [formControlName]=\"control.key\" [placeholder]=\"control.placeholder\" [military]=\"control.military\"></novo-time-picker-input>\n </div>\n </ng-template>\n\n <!--Date-->\n <ng-template novoTemplate=\"date\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\" class=\"novo-control-input-container\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\">\n <novo-date-picker-input [attr.id]=\"control.key\" [name]=\"control.key\" [formControlName]=\"control.key\" [start]=\"control.startDate\" [end]=\"control.endDate\" [disabledDateMessage]=\"control.disabledDateMessage\" [format]=\"control.dateFormat\" [allowInvalidDate]=\"control.allowInvalidDate\" [textMaskEnabled]=\"control.textMaskEnabled\" [placeholder]=\"control.placeholder\" [weekStart]=\"control.weekStart\" (focusEvent)=\"methods.handleFocus($event)\" (blurEvent)=\"methods.handleBlur($event)\" (changeEvent)=\"methods.emitChange($event)\"></novo-date-picker-input>\n </div>\n </ng-template>\n\n <!--Date and Time-->\n <ng-template novoTemplate=\"date-time\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\" class=\"novo-control-input-container\" [tooltip]=\"control.tooltip\" [tooltipPosition]=\"control.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\">\n <novo-date-time-picker-input [attr.id]=\"control.key\" [name]=\"control.key\" [formControlName]=\"control.key\" [start]=\"control.startDate\" [end]=\"control.endDate\" [placeholder]=\"control.placeholder\" [military]=\"control.military\" [weekStart]=\"control.weekStart\" (focusEvent)=\"methods.handleFocus($event)\" (blurEvent)=\"methods.handleBlur($event)\" (changeEvent)=\"methods.emitChange($event)\" ></novo-date-time-picker-input>\n </div>\n </ng-template>\n\n <!--Address-->\n <ng-template novoTemplate=\"address\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-address [formControlName]=\"control.key\" [config]=\"control?.config\" [readOnly]=\"control?.readOnly\" (change)=\"methods.handleAddressChange($event)\" (focus)=\"methods.handleFocus($event.event, $event.field)\" (blur)=\"methods.handleBlur($event.event, $event.field)\" (validityChange)=\"methods.updateValidity()\"></novo-address>\n </div>\n </ng-template>\n\n <!--Checkbox-->\n <ng-template novoTemplate=\"checkbox\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-checkbox [formControlName]=\"control?.key\" [name]=\"control?.key\" [label]=\"control?.checkboxLabel\" [tooltip]=\"control?.tooltip\" [tooltipPosition]=\"control?.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" [layoutOptions]=\"control?.layoutOptions\"></novo-checkbox>\n </div>\n </ng-template>\n\n <!--Checklist-->\n <ng-template novoTemplate=\"checklist\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-check-list [formControlName]=\"control.key\" [name]=\"control.key\" [options]=\"control?.options\" [tooltip]=\"control?.tooltip\" [tooltipPosition]=\"control?.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [tooltipPreline]=\"control?.tooltipPreline\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" (onSelect)=\"methods.modelChange($event)\"></novo-check-list>\n </div>\n </ng-template>\n\n <!--QuickNote-->\n <ng-template novoTemplate=\"quick-note\" let-control let-form=\"form\" let-errors=\"errors\" let-methods=\"methods\">\n <div [formGroup]=\"form\">\n <novo-quick-note [formControlName]=\"control.key\" [startupFocus]=\"control?.startupFocus\" [placeholder]=\"control?.placeholder\" [config]=\"control?.config\" (change)=\"methods.modelChange($event)\" [tooltip]=\"control?.tooltip\" [tooltipPosition]=\"control?.tooltipPosition\" [tooltipSize]=\"control?.tooltipSize\" [removeTooltipArrow]=\"control?.removeTooltipArrow\" [tooltipAutoPosition]=\"control?.tooltipAutoPosition\" [tooltipPreline]=\"control?.tooltipPreline\"></novo-quick-note>\n </div>\n </ng-template>\n "
|
|
34187
34277
|
},] }
|
|
34188
34278
|
];
|
|
34189
34279
|
NovoControlTemplates.ctorParameters = function () { return [
|