novo-elements 5.6.0 → 5.9.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 +312 -218
- package/bundles/novo-elements.umd.js.map +1 -1
- package/bundles/novo-elements.umd.min.js +2 -2
- package/bundles/novo-elements.umd.min.js.map +1 -1
- package/elements/chips/Chips.scss +6 -0
- 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 +3 -0
- package/elements/data-table/interfaces.d.ts +3 -0
- package/elements/data-table/state/data-table-state.service.d.ts +6 -2
- package/elements/form/FormInterfaces.d.ts +1 -0
- package/elements/picker/extras/entity-picker-results/EntityPickerResults.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/expansion/expansion-panel.js +1 -1
- package/esm2015/elements/form/FormInterfaces.js +1 -1
- package/esm2015/elements/picker/extras/entity-picker-results/EntityPickerResults.js +31 -1
- package/esm2015/index.js +1 -1
- package/esm2015/services/novo-label-service.js +2 -1
- package/esm2015/utils/app-bridge/AppBridge.js +1 -1
- package/esm2015/utils/form-utils/FormUtils.js +3 -2
- package/fesm2015/novo-elements.js +323 -216
- 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/styles/global/variables.scss +4 -1
- package/utils/app-bridge/AppBridge.d.ts +1 -1
|
@@ -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';
|
|
@@ -5814,6 +5815,8 @@
|
|
|
5814
5815
|
return 'user';
|
|
5815
5816
|
case 'CorporationDepartment':
|
|
5816
5817
|
return 'department';
|
|
5818
|
+
case 'JobShift':
|
|
5819
|
+
return 'timetable contract';
|
|
5817
5820
|
default:
|
|
5818
5821
|
return '';
|
|
5819
5822
|
}
|
|
@@ -5827,6 +5830,14 @@
|
|
|
5827
5830
|
}
|
|
5828
5831
|
return timestamp;
|
|
5829
5832
|
};
|
|
5833
|
+
EntityPickerResult.prototype.renderTimeNoOffset = function (dateStr) {
|
|
5834
|
+
var timestamp = '';
|
|
5835
|
+
if (dateStr) {
|
|
5836
|
+
dateStr = dateStr.slice(0, 19);
|
|
5837
|
+
timestamp = this.labels.formatTime(dateStr);
|
|
5838
|
+
}
|
|
5839
|
+
return timestamp;
|
|
5840
|
+
};
|
|
5830
5841
|
EntityPickerResult.prototype.getNameForResult = function (result) {
|
|
5831
5842
|
if (result) {
|
|
5832
5843
|
switch (result.searchEntity) {
|
|
@@ -5869,7 +5880,7 @@
|
|
|
5869
5880
|
EntityPickerResult.decorators = [
|
|
5870
5881
|
{ type: core.Component, args: [{
|
|
5871
5882
|
selector: 'entity-picker-result',
|
|
5872
|
-
template: "\n <novo-list-item *ngIf=\"match.data\">\n <item-header>\n <item-avatar [icon]=\"getIconForResult(match.data)\"></item-avatar>\n <item-title> <span [innerHtml]=\"highlight(getNameForResult(match.data), term)\"></span> </item-title>\n </item-header>\n <item-content direction=\"horizontal\">\n <!-- COMPANY 1 -->\n <p class=\"company\" *ngIf=\"match.data.companyName || match.data?.clientCorporation?.name\">\n <i class=\"bhi-company\"></i>\n <span [innerHtml]=\"highlight(match.data.companyName || match.data?.clientCorporation?.name, term)\"></span>\n </p>\n <!-- CLIENT CONTACT -->\n <p class=\"contact\" *ngIf=\"match.data?.clientContact?.firstName\">\n <i class=\"bhi-person contact person\"></i>\n <span [innerHtml]=\"highlight(match.data.clientContact.firstName + ' ' + match.data.clientContact.lastName, term)\"></span>\n </p>\n <!-- CANDIDATE -->\n <p class=\"candidate\" *ngIf=\"match.data.candidate && match.data.searchEntity === 'Placement'\">\n <i class=\"bhi-candidate\"></i>\n <span [innerHtml]=\"highlight(match.data.candidate.firstName + ' ' + match.data.candidate.lastName, term)\"></span>\n </p>\n <!-- START & END DATE -->\n <p class=\"start-date\" *ngIf=\"match.data.dateBegin && match.data.searchEntity === 'Placement'\">\n <i class=\"bhi-calendar\"></i>\n <span [innerHtml]=\"renderTimestamp(match.data.dateBegin) + ' - ' + renderTimestamp(match.data.dateEnd)\"></span>\n </p>\n <!-- EMAIL -->\n <p class=\"email\" *ngIf=\"match.data.email\">\n <i class=\"bhi-email\"></i> <span [innerHtml]=\"highlight(match.data.email, term)\"></span>\n </p>\n <!-- PHONE -->\n <p class=\"phone\" *ngIf=\"match.data.phone\">\n <i class=\"bhi-phone\"></i> <span [innerHtml]=\"highlight(match.data.phone, term)\"></span>\n </p>\n <!-- ADDRESS -->\n <p class=\"location\" *ngIf=\"match.data.address && (match.data.address.city || match.data.address.state)\">\n <i class=\"bhi-location\"></i> <span *ngIf=\"match.data.address.city\" [innerHtml]=\"highlight(match.data.address.city, term)\"></span>\n <span *ngIf=\"match.data.address.city && match.data.address.state\">, </span>\n <span *ngIf=\"match.data.address.state\" [innerHtml]=\"highlight(match.data.address.state, term)\"></span>\n </p>\n <!-- STATUS -->\n <p class=\"status\" *ngIf=\"match.data.status\">\n <i class=\"bhi-info\"></i> <span [innerHtml]=\"highlight(match.data.status, term)\"></span>\n </p>\n <!-- OWNER -->\n <p class=\"owner\" *ngIf=\"match.data.owner && match.data.owner.name && match.data.searchEntity === 'Candidate'\">\n <i class=\"bhi-person\"></i> <span [innerHtml]=\"highlight(match.data.owner.name, term)\"></span>\n </p>\n <!-- PRIMARY DEPARTMENT -->\n <p\n class=\"primary-department\"\n *ngIf=\"match.data.primaryDepartment && match.data.primaryDepartment.name && match.data.searchEntity === 'CorporateUser'\"\n >\n <i class=\"bhi-department\"></i> <span [innerHtml]=\"highlight(match.data.primaryDepartment.name, term)\"></span>\n </p>\n <!-- OCCUPATION -->\n <p class=\"occupation\" *ngIf=\"match.data.occupation && match.data.searchEntity === 'CorporateUser'\">\n <i class=\"bhi-occupation\"></i> <span [innerHtml]=\"highlight(match.data.occupation, term)\"></span>\n </p>\n </item-content>\n </novo-list-item>\n "
|
|
5883
|
+
template: "\n <novo-list-item *ngIf=\"match.data\">\n <item-header>\n <item-avatar [icon]=\"getIconForResult(match.data)\"></item-avatar>\n <item-title> <span [innerHtml]=\"highlight(getNameForResult(match.data), term)\"></span> </item-title>\n </item-header>\n <item-content direction=\"horizontal\">\n <!-- COMPANY 1 -->\n <p class=\"company\" *ngIf=\"match.data.companyName || match.data?.clientCorporation?.name\">\n <i class=\"bhi-company\"></i>\n <span [innerHtml]=\"highlight(match.data.companyName || match.data?.clientCorporation?.name, term)\"></span>\n </p>\n <!-- CLIENT CONTACT -->\n <p class=\"contact\" *ngIf=\"match.data?.clientContact?.firstName\">\n <i class=\"bhi-person contact person\"></i>\n <span [innerHtml]=\"highlight(match.data.clientContact.firstName + ' ' + match.data.clientContact.lastName, term)\"></span>\n </p>\n <!-- CANDIDATE -->\n <p class=\"candidate\" *ngIf=\"match.data.candidate && match.data.searchEntity === 'Placement'\">\n <i class=\"bhi-candidate\"></i>\n <span [innerHtml]=\"highlight(match.data.candidate.firstName + ' ' + match.data.candidate.lastName, term)\"></span>\n </p>\n <!-- START & END DATE -->\n <p class=\"start-date\" *ngIf=\"match.data.dateBegin && match.data.searchEntity === 'Placement'\">\n <i class=\"bhi-calendar\"></i>\n <span [innerHtml]=\"renderTimestamp(match.data.dateBegin) + ' - ' + renderTimestamp(match.data.dateEnd)\"></span>\n </p>\n <!-- START Date -->\n <p class=\"start-date\" *ngIf=\"match.data.startTime && match.data.searchEntity === 'JobShift'\">\n <i class=\"bhi-calendar\"></i>\n <span [innerHtml]=\"renderTimestamp(match.data.startTime)\"></span>\n </p>\n <!-- START & END TIME -->\n <p class=\"start-time\" *ngIf=\"match.data.startTime && match.data.searchEntity === 'JobShift'\">\n <i class=\"bhi-clock\"></i>\n <span [innerHtml]=\"renderTimeNoOffset(match.data.startTime) + ' - ' + renderTimeNoOffset(match.data.endTime)\"></span>\n </p>\n <!-- JOBORDER -->\n <p class=\"job\" *ngIf=\"match.data.jobOrder && match.data.searchEntity === 'JobShift'\">\n <i class=\"bhi-job\"></i>\n <span [innerHtml]=\"highlight(match.data.jobOrder.title, term)\"></span>\n </p>\n <!-- OPENINGS -->\n <p class=\"openings\" *ngIf=\"match.data.openings && match.data.searchEntity === 'JobShift'\">\n <i class=\"bhi-candidate\"></i>\n <span>{{ match.data.numAssigned }} / {{ match.data.openings }}</span>\n </p>\n <!-- EMAIL -->\n <p class=\"email\" *ngIf=\"match.data.email\">\n <i class=\"bhi-email\"></i> <span [innerHtml]=\"highlight(match.data.email, term)\"></span>\n </p>\n <!-- PHONE -->\n <p class=\"phone\" *ngIf=\"match.data.phone\">\n <i class=\"bhi-phone\"></i> <span [innerHtml]=\"highlight(match.data.phone, term)\"></span>\n </p>\n <!-- ADDRESS -->\n <p class=\"location\" *ngIf=\"match.data.address && (match.data.address.city || match.data.address.state)\">\n <i class=\"bhi-location\"></i> <span *ngIf=\"match.data.address.city\" [innerHtml]=\"highlight(match.data.address.city, term)\"></span>\n <span *ngIf=\"match.data.address.city && match.data.address.state\">, </span>\n <span *ngIf=\"match.data.address.state\" [innerHtml]=\"highlight(match.data.address.state, term)\"></span>\n </p>\n <!-- STATUS -->\n <p class=\"status\" *ngIf=\"match.data.status\">\n <i class=\"bhi-info\"></i> <span [innerHtml]=\"highlight(match.data.status, term)\"></span>\n </p>\n <!-- OWNER -->\n <p class=\"owner\" *ngIf=\"match.data.owner && match.data.owner.name && match.data.searchEntity === 'Candidate'\">\n <i class=\"bhi-person\"></i> <span [innerHtml]=\"highlight(match.data.owner.name, term)\"></span>\n </p>\n <!-- PRIMARY DEPARTMENT -->\n <p\n class=\"primary-department\"\n *ngIf=\"match.data.primaryDepartment && match.data.primaryDepartment.name && match.data.searchEntity === 'CorporateUser'\"\n >\n <i class=\"bhi-department\"></i> <span [innerHtml]=\"highlight(match.data.primaryDepartment.name, term)\"></span>\n </p>\n <!-- OCCUPATION -->\n <p class=\"occupation\" *ngIf=\"match.data.occupation && match.data.searchEntity === 'CorporateUser'\">\n <i class=\"bhi-occupation\"></i> <span [innerHtml]=\"highlight(match.data.occupation, term)\"></span>\n </p>\n </item-content>\n </novo-list-item>\n "
|
|
5873
5884
|
},] }
|
|
5874
5885
|
];
|
|
5875
5886
|
EntityPickerResult.ctorParameters = function () { return [
|
|
@@ -6987,6 +6998,7 @@
|
|
|
6987
6998
|
this.expandedRows = new Set();
|
|
6988
6999
|
this.isForceRefresh = false;
|
|
6989
7000
|
this.updates = new core.EventEmitter();
|
|
7001
|
+
this.retainSelected = false;
|
|
6990
7002
|
}
|
|
6991
7003
|
Object.defineProperty(DataTableState.prototype, "userFiltered", {
|
|
6992
7004
|
get: function () {
|
|
@@ -7017,9 +7029,12 @@
|
|
|
7017
7029
|
this.filter = undefined;
|
|
7018
7030
|
}
|
|
7019
7031
|
this.page = 0;
|
|
7020
|
-
this.
|
|
7021
|
-
|
|
7032
|
+
if (!this.retainSelected) {
|
|
7033
|
+
this.selectedRows.clear();
|
|
7034
|
+
this.resetSource.next();
|
|
7035
|
+
}
|
|
7022
7036
|
this.onSortFilterChange();
|
|
7037
|
+
this.retainSelected = false;
|
|
7023
7038
|
if (fireUpdate) {
|
|
7024
7039
|
this.updates.emit({
|
|
7025
7040
|
sort: this.sort,
|
|
@@ -7032,8 +7047,8 @@
|
|
|
7032
7047
|
if (fireUpdate === void 0) { fireUpdate = true; }
|
|
7033
7048
|
this.sort = undefined;
|
|
7034
7049
|
this.page = 0;
|
|
7035
|
-
this.
|
|
7036
|
-
this.
|
|
7050
|
+
this.checkRetainment('sort');
|
|
7051
|
+
this.reset(fireUpdate, true);
|
|
7037
7052
|
this.onSortFilterChange();
|
|
7038
7053
|
if (fireUpdate) {
|
|
7039
7054
|
this.updates.emit({
|
|
@@ -7048,8 +7063,8 @@
|
|
|
7048
7063
|
this.filter = undefined;
|
|
7049
7064
|
this.globalSearch = undefined;
|
|
7050
7065
|
this.page = 0;
|
|
7051
|
-
this.
|
|
7052
|
-
this.
|
|
7066
|
+
this.checkRetainment('filter');
|
|
7067
|
+
this.reset(fireUpdate, true);
|
|
7053
7068
|
this.onSortFilterChange();
|
|
7054
7069
|
if (fireUpdate) {
|
|
7055
7070
|
this.updates.emit({
|
|
@@ -7059,6 +7074,20 @@
|
|
|
7059
7074
|
});
|
|
7060
7075
|
}
|
|
7061
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
|
+
};
|
|
7062
7091
|
DataTableState.prototype.onSelectionChange = function () {
|
|
7063
7092
|
this.selectionSource.next();
|
|
7064
7093
|
};
|
|
@@ -7066,9 +7095,12 @@
|
|
|
7066
7095
|
this.expandSource.next(targetId);
|
|
7067
7096
|
};
|
|
7068
7097
|
DataTableState.prototype.onPaginationChange = function (isPageSizeChange, pageSize) {
|
|
7098
|
+
this.checkRetainment('page');
|
|
7069
7099
|
this.paginationSource.next({ isPageSizeChange: isPageSizeChange, pageSize: pageSize });
|
|
7070
7100
|
};
|
|
7071
7101
|
DataTableState.prototype.onSortFilterChange = function () {
|
|
7102
|
+
this.checkRetainment('sort');
|
|
7103
|
+
this.checkRetainment('filter');
|
|
7072
7104
|
this.sortFilterSource.next({
|
|
7073
7105
|
sort: this.sort,
|
|
7074
7106
|
filter: this.filter,
|
|
@@ -7092,6 +7124,10 @@
|
|
|
7092
7124
|
}
|
|
7093
7125
|
}
|
|
7094
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
|
+
};
|
|
7095
7131
|
return DataTableState;
|
|
7096
7132
|
}());
|
|
7097
7133
|
DataTableState.decorators = [
|
|
@@ -7103,6 +7139,7 @@
|
|
|
7103
7139
|
this.state = state;
|
|
7104
7140
|
this.ref = ref;
|
|
7105
7141
|
this.labels = labels;
|
|
7142
|
+
this.selectedClear = new core.EventEmitter();
|
|
7106
7143
|
this.sortClear = new core.EventEmitter();
|
|
7107
7144
|
this.filterClear = new core.EventEmitter();
|
|
7108
7145
|
this.allClear = new core.EventEmitter();
|
|
@@ -7115,9 +7152,14 @@
|
|
|
7115
7152
|
this.state.clearFilter();
|
|
7116
7153
|
this.filterClear.emit(true);
|
|
7117
7154
|
};
|
|
7155
|
+
NovoDataTableClearButton.prototype.clearSelected = function () {
|
|
7156
|
+
this.state.clearSelected();
|
|
7157
|
+
this.selectedClear.emit(true);
|
|
7158
|
+
};
|
|
7118
7159
|
NovoDataTableClearButton.prototype.clearAll = function () {
|
|
7119
7160
|
this.state.reset();
|
|
7120
7161
|
this.allClear.emit(true);
|
|
7162
|
+
this.selectedClear.emit(true);
|
|
7121
7163
|
this.sortClear.emit(true);
|
|
7122
7164
|
this.filterClear.emit(true);
|
|
7123
7165
|
};
|
|
@@ -7126,7 +7168,7 @@
|
|
|
7126
7168
|
NovoDataTableClearButton.decorators = [
|
|
7127
7169
|
{ type: core.Component, args: [{
|
|
7128
7170
|
selector: 'novo-data-table-clear-button',
|
|
7129
|
-
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 ",
|
|
7130
7172
|
changeDetection: core.ChangeDetectionStrategy.OnPush
|
|
7131
7173
|
},] }
|
|
7132
7174
|
];
|
|
@@ -7136,6 +7178,7 @@
|
|
|
7136
7178
|
{ type: NovoLabelService }
|
|
7137
7179
|
]; };
|
|
7138
7180
|
NovoDataTableClearButton.propDecorators = {
|
|
7181
|
+
selectedClear: [{ type: core.Output }],
|
|
7139
7182
|
sortClear: [{ type: core.Output }],
|
|
7140
7183
|
filterClear: [{ type: core.Output }],
|
|
7141
7184
|
allClear: [{ type: core.Output }]
|
|
@@ -7190,7 +7233,10 @@
|
|
|
7190
7233
|
_this.current = data.results.length;
|
|
7191
7234
|
_this.data = data.results;
|
|
7192
7235
|
// Clear selection
|
|
7193
|
-
_this.state.
|
|
7236
|
+
if (!_this.state.retainSelected) {
|
|
7237
|
+
_this.state.selectedRows.clear();
|
|
7238
|
+
}
|
|
7239
|
+
_this.state.retainSelected = false;
|
|
7194
7240
|
_this.state.onSelectionChange();
|
|
7195
7241
|
// Mark changes
|
|
7196
7242
|
setTimeout(function () {
|
|
@@ -7562,6 +7608,7 @@
|
|
|
7562
7608
|
}
|
|
7563
7609
|
}
|
|
7564
7610
|
this.state.filter = filter;
|
|
7611
|
+
this.state.checkRetainment('filter');
|
|
7565
7612
|
this.state.reset(false, true);
|
|
7566
7613
|
this.state.updates.next({ filter: filter, sort: this.state.sort });
|
|
7567
7614
|
this.state.onSortFilterChange();
|
|
@@ -7569,6 +7616,7 @@
|
|
|
7569
7616
|
NovoDataTableSortFilter.prototype.sort = function (id, value, transform) {
|
|
7570
7617
|
var sort = { id: id, value: value, transform: transform };
|
|
7571
7618
|
this.state.sort = sort;
|
|
7619
|
+
this.state.checkRetainment('sort');
|
|
7572
7620
|
this.state.reset(false, true);
|
|
7573
7621
|
this.state.updates.next({ sort: sort, filter: this.state.filter });
|
|
7574
7622
|
this.state.onSortFilterChange();
|
|
@@ -7981,6 +8029,7 @@
|
|
|
7981
8029
|
this.trackByFn = function (index, item) { return item.id; };
|
|
7982
8030
|
this.templates = {};
|
|
7983
8031
|
this.fixedHeader = false;
|
|
8032
|
+
this.maxSelected = undefined;
|
|
7984
8033
|
this._hideGlobalSearch = true;
|
|
7985
8034
|
this.preferencesChanged = new core.EventEmitter();
|
|
7986
8035
|
this.loading = true;
|
|
@@ -8204,6 +8253,7 @@
|
|
|
8204
8253
|
};
|
|
8205
8254
|
NovoDataTable.prototype.ngAfterContentInit = function () {
|
|
8206
8255
|
var _this = this;
|
|
8256
|
+
var _a;
|
|
8207
8257
|
if (this.displayedColumns && this.displayedColumns.length) {
|
|
8208
8258
|
this.expandable = this.displayedColumns.includes('expand');
|
|
8209
8259
|
}
|
|
@@ -8233,6 +8283,7 @@
|
|
|
8233
8283
|
}
|
|
8234
8284
|
this.state.page = this.paginationOptions ? this.paginationOptions.page : undefined;
|
|
8235
8285
|
this.state.pageSize = this.paginationOptions ? this.paginationOptions.pageSize : undefined;
|
|
8286
|
+
this.state.selectionOptions = (_a = this.selectionOptions) !== null && _a !== void 0 ? _a : undefined;
|
|
8236
8287
|
// Scrolling inside table
|
|
8237
8288
|
this.novoDataTableContainer.nativeElement.addEventListener('scroll', this.scrollListenerHandler);
|
|
8238
8289
|
this.initialized = true;
|
|
@@ -8407,11 +8458,11 @@
|
|
|
8407
8458
|
this.ref.markForCheck();
|
|
8408
8459
|
};
|
|
8409
8460
|
NovoDataTable.prototype.performInteractions = function (event) {
|
|
8410
|
-
var e_1,
|
|
8461
|
+
var e_1, _b;
|
|
8411
8462
|
if (this.listInteractions) {
|
|
8412
8463
|
try {
|
|
8413
|
-
for (var
|
|
8414
|
-
var column =
|
|
8464
|
+
for (var _c = __values(this.columns), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
8465
|
+
var column = _d.value;
|
|
8415
8466
|
var allListColumnInteractions = this.listInteractions[column.id];
|
|
8416
8467
|
var listColumnInteraction = allListColumnInteractions && allListColumnInteractions.find(function (int) { return int.event.includes(event); });
|
|
8417
8468
|
if (listColumnInteraction) {
|
|
@@ -8422,7 +8473,7 @@
|
|
|
8422
8473
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
8423
8474
|
finally {
|
|
8424
8475
|
try {
|
|
8425
|
-
if (
|
|
8476
|
+
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
8426
8477
|
}
|
|
8427
8478
|
finally { if (e_1) throw e_1.error; }
|
|
8428
8479
|
}
|
|
@@ -8440,7 +8491,7 @@
|
|
|
8440
8491
|
animations.transition('void <=> *', animations.animate('70ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
|
|
8441
8492
|
]),
|
|
8442
8493
|
],
|
|
8443
|
-
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 ",
|
|
8444
8495
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
8445
8496
|
providers: [DataTableState]
|
|
8446
8497
|
},] }
|
|
@@ -8460,6 +8511,7 @@
|
|
|
8460
8511
|
displayedColumns: [{ type: core.Input }],
|
|
8461
8512
|
paginationOptions: [{ type: core.Input }],
|
|
8462
8513
|
searchOptions: [{ type: core.Input }],
|
|
8514
|
+
selectionOptions: [{ type: core.Input }],
|
|
8463
8515
|
defaultSort: [{ type: core.Input }],
|
|
8464
8516
|
name: [{ type: core.Input }],
|
|
8465
8517
|
allowMultipleFilters: [{ type: core.Input }],
|
|
@@ -8469,6 +8521,7 @@
|
|
|
8469
8521
|
templates: [{ type: core.Input }],
|
|
8470
8522
|
fixedHeader: [{ type: core.Input }],
|
|
8471
8523
|
paginatorDataFeatureId: [{ type: core.Input }],
|
|
8524
|
+
maxSelected: [{ type: core.Input }],
|
|
8472
8525
|
dataTableService: [{ type: core.Input }],
|
|
8473
8526
|
rows: [{ type: core.Input }],
|
|
8474
8527
|
outsideFilter: [{ type: core.Input }],
|
|
@@ -28658,6 +28711,7 @@
|
|
|
28658
28711
|
_this.dataTable = dataTable;
|
|
28659
28712
|
_this.ref = ref;
|
|
28660
28713
|
_this.role = 'gridcell';
|
|
28714
|
+
_this.maxSelected = undefined;
|
|
28661
28715
|
_this.checked = false;
|
|
28662
28716
|
renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', "novo-checkbox-column-" + columnDef.cssClassFriendlyName);
|
|
28663
28717
|
renderer.addClass(elementRef.nativeElement, "novo-checkbox-column-" + columnDef.cssClassFriendlyName);
|
|
@@ -28672,11 +28726,23 @@
|
|
|
28672
28726
|
});
|
|
28673
28727
|
return _this;
|
|
28674
28728
|
}
|
|
28729
|
+
Object.defineProperty(NovoDataTableCheckboxCell.prototype, "isAtLimit", {
|
|
28730
|
+
get: function () {
|
|
28731
|
+
return this.maxSelected && this.dataTable.state.selectedRows.size >= this.maxSelected && !this.checked;
|
|
28732
|
+
},
|
|
28733
|
+
enumerable: false,
|
|
28734
|
+
configurable: true
|
|
28735
|
+
});
|
|
28675
28736
|
NovoDataTableCheckboxCell.prototype.ngOnInit = function () {
|
|
28676
28737
|
this.checked = this.dataTable.isSelected(this.row);
|
|
28677
28738
|
};
|
|
28678
28739
|
NovoDataTableCheckboxCell.prototype.onClick = function () {
|
|
28679
|
-
|
|
28740
|
+
if (!this.isAtLimit) {
|
|
28741
|
+
this.dataTable.selectRow(this.row);
|
|
28742
|
+
}
|
|
28743
|
+
};
|
|
28744
|
+
NovoDataTableCheckboxCell.prototype.getTooltip = function () {
|
|
28745
|
+
return (this.isAtLimit) ? 'More than ' + this.maxSelected + ' items are not able to be selected at one time' : '';
|
|
28680
28746
|
};
|
|
28681
28747
|
NovoDataTableCheckboxCell.prototype.ngOnDestroy = function () {
|
|
28682
28748
|
if (this.selectionSubscription) {
|
|
@@ -28691,7 +28757,7 @@
|
|
|
28691
28757
|
NovoDataTableCheckboxCell.decorators = [
|
|
28692
28758
|
{ type: core.Component, args: [{
|
|
28693
28759
|
selector: 'novo-data-table-checkbox-cell',
|
|
28694
|
-
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 ",
|
|
28760
|
+
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 ",
|
|
28695
28761
|
changeDetection: core.ChangeDetectionStrategy.OnPush
|
|
28696
28762
|
},] }
|
|
28697
28763
|
];
|
|
@@ -28704,7 +28770,8 @@
|
|
|
28704
28770
|
]; };
|
|
28705
28771
|
NovoDataTableCheckboxCell.propDecorators = {
|
|
28706
28772
|
role: [{ type: core.HostBinding, args: ['attr.role',] }],
|
|
28707
|
-
row: [{ type: core.Input }]
|
|
28773
|
+
row: [{ type: core.Input }],
|
|
28774
|
+
maxSelected: [{ type: core.Input }]
|
|
28708
28775
|
};
|
|
28709
28776
|
|
|
28710
28777
|
var NovoDataTableExpandCell = /** @class */ (function (_super) {
|
|
@@ -28850,13 +28917,210 @@
|
|
|
28850
28917
|
role: [{ type: core.HostBinding, args: ['attr.role',] }]
|
|
28851
28918
|
};
|
|
28852
28919
|
|
|
28920
|
+
// NG2
|
|
28921
|
+
var NovoToastElement = /** @class */ (function () {
|
|
28922
|
+
function NovoToastElement(sanitizer) {
|
|
28923
|
+
this.sanitizer = sanitizer;
|
|
28924
|
+
this.theme = 'danger';
|
|
28925
|
+
this.icon = 'caution';
|
|
28926
|
+
this.hasDialogue = false;
|
|
28927
|
+
this.isCloseable = false;
|
|
28928
|
+
this.closed = new core.EventEmitter();
|
|
28929
|
+
this.show = false;
|
|
28930
|
+
this.animate = false;
|
|
28931
|
+
this.parent = null;
|
|
28932
|
+
this.launched = false;
|
|
28933
|
+
}
|
|
28934
|
+
Object.defineProperty(NovoToastElement.prototype, "message", {
|
|
28935
|
+
set: function (m) {
|
|
28936
|
+
this._message = this.sanitizer.bypassSecurityTrustHtml(m);
|
|
28937
|
+
},
|
|
28938
|
+
enumerable: false,
|
|
28939
|
+
configurable: true
|
|
28940
|
+
});
|
|
28941
|
+
NovoToastElement.prototype.ngOnInit = function () {
|
|
28942
|
+
if (!this.launched) {
|
|
28943
|
+
// clear position and time
|
|
28944
|
+
this.position = null;
|
|
28945
|
+
this.time = null;
|
|
28946
|
+
// set icon and styling
|
|
28947
|
+
this.iconClass = "bhi-" + this.icon;
|
|
28948
|
+
this.alertTheme = this.theme + " toast-container embedded";
|
|
28949
|
+
if (this.hasDialogue) {
|
|
28950
|
+
this.alertTheme += ' dialogue';
|
|
28951
|
+
}
|
|
28952
|
+
}
|
|
28953
|
+
};
|
|
28954
|
+
NovoToastElement.prototype.ngOnChanges = function (changes) {
|
|
28955
|
+
// set icon and styling
|
|
28956
|
+
this.iconClass = "bhi-" + this.icon;
|
|
28957
|
+
this.alertTheme = this.theme + " toast-container embedded";
|
|
28958
|
+
if (this.hasDialogue) {
|
|
28959
|
+
this.alertTheme += ' dialogue';
|
|
28960
|
+
}
|
|
28961
|
+
};
|
|
28962
|
+
NovoToastElement.prototype.clickHandler = function (event) {
|
|
28963
|
+
if (!this.isCloseable) {
|
|
28964
|
+
if (event) {
|
|
28965
|
+
event.stopPropagation();
|
|
28966
|
+
event.preventDefault();
|
|
28967
|
+
}
|
|
28968
|
+
if (this.parent) {
|
|
28969
|
+
this.parent.hide(this);
|
|
28970
|
+
}
|
|
28971
|
+
else {
|
|
28972
|
+
this.closed.emit({ closed: true });
|
|
28973
|
+
}
|
|
28974
|
+
}
|
|
28975
|
+
};
|
|
28976
|
+
NovoToastElement.prototype.close = function (event) {
|
|
28977
|
+
if (event) {
|
|
28978
|
+
event.stopPropagation();
|
|
28979
|
+
event.preventDefault();
|
|
28980
|
+
}
|
|
28981
|
+
if (this.parent) {
|
|
28982
|
+
this.parent.hide(this);
|
|
28983
|
+
}
|
|
28984
|
+
else {
|
|
28985
|
+
this.closed.emit({ closed: true });
|
|
28986
|
+
}
|
|
28987
|
+
};
|
|
28988
|
+
return NovoToastElement;
|
|
28989
|
+
}());
|
|
28990
|
+
NovoToastElement.decorators = [
|
|
28991
|
+
{ type: core.Component, args: [{
|
|
28992
|
+
selector: 'novo-toast',
|
|
28993
|
+
host: {
|
|
28994
|
+
'[class]': 'alertTheme',
|
|
28995
|
+
'[class.show]': 'show',
|
|
28996
|
+
'[class.animate]': 'animate',
|
|
28997
|
+
'[class.embedded]': 'embedded',
|
|
28998
|
+
'(click)': '!isCloseable && clickHandler($event)',
|
|
28999
|
+
},
|
|
29000
|
+
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 "
|
|
29001
|
+
},] }
|
|
29002
|
+
];
|
|
29003
|
+
NovoToastElement.ctorParameters = function () { return [
|
|
29004
|
+
{ type: platformBrowser.DomSanitizer }
|
|
29005
|
+
]; };
|
|
29006
|
+
NovoToastElement.propDecorators = {
|
|
29007
|
+
theme: [{ type: core.Input }],
|
|
29008
|
+
icon: [{ type: core.Input }],
|
|
29009
|
+
title: [{ type: core.Input }],
|
|
29010
|
+
hasDialogue: [{ type: core.Input }],
|
|
29011
|
+
link: [{ type: core.Input }],
|
|
29012
|
+
isCloseable: [{ type: core.Input }],
|
|
29013
|
+
message: [{ type: core.Input }],
|
|
29014
|
+
closed: [{ type: core.Output }]
|
|
29015
|
+
};
|
|
29016
|
+
|
|
29017
|
+
// NG2
|
|
29018
|
+
var NovoToastService = /** @class */ (function () {
|
|
29019
|
+
function NovoToastService(componentUtils) {
|
|
29020
|
+
this.componentUtils = componentUtils;
|
|
29021
|
+
this.references = [];
|
|
29022
|
+
this.icons = { default: 'bell', success: 'check', info: 'info', warning: 'warning', danger: 'remove' };
|
|
29023
|
+
this.defaults = { hideDelay: 3500, position: 'growlTopRight', theme: 'default' };
|
|
29024
|
+
}
|
|
29025
|
+
Object.defineProperty(NovoToastService.prototype, "parentViewContainer", {
|
|
29026
|
+
set: function (view) {
|
|
29027
|
+
this._parentViewContainer = view;
|
|
29028
|
+
},
|
|
29029
|
+
enumerable: false,
|
|
29030
|
+
configurable: true
|
|
29031
|
+
});
|
|
29032
|
+
NovoToastService.prototype.alert = function (options, toastElement) {
|
|
29033
|
+
var _this = this;
|
|
29034
|
+
if (toastElement === void 0) { toastElement = NovoToastElement; }
|
|
29035
|
+
return new Promise(function (resolve) {
|
|
29036
|
+
if (!_this._parentViewContainer) {
|
|
29037
|
+
console.error('No parent view container specified for the ToastService. Set it inside your main application. \nthis.toastService.parentViewContainer = view (ViewContainerRef)');
|
|
29038
|
+
return;
|
|
29039
|
+
}
|
|
29040
|
+
var toast = _this.componentUtils.append(toastElement, _this._parentViewContainer);
|
|
29041
|
+
_this.references.push(toast);
|
|
29042
|
+
_this.handleAlert(toast.instance, options);
|
|
29043
|
+
resolve(toast);
|
|
29044
|
+
});
|
|
29045
|
+
};
|
|
29046
|
+
NovoToastService.prototype.isVisible = function (toast) {
|
|
29047
|
+
return toast.show;
|
|
29048
|
+
};
|
|
29049
|
+
NovoToastService.prototype.hide = function (toast) {
|
|
29050
|
+
var _this = this;
|
|
29051
|
+
toast.animate = false;
|
|
29052
|
+
setTimeout(function () {
|
|
29053
|
+
toast.show = false;
|
|
29054
|
+
var REF = _this.references.filter(function (x) { return x.instance === toast; })[0];
|
|
29055
|
+
if (REF) {
|
|
29056
|
+
_this.references.splice(_this.references.indexOf(REF), 1);
|
|
29057
|
+
REF.destroy();
|
|
29058
|
+
}
|
|
29059
|
+
}, 300);
|
|
29060
|
+
};
|
|
29061
|
+
NovoToastService.prototype.handleAlert = function (toast, options) {
|
|
29062
|
+
var _this = this;
|
|
29063
|
+
this.setToastOnSession(toast, options);
|
|
29064
|
+
setTimeout(function () {
|
|
29065
|
+
_this.show(toast);
|
|
29066
|
+
}, 20);
|
|
29067
|
+
if (!toast.isCloseable) {
|
|
29068
|
+
this.toastTimer(toast);
|
|
29069
|
+
}
|
|
29070
|
+
};
|
|
29071
|
+
NovoToastService.prototype.setToastOnSession = function (toast, opts) {
|
|
29072
|
+
var OPTIONS = typeof opts === 'object' ? opts : {};
|
|
29073
|
+
toast.parent = this;
|
|
29074
|
+
toast.title = OPTIONS.title || '';
|
|
29075
|
+
toast.message = OPTIONS.message || '';
|
|
29076
|
+
toast.hideDelay = OPTIONS.hideDelay || this.defaults.hideDelay;
|
|
29077
|
+
toast.link = OPTIONS.link || '';
|
|
29078
|
+
toast.isCloseable = OPTIONS.isCloseable || false;
|
|
29079
|
+
var CUSTOM_CLASS = OPTIONS.customClass || '';
|
|
29080
|
+
var ALERT_STYLE = OPTIONS.theme || this.defaults.theme;
|
|
29081
|
+
var ALERT_POSITION = OPTIONS.position || this.defaults.position;
|
|
29082
|
+
var ALERT_ICON = OPTIONS.icon || this.icons.default;
|
|
29083
|
+
toast.iconClass = "bhi-" + ALERT_ICON;
|
|
29084
|
+
toast.launched = true;
|
|
29085
|
+
toast.alertTheme = ALERT_STYLE + " " + ALERT_POSITION + " " + CUSTOM_CLASS + " toast-container launched";
|
|
29086
|
+
};
|
|
29087
|
+
NovoToastService.prototype.show = function (toast) {
|
|
29088
|
+
toast.show = true;
|
|
29089
|
+
setTimeout(addClass, 25);
|
|
29090
|
+
/**
|
|
29091
|
+
* Adds animate class to be called after a timeout
|
|
29092
|
+
**/
|
|
29093
|
+
function addClass() {
|
|
29094
|
+
toast.animate = true;
|
|
29095
|
+
}
|
|
29096
|
+
};
|
|
29097
|
+
NovoToastService.prototype.toastTimer = function (toast) {
|
|
29098
|
+
var _this = this;
|
|
29099
|
+
if (toast.hideDelay < 0) {
|
|
29100
|
+
return;
|
|
29101
|
+
}
|
|
29102
|
+
setTimeout(function () {
|
|
29103
|
+
_this.hide(toast);
|
|
29104
|
+
}, toast.hideDelay);
|
|
29105
|
+
};
|
|
29106
|
+
return NovoToastService;
|
|
29107
|
+
}());
|
|
29108
|
+
NovoToastService.decorators = [
|
|
29109
|
+
{ type: core.Injectable }
|
|
29110
|
+
];
|
|
29111
|
+
NovoToastService.ctorParameters = function () { return [
|
|
29112
|
+
{ type: ComponentUtils }
|
|
29113
|
+
]; };
|
|
29114
|
+
|
|
28853
29115
|
var NovoDataTableCheckboxHeaderCell = /** @class */ (function (_super) {
|
|
28854
29116
|
__extends(NovoDataTableCheckboxHeaderCell, _super);
|
|
28855
|
-
function NovoDataTableCheckboxHeaderCell(columnDef, elementRef, renderer, dataTable, ref) {
|
|
29117
|
+
function NovoDataTableCheckboxHeaderCell(columnDef, elementRef, renderer, dataTable, ref, toaster) {
|
|
28856
29118
|
var _this = _super.call(this, columnDef, elementRef) || this;
|
|
28857
29119
|
_this.dataTable = dataTable;
|
|
28858
29120
|
_this.ref = ref;
|
|
29121
|
+
_this.toaster = toaster;
|
|
28859
29122
|
_this.role = 'columnheader';
|
|
29123
|
+
_this.maxSelected = undefined;
|
|
28860
29124
|
_this.checked = false;
|
|
28861
29125
|
renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', "novo-checkbox-column-header-" + columnDef.cssClassFriendlyName);
|
|
28862
29126
|
renderer.addClass(elementRef.nativeElement, "novo-checkbox-column-" + columnDef.cssClassFriendlyName);
|
|
@@ -28869,6 +29133,8 @@
|
|
|
28869
29133
|
if (event.isPageSizeChange) {
|
|
28870
29134
|
_this.checked = false;
|
|
28871
29135
|
_this.dataTable.selectRows(false);
|
|
29136
|
+
_this.dataTable.state.checkRetainment('pageSize');
|
|
29137
|
+
_this.dataTable.state.reset(false, true);
|
|
28872
29138
|
}
|
|
28873
29139
|
else {
|
|
28874
29140
|
_this.checked = _this.dataTable.allCurrentRowsSelected();
|
|
@@ -28881,6 +29147,13 @@
|
|
|
28881
29147
|
});
|
|
28882
29148
|
return _this;
|
|
28883
29149
|
}
|
|
29150
|
+
Object.defineProperty(NovoDataTableCheckboxHeaderCell.prototype, "isAtLimit", {
|
|
29151
|
+
get: function () {
|
|
29152
|
+
return this.maxSelected && this.dataTable.state.selectedRows.size + this.dataTable.dataSource.data.length > this.maxSelected && !this.checked;
|
|
29153
|
+
},
|
|
29154
|
+
enumerable: false,
|
|
29155
|
+
configurable: true
|
|
29156
|
+
});
|
|
28884
29157
|
NovoDataTableCheckboxHeaderCell.prototype.ngOnDestroy = function () {
|
|
28885
29158
|
if (this.selectionSubscription) {
|
|
28886
29159
|
this.selectionSubscription.unsubscribe();
|
|
@@ -28893,7 +29166,17 @@
|
|
|
28893
29166
|
}
|
|
28894
29167
|
};
|
|
28895
29168
|
NovoDataTableCheckboxHeaderCell.prototype.onClick = function () {
|
|
28896
|
-
|
|
29169
|
+
if (this.isAtLimit) {
|
|
29170
|
+
this.toaster.alert({
|
|
29171
|
+
theme: 'danger',
|
|
29172
|
+
position: 'fixedTop',
|
|
29173
|
+
message: 'Error, more than 500 items are not able to be selected at one time',
|
|
29174
|
+
icon: 'caution',
|
|
29175
|
+
});
|
|
29176
|
+
}
|
|
29177
|
+
else {
|
|
29178
|
+
this.dataTable.selectRows(!this.checked);
|
|
29179
|
+
}
|
|
28897
29180
|
};
|
|
28898
29181
|
return NovoDataTableCheckboxHeaderCell;
|
|
28899
29182
|
}(table.CdkHeaderCell));
|
|
@@ -28909,10 +29192,12 @@
|
|
|
28909
29192
|
{ type: core.ElementRef },
|
|
28910
29193
|
{ type: core.Renderer2 },
|
|
28911
29194
|
{ type: NovoDataTable },
|
|
28912
|
-
{ type: core.ChangeDetectorRef }
|
|
29195
|
+
{ type: core.ChangeDetectorRef },
|
|
29196
|
+
{ type: NovoToastService }
|
|
28913
29197
|
]; };
|
|
28914
29198
|
NovoDataTableCheckboxHeaderCell.propDecorators = {
|
|
28915
|
-
role: [{ type: core.HostBinding, args: ['attr.role',] }]
|
|
29199
|
+
role: [{ type: core.HostBinding, args: ['attr.role',] }],
|
|
29200
|
+
maxSelected: [{ type: core.Input }]
|
|
28916
29201
|
};
|
|
28917
29202
|
|
|
28918
29203
|
var NovoDataTableHeaderCell = /** @class */ (function (_super) {
|
|
@@ -29028,10 +29313,12 @@
|
|
|
29028
29313
|
this.resetSubscription.unsubscribe();
|
|
29029
29314
|
};
|
|
29030
29315
|
NovoDataTablePagination.prototype.selectPage = function (page) {
|
|
29316
|
+
this.state.checkRetainment('page');
|
|
29031
29317
|
this.page = page;
|
|
29032
29318
|
this.emitPageEvent();
|
|
29033
29319
|
};
|
|
29034
29320
|
NovoDataTablePagination.prototype.nextPage = function () {
|
|
29321
|
+
this.state.checkRetainment('page');
|
|
29035
29322
|
if (!this.hasNextPage()) {
|
|
29036
29323
|
return;
|
|
29037
29324
|
}
|
|
@@ -29040,6 +29327,7 @@
|
|
|
29040
29327
|
this.emitPageEvent();
|
|
29041
29328
|
};
|
|
29042
29329
|
NovoDataTablePagination.prototype.previousPage = function () {
|
|
29330
|
+
this.state.checkRetainment('page');
|
|
29043
29331
|
if (!this.hasPreviousPage()) {
|
|
29044
29332
|
return;
|
|
29045
29333
|
}
|
|
@@ -30307,7 +30595,7 @@
|
|
|
30307
30595
|
'[class.novo-expansion-panel-spacing]': '_hasSpacing()',
|
|
30308
30596
|
'[class.novo-expansion-panel-padding]': 'padding',
|
|
30309
30597
|
},
|
|
30310
|
-
styles: ["@-webkit-keyframes rotate{0%{transform:rotate(0deg)}75%{transform:rotate(200deg)}to{transform:rotate(180deg)}}@-webkit-keyframes half-rotate{0%{transform:rotate(45deg)}75%{transform:rotate(100deg)}to{transform:rotate(90deg)}}@-webkit-keyframes rotateBack{0%{transform:rotate(90deg)}to{transform:rotate(0deg)}}@-webkit-keyframes show{0%{opacity:0;transform:translateX(-100%)}75%{transform:translateX(0)}to{opacity:1;transform:translateX(0)}}@keyframes rotate{0%{transform:rotate(0deg)}75%{transform:rotate(200deg)}to{transform:rotate(180deg)}}@keyframes half-rotate{0%{transform:rotate(45deg)}75%{transform:rotate(100deg)}to{transform:rotate(90deg)}}@keyframes rotateBack{0%{transform:rotate(90deg)}to{transform:rotate(0deg)}}@keyframes show{0%{opacity:0;transform:translateX(-100%)}75%{transform:translateX(0)}to{opacity:1;transform:translateX(0)}}.novo-expansion-panel{background:#fff;color:#3d464d}.novo-action-row{border-top-color:#3d464d}.novo-expansion-panel:not(.novo-expanded) .novo-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.novo-expansion-panel:not(.novo-expanded) .novo-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.novo-expansion-panel:not(.novo-expanded) .novo-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}.novo-expansion-panel-header-title{color:#3d464d}.novo-expansion-indicator:after,.novo-expansion-panel-header-description{color:#999}.novo-expansion-panel-header[aria-disabled=true]{color:#999;pointer-events:none}.novo-expansion-panel-header[aria-disabled=true] .novo-expansion-panel-header-description,.novo-expansion-panel-header[aria-disabled=true] .novo-expansion-panel-header-title{color:inherit}.novo-expansion-panel.novo-expanded[theme=company]{border-top:3px solid #39d}.novo-expansion-panel.novo-expanded[theme=candidate]{border-top:3px solid #4b7}.novo-expansion-panel.novo-expanded[theme=navigation]{border-top:3px solid #2f384f}.novo-expansion-panel.novo-expanded[theme=lead]{border-top:3px solid #a69}.novo-expansion-panel.novo-expanded[theme=contact]{border-top:3px solid #fa4}.novo-expansion-panel.novo-expanded[theme=opportunity]{border-top:3px solid #625}.novo-expansion-panel.novo-expanded[theme=job]{border-top:3px solid #b56}.novo-expansion-panel.novo-expanded[theme=earnCode],.novo-expansion-panel.novo-expanded[theme=jobCode]{border-top:3px solid #696d79}.novo-expansion-panel.novo-expanded[theme=sendout]{border-top:3px solid #747884}.novo-expansion-panel.novo-expanded[theme=placement]{border-top:3px solid #0b344f}.novo-expansion-panel.novo-expanded[theme=corporateuser],.novo-expansion-panel.novo-expanded[theme=credential],.novo-expansion-panel.novo-expanded[theme=distributionList],.novo-expansion-panel.novo-expanded[theme=task],.novo-expansion-panel.novo-expanded[theme=user]{border-top:3px solid #4f5361}.novo-expansion-panel.novo-expanded[theme=aqua]{border-top:3px solid #3bafda}.novo-expansion-panel.novo-expanded[theme=ocean]{border-top:3px solid #4a89dc}.novo-expansion-panel.novo-expanded[theme=mint]{border-top:3px solid #37bc9b}.novo-expansion-panel.novo-expanded[theme=grass]{border-top:3px solid #8cc152}.novo-expansion-panel.novo-expanded[theme=sunflower]{border-top:3px solid #f6b042}.novo-expansion-panel.novo-expanded[theme=bittersweet]{border-top:3px solid #eb6845}.novo-expansion-panel.novo-expanded[theme=grapefruit]{border-top:3px solid #da4453}.novo-expansion-panel.novo-expanded[theme=carnation]{border-top:3px solid #d770ad}.novo-expansion-panel.novo-expanded[theme=lavender]{border-top:3px solid #967adc}.novo-expansion-panel.novo-expanded[theme=positive]{border-top:3px solid #4a89dc}.novo-expansion-panel.novo-expanded[theme=success]{border-top:3px solid #8cc152}.novo-expansion-panel.novo-expanded[theme=negative]{border-top:3px solid #da4453}.novo-expansion-panel.novo-expanded[theme=warning]{border-top:3px solid #f6b042}.novo-expansion-panel.novo-expanded[theme=black]{border-top:3px solid #000}.novo-expansion-panel.novo-expanded[theme=dark]{border-top:3px solid #3d464d}.novo-expansion-panel.novo-expanded[theme=pulse]{border-top:3px solid #3bafda}.novo-expansion-panel.novo-expanded[theme=neutral]{border-top:3px solid #4f5361}.novo-expansion-panel.novo-expanded[theme=navy]{border-top:3px solid #0d2d42}.novo-expansion-panel.novo-expanded[theme=contract]{border-top:3px solid #454ea0}.novo-expansion-panel.novo-expanded[theme=mountain]{border-top:3px solid #9678b6}.novo-expansion-panel.novo-expanded[theme=billableCharge],.novo-expansion-panel.novo-expanded[theme=invoiceStatement],.novo-expansion-panel.novo-expanded[theme=payableCharge]{border-top:3px solid #696d79}.novo-expansion-panel.novo-expanded[theme=submission]{border-top:3px solid #a9adbb}.novo-expansion-panel.novo-expanded[theme=note]{border-top:3px solid #747884}.novo-expansion-panel.novo-expanded[theme=ash]{border-top:3px solid #a0a0a0}.novo-expansion-panel.novo-expanded[theme=slate]{border-top:3px solid #707070}.novo-expansion-panel.novo-expanded[theme=charcoal]{border-top:3px solid #282828}.novo-expansion-panel.novo-expanded[theme=background]{border-top:3px solid #f4f4f4}.novo-expansion-panel.novo-expanded[theme=background-dark]{border-top:3px solid #e2e2e2}.novo-expansion-panel.novo-expanded[theme=white]{border-top:3px solid #fff}.novo-expansion-panel.novo-expanded[theme=grey]{border-top:3px solid #999}.novo-expansion-panel.novo-expanded[theme=off-white]{border-top:3px solid #f4f4f4}.novo-expansion-panel.novo-expanded[theme=light]{border-top:3px solid #d9dadc}.novo-expansion-panel.novo-expanded[theme=empty]{border-top:3px solid #cccdcc}.novo-expansion-panel.novo-expanded[theme=sand]{border-top:3px solid #f4f4f4}.novo-expansion-panel.novo-expanded[theme=silver]{border-top:3px solid #e2e2e2}.novo-expansion-panel.novo-expanded[theme=stone]{border-top:3px solid #bebebe}.novo-expansion-panel{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-sizing:content-box;display:block;margin:0 16px;transition:margin 225ms ease-in-out}.novo-expansion-panel.novo-expanded{margin:16px 4px}.novo-expansion-panel.novo-expanded:first-child{margin-top:0}.novo-expansion-panel.novo-expanded:last-child{margin-bottom:0}.novo-expansion-panel-content{overflow:hidden}.novo-expansion-panel-content.novo-expanded{overflow:visible}.novo-expansion-panel-padding .novo-expansion-panel-body{padding:0 24px 16px}.novo-accordion .novo-expansion-panel-spacing:first-child{margin-top:0}.novo-accordion .novo-expansion-panel-spacing:last-child{margin-bottom:0}.novo-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.novo-action-row button.novo-button{margin-left:8px}[dir=rtl] .novo-action-row button.novo-button{margin-left:0;margin-right:8px}"]
|
|
30598
|
+
styles: ["@-webkit-keyframes rotate{0%{transform:rotate(0deg)}75%{transform:rotate(200deg)}to{transform:rotate(180deg)}}@-webkit-keyframes half-rotate{0%{transform:rotate(45deg)}75%{transform:rotate(100deg)}to{transform:rotate(90deg)}}@-webkit-keyframes rotateBack{0%{transform:rotate(90deg)}to{transform:rotate(0deg)}}@-webkit-keyframes show{0%{opacity:0;transform:translateX(-100%)}75%{transform:translateX(0)}to{opacity:1;transform:translateX(0)}}@keyframes rotate{0%{transform:rotate(0deg)}75%{transform:rotate(200deg)}to{transform:rotate(180deg)}}@keyframes half-rotate{0%{transform:rotate(45deg)}75%{transform:rotate(100deg)}to{transform:rotate(90deg)}}@keyframes rotateBack{0%{transform:rotate(90deg)}to{transform:rotate(0deg)}}@keyframes show{0%{opacity:0;transform:translateX(-100%)}75%{transform:translateX(0)}to{opacity:1;transform:translateX(0)}}.novo-expansion-panel{background:#fff;color:#3d464d}.novo-action-row{border-top-color:#3d464d}.novo-expansion-panel:not(.novo-expanded) .novo-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.novo-expansion-panel:not(.novo-expanded) .novo-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.novo-expansion-panel:not(.novo-expanded) .novo-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}.novo-expansion-panel-header-title{color:#3d464d}.novo-expansion-indicator:after,.novo-expansion-panel-header-description{color:#999}.novo-expansion-panel-header[aria-disabled=true]{color:#999;pointer-events:none}.novo-expansion-panel-header[aria-disabled=true] .novo-expansion-panel-header-description,.novo-expansion-panel-header[aria-disabled=true] .novo-expansion-panel-header-title{color:inherit}.novo-expansion-panel.novo-expanded[theme=company]{border-top:3px solid #39d}.novo-expansion-panel.novo-expanded[theme=candidate]{border-top:3px solid #4b7}.novo-expansion-panel.novo-expanded[theme=navigation]{border-top:3px solid #2f384f}.novo-expansion-panel.novo-expanded[theme=lead]{border-top:3px solid #a69}.novo-expansion-panel.novo-expanded[theme=contact]{border-top:3px solid #fa4}.novo-expansion-panel.novo-expanded[theme=opportunity]{border-top:3px solid #625}.novo-expansion-panel.novo-expanded[theme=job]{border-top:3px solid #b56}.novo-expansion-panel.novo-expanded[theme=earnCode],.novo-expansion-panel.novo-expanded[theme=jobCode]{border-top:3px solid #696d79}.novo-expansion-panel.novo-expanded[theme=sendout]{border-top:3px solid #747884}.novo-expansion-panel.novo-expanded[theme=placement]{border-top:3px solid #0b344f}.novo-expansion-panel.novo-expanded[theme=corporateuser],.novo-expansion-panel.novo-expanded[theme=credential],.novo-expansion-panel.novo-expanded[theme=distributionList],.novo-expansion-panel.novo-expanded[theme=task],.novo-expansion-panel.novo-expanded[theme=user]{border-top:3px solid #4f5361}.novo-expansion-panel.novo-expanded[theme=aqua]{border-top:3px solid #3bafda}.novo-expansion-panel.novo-expanded[theme=ocean]{border-top:3px solid #4a89dc}.novo-expansion-panel.novo-expanded[theme=mint]{border-top:3px solid #37bc9b}.novo-expansion-panel.novo-expanded[theme=grass]{border-top:3px solid #8cc152}.novo-expansion-panel.novo-expanded[theme=sunflower]{border-top:3px solid #f6b042}.novo-expansion-panel.novo-expanded[theme=bittersweet]{border-top:3px solid #eb6845}.novo-expansion-panel.novo-expanded[theme=grapefruit]{border-top:3px solid #da4453}.novo-expansion-panel.novo-expanded[theme=carnation]{border-top:3px solid #d770ad}.novo-expansion-panel.novo-expanded[theme=lavender]{border-top:3px solid #967adc}.novo-expansion-panel.novo-expanded[theme=positive]{border-top:3px solid #4a89dc}.novo-expansion-panel.novo-expanded[theme=success]{border-top:3px solid #8cc152}.novo-expansion-panel.novo-expanded[theme=negative]{border-top:3px solid #da4453}.novo-expansion-panel.novo-expanded[theme=warning]{border-top:3px solid #f6b042}.novo-expansion-panel.novo-expanded[theme=black]{border-top:3px solid #000}.novo-expansion-panel.novo-expanded[theme=dark]{border-top:3px solid #3d464d}.novo-expansion-panel.novo-expanded[theme=pulse]{border-top:3px solid #3bafda}.novo-expansion-panel.novo-expanded[theme=neutral]{border-top:3px solid #4f5361}.novo-expansion-panel.novo-expanded[theme=navy]{border-top:3px solid #0d2d42}.novo-expansion-panel.novo-expanded[theme=contract]{border-top:3px solid #454ea0}.novo-expansion-panel.novo-expanded[theme=mountain]{border-top:3px solid #9678b6}.novo-expansion-panel.novo-expanded[theme=billableCharge],.novo-expansion-panel.novo-expanded[theme=invoiceStatement],.novo-expansion-panel.novo-expanded[theme=payableCharge]{border-top:3px solid #696d79}.novo-expansion-panel.novo-expanded[theme=submission]{border-top:3px solid #a9adbb}.novo-expansion-panel.novo-expanded[theme=note]{border-top:3px solid #747884}.novo-expansion-panel.novo-expanded[theme=ash]{border-top:3px solid #a0a0a0}.novo-expansion-panel.novo-expanded[theme=slate]{border-top:3px solid #707070}.novo-expansion-panel.novo-expanded[theme=charcoal]{border-top:3px solid #282828}.novo-expansion-panel.novo-expanded[theme=jobShift]{border-top:3px solid #454ea0}.novo-expansion-panel.novo-expanded[theme=background]{border-top:3px solid #f4f4f4}.novo-expansion-panel.novo-expanded[theme=background-dark]{border-top:3px solid #e2e2e2}.novo-expansion-panel.novo-expanded[theme=white]{border-top:3px solid #fff}.novo-expansion-panel.novo-expanded[theme=grey]{border-top:3px solid #999}.novo-expansion-panel.novo-expanded[theme=off-white]{border-top:3px solid #f4f4f4}.novo-expansion-panel.novo-expanded[theme=light]{border-top:3px solid #d9dadc}.novo-expansion-panel.novo-expanded[theme=empty]{border-top:3px solid #cccdcc}.novo-expansion-panel.novo-expanded[theme=sand]{border-top:3px solid #f4f4f4}.novo-expansion-panel.novo-expanded[theme=silver]{border-top:3px solid #e2e2e2}.novo-expansion-panel.novo-expanded[theme=stone]{border-top:3px solid #bebebe}.novo-expansion-panel{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-sizing:content-box;display:block;margin:0 16px;transition:margin 225ms ease-in-out}.novo-expansion-panel.novo-expanded{margin:16px 4px}.novo-expansion-panel.novo-expanded:first-child{margin-top:0}.novo-expansion-panel.novo-expanded:last-child{margin-bottom:0}.novo-expansion-panel-content{overflow:hidden}.novo-expansion-panel-content.novo-expanded{overflow:visible}.novo-expansion-panel-padding .novo-expansion-panel-body{padding:0 24px 16px}.novo-accordion .novo-expansion-panel-spacing:first-child{margin-top:0}.novo-accordion .novo-expansion-panel-spacing:last-child{margin-bottom:0}.novo-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.novo-action-row button.novo-button{margin-left:8px}[dir=rtl] .novo-action-row button.novo-button{margin-left:0;margin-right:8px}"]
|
|
30311
30599
|
},] }
|
|
30312
30600
|
];
|
|
30313
30601
|
NovoExpansionPanel.ctorParameters = function () { return [
|
|
@@ -31800,6 +32088,7 @@
|
|
|
31800
32088
|
})
|
|
31801
32089
|
: [];
|
|
31802
32090
|
var fields = meta.fields.map(function (field) {
|
|
32091
|
+
field.parentEntity = meta.entity;
|
|
31803
32092
|
if (!field.hasOwnProperty('sortOrder')) {
|
|
31804
32093
|
field.sortOrder = Number.MAX_SAFE_INTEGER - 1;
|
|
31805
32094
|
}
|
|
@@ -31907,7 +32196,7 @@
|
|
|
31907
32196
|
var currentValue = null;
|
|
31908
32197
|
var currentWorkflowOption = 'initial';
|
|
31909
32198
|
if (fieldData === null || fieldData === void 0 ? void 0 : fieldData.id) {
|
|
31910
|
-
currentValue = { value: fieldData.id, label: fieldData.label
|
|
32199
|
+
currentValue = Object.assign(Object.assign({}, fieldData), { value: fieldData.id, label: fieldData.label || fieldData.id });
|
|
31911
32200
|
currentWorkflowOption = fieldData.id;
|
|
31912
32201
|
}
|
|
31913
32202
|
var updateWorkflowOptions = workflowOptions[currentWorkflowOption] || [];
|
|
@@ -32230,201 +32519,6 @@
|
|
|
32230
32519
|
{ type: ComponentUtils }
|
|
32231
32520
|
]; };
|
|
32232
32521
|
|
|
32233
|
-
// NG2
|
|
32234
|
-
var NovoToastElement = /** @class */ (function () {
|
|
32235
|
-
function NovoToastElement(sanitizer) {
|
|
32236
|
-
this.sanitizer = sanitizer;
|
|
32237
|
-
this.theme = 'danger';
|
|
32238
|
-
this.icon = 'caution';
|
|
32239
|
-
this.hasDialogue = false;
|
|
32240
|
-
this.isCloseable = false;
|
|
32241
|
-
this.closed = new core.EventEmitter();
|
|
32242
|
-
this.show = false;
|
|
32243
|
-
this.animate = false;
|
|
32244
|
-
this.parent = null;
|
|
32245
|
-
this.launched = false;
|
|
32246
|
-
}
|
|
32247
|
-
Object.defineProperty(NovoToastElement.prototype, "message", {
|
|
32248
|
-
set: function (m) {
|
|
32249
|
-
this._message = this.sanitizer.bypassSecurityTrustHtml(m);
|
|
32250
|
-
},
|
|
32251
|
-
enumerable: false,
|
|
32252
|
-
configurable: true
|
|
32253
|
-
});
|
|
32254
|
-
NovoToastElement.prototype.ngOnInit = function () {
|
|
32255
|
-
if (!this.launched) {
|
|
32256
|
-
// clear position and time
|
|
32257
|
-
this.position = null;
|
|
32258
|
-
this.time = null;
|
|
32259
|
-
// set icon and styling
|
|
32260
|
-
this.iconClass = "bhi-" + this.icon;
|
|
32261
|
-
this.alertTheme = this.theme + " toast-container embedded";
|
|
32262
|
-
if (this.hasDialogue) {
|
|
32263
|
-
this.alertTheme += ' dialogue';
|
|
32264
|
-
}
|
|
32265
|
-
}
|
|
32266
|
-
};
|
|
32267
|
-
NovoToastElement.prototype.ngOnChanges = function (changes) {
|
|
32268
|
-
// set icon and styling
|
|
32269
|
-
this.iconClass = "bhi-" + this.icon;
|
|
32270
|
-
this.alertTheme = this.theme + " toast-container embedded";
|
|
32271
|
-
if (this.hasDialogue) {
|
|
32272
|
-
this.alertTheme += ' dialogue';
|
|
32273
|
-
}
|
|
32274
|
-
};
|
|
32275
|
-
NovoToastElement.prototype.clickHandler = function (event) {
|
|
32276
|
-
if (!this.isCloseable) {
|
|
32277
|
-
if (event) {
|
|
32278
|
-
event.stopPropagation();
|
|
32279
|
-
event.preventDefault();
|
|
32280
|
-
}
|
|
32281
|
-
if (this.parent) {
|
|
32282
|
-
this.parent.hide(this);
|
|
32283
|
-
}
|
|
32284
|
-
else {
|
|
32285
|
-
this.closed.emit({ closed: true });
|
|
32286
|
-
}
|
|
32287
|
-
}
|
|
32288
|
-
};
|
|
32289
|
-
NovoToastElement.prototype.close = function (event) {
|
|
32290
|
-
if (event) {
|
|
32291
|
-
event.stopPropagation();
|
|
32292
|
-
event.preventDefault();
|
|
32293
|
-
}
|
|
32294
|
-
if (this.parent) {
|
|
32295
|
-
this.parent.hide(this);
|
|
32296
|
-
}
|
|
32297
|
-
else {
|
|
32298
|
-
this.closed.emit({ closed: true });
|
|
32299
|
-
}
|
|
32300
|
-
};
|
|
32301
|
-
return NovoToastElement;
|
|
32302
|
-
}());
|
|
32303
|
-
NovoToastElement.decorators = [
|
|
32304
|
-
{ type: core.Component, args: [{
|
|
32305
|
-
selector: 'novo-toast',
|
|
32306
|
-
host: {
|
|
32307
|
-
'[class]': 'alertTheme',
|
|
32308
|
-
'[class.show]': 'show',
|
|
32309
|
-
'[class.animate]': 'animate',
|
|
32310
|
-
'[class.embedded]': 'embedded',
|
|
32311
|
-
'(click)': '!isCloseable && clickHandler($event)',
|
|
32312
|
-
},
|
|
32313
|
-
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 "
|
|
32314
|
-
},] }
|
|
32315
|
-
];
|
|
32316
|
-
NovoToastElement.ctorParameters = function () { return [
|
|
32317
|
-
{ type: platformBrowser.DomSanitizer }
|
|
32318
|
-
]; };
|
|
32319
|
-
NovoToastElement.propDecorators = {
|
|
32320
|
-
theme: [{ type: core.Input }],
|
|
32321
|
-
icon: [{ type: core.Input }],
|
|
32322
|
-
title: [{ type: core.Input }],
|
|
32323
|
-
hasDialogue: [{ type: core.Input }],
|
|
32324
|
-
link: [{ type: core.Input }],
|
|
32325
|
-
isCloseable: [{ type: core.Input }],
|
|
32326
|
-
message: [{ type: core.Input }],
|
|
32327
|
-
closed: [{ type: core.Output }]
|
|
32328
|
-
};
|
|
32329
|
-
|
|
32330
|
-
// NG2
|
|
32331
|
-
var NovoToastService = /** @class */ (function () {
|
|
32332
|
-
function NovoToastService(componentUtils) {
|
|
32333
|
-
this.componentUtils = componentUtils;
|
|
32334
|
-
this.references = [];
|
|
32335
|
-
this.icons = { default: 'bell', success: 'check', info: 'info', warning: 'warning', danger: 'remove' };
|
|
32336
|
-
this.defaults = { hideDelay: 3500, position: 'growlTopRight', theme: 'default' };
|
|
32337
|
-
}
|
|
32338
|
-
Object.defineProperty(NovoToastService.prototype, "parentViewContainer", {
|
|
32339
|
-
set: function (view) {
|
|
32340
|
-
this._parentViewContainer = view;
|
|
32341
|
-
},
|
|
32342
|
-
enumerable: false,
|
|
32343
|
-
configurable: true
|
|
32344
|
-
});
|
|
32345
|
-
NovoToastService.prototype.alert = function (options, toastElement) {
|
|
32346
|
-
var _this = this;
|
|
32347
|
-
if (toastElement === void 0) { toastElement = NovoToastElement; }
|
|
32348
|
-
return new Promise(function (resolve) {
|
|
32349
|
-
if (!_this._parentViewContainer) {
|
|
32350
|
-
console.error('No parent view container specified for the ToastService. Set it inside your main application. \nthis.toastService.parentViewContainer = view (ViewContainerRef)');
|
|
32351
|
-
return;
|
|
32352
|
-
}
|
|
32353
|
-
var toast = _this.componentUtils.append(toastElement, _this._parentViewContainer);
|
|
32354
|
-
_this.references.push(toast);
|
|
32355
|
-
_this.handleAlert(toast.instance, options);
|
|
32356
|
-
resolve(toast);
|
|
32357
|
-
});
|
|
32358
|
-
};
|
|
32359
|
-
NovoToastService.prototype.isVisible = function (toast) {
|
|
32360
|
-
return toast.show;
|
|
32361
|
-
};
|
|
32362
|
-
NovoToastService.prototype.hide = function (toast) {
|
|
32363
|
-
var _this = this;
|
|
32364
|
-
toast.animate = false;
|
|
32365
|
-
setTimeout(function () {
|
|
32366
|
-
toast.show = false;
|
|
32367
|
-
var REF = _this.references.filter(function (x) { return x.instance === toast; })[0];
|
|
32368
|
-
if (REF) {
|
|
32369
|
-
_this.references.splice(_this.references.indexOf(REF), 1);
|
|
32370
|
-
REF.destroy();
|
|
32371
|
-
}
|
|
32372
|
-
}, 300);
|
|
32373
|
-
};
|
|
32374
|
-
NovoToastService.prototype.handleAlert = function (toast, options) {
|
|
32375
|
-
var _this = this;
|
|
32376
|
-
this.setToastOnSession(toast, options);
|
|
32377
|
-
setTimeout(function () {
|
|
32378
|
-
_this.show(toast);
|
|
32379
|
-
}, 20);
|
|
32380
|
-
if (!toast.isCloseable) {
|
|
32381
|
-
this.toastTimer(toast);
|
|
32382
|
-
}
|
|
32383
|
-
};
|
|
32384
|
-
NovoToastService.prototype.setToastOnSession = function (toast, opts) {
|
|
32385
|
-
var OPTIONS = typeof opts === 'object' ? opts : {};
|
|
32386
|
-
toast.parent = this;
|
|
32387
|
-
toast.title = OPTIONS.title || '';
|
|
32388
|
-
toast.message = OPTIONS.message || '';
|
|
32389
|
-
toast.hideDelay = OPTIONS.hideDelay || this.defaults.hideDelay;
|
|
32390
|
-
toast.link = OPTIONS.link || '';
|
|
32391
|
-
toast.isCloseable = OPTIONS.isCloseable || false;
|
|
32392
|
-
var CUSTOM_CLASS = OPTIONS.customClass || '';
|
|
32393
|
-
var ALERT_STYLE = OPTIONS.theme || this.defaults.theme;
|
|
32394
|
-
var ALERT_POSITION = OPTIONS.position || this.defaults.position;
|
|
32395
|
-
var ALERT_ICON = OPTIONS.icon || this.icons.default;
|
|
32396
|
-
toast.iconClass = "bhi-" + ALERT_ICON;
|
|
32397
|
-
toast.launched = true;
|
|
32398
|
-
toast.alertTheme = ALERT_STYLE + " " + ALERT_POSITION + " " + CUSTOM_CLASS + " toast-container launched";
|
|
32399
|
-
};
|
|
32400
|
-
NovoToastService.prototype.show = function (toast) {
|
|
32401
|
-
toast.show = true;
|
|
32402
|
-
setTimeout(addClass, 25);
|
|
32403
|
-
/**
|
|
32404
|
-
* Adds animate class to be called after a timeout
|
|
32405
|
-
**/
|
|
32406
|
-
function addClass() {
|
|
32407
|
-
toast.animate = true;
|
|
32408
|
-
}
|
|
32409
|
-
};
|
|
32410
|
-
NovoToastService.prototype.toastTimer = function (toast) {
|
|
32411
|
-
var _this = this;
|
|
32412
|
-
if (toast.hideDelay < 0) {
|
|
32413
|
-
return;
|
|
32414
|
-
}
|
|
32415
|
-
setTimeout(function () {
|
|
32416
|
-
_this.hide(toast);
|
|
32417
|
-
}, toast.hideDelay);
|
|
32418
|
-
};
|
|
32419
|
-
return NovoToastService;
|
|
32420
|
-
}());
|
|
32421
|
-
NovoToastService.decorators = [
|
|
32422
|
-
{ type: core.Injectable }
|
|
32423
|
-
];
|
|
32424
|
-
NovoToastService.ctorParameters = function () { return [
|
|
32425
|
-
{ type: ComponentUtils }
|
|
32426
|
-
]; };
|
|
32427
|
-
|
|
32428
32522
|
// NG2
|
|
32429
32523
|
var ControlConfirmModal = /** @class */ (function () {
|
|
32430
32524
|
function ControlConfirmModal(modalRef, params, labels) {
|