@rivet-health/design-system 32.0.0 → 32.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/table/simple-table/simple-table.component.mjs +27 -6
- package/fesm2015/rivet-health-design-system.mjs +26 -5
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +26 -5
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -20,10 +20,19 @@ export class SimpleTableComponent {
|
|
|
20
20
|
const allowedTypes = RivTable.ColumnDataTypes.join(', ');
|
|
21
21
|
throw new Error(`Each header cell must define an appropriate dataType, one of ${allowedTypes}`);
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
const newAlignment = RivTable.getColumnAlignment(dataType, i === 0);
|
|
24
|
+
const newLeftPinOffset = runningWidthTotal;
|
|
25
25
|
runningWidthTotal += headerCell.width;
|
|
26
|
-
headerCell.
|
|
26
|
+
const changed = headerCell.alignment != newAlignment ||
|
|
27
|
+
headerCell.leftPinOffset != newLeftPinOffset;
|
|
28
|
+
headerCell.alignment = newAlignment;
|
|
29
|
+
headerCell.leftPinOffset = newLeftPinOffset;
|
|
30
|
+
// Only mark for check when changed to prevent infinite cycles
|
|
31
|
+
if (changed) {
|
|
32
|
+
queueMicrotask(() => {
|
|
33
|
+
headerCell.cdr.markForCheck();
|
|
34
|
+
});
|
|
35
|
+
}
|
|
27
36
|
});
|
|
28
37
|
const getCellCoordinates = createCellCoordinateCalculator(dataCells.map(dataCell => {
|
|
29
38
|
const element = dataCell.elementRef.nativeElement;
|
|
@@ -36,13 +45,25 @@ export class SimpleTableComponent {
|
|
|
36
45
|
dataCells.forEach((dataCell, cellIndex) => {
|
|
37
46
|
const bounds = getCellCoordinates(cellIndex);
|
|
38
47
|
const headerCell = headerCells.get(bounds.start.col);
|
|
48
|
+
let changed = false;
|
|
39
49
|
if (headerCell) {
|
|
50
|
+
changed =
|
|
51
|
+
dataCell.alignment != headerCell.alignment ||
|
|
52
|
+
dataCell.pinned != headerCell.pinned ||
|
|
53
|
+
dataCell.leftPinOffset != headerCell.leftPinOffset;
|
|
40
54
|
dataCell.alignment = headerCell.alignment;
|
|
41
55
|
dataCell.pinned = headerCell.pinned;
|
|
42
56
|
dataCell.leftPinOffset = headerCell.leftPinOffset;
|
|
43
57
|
}
|
|
44
|
-
|
|
45
|
-
dataCell.
|
|
58
|
+
const newIsLastRow = bounds.end.row === maxRow;
|
|
59
|
+
changed = changed || dataCell.isLastRow != newIsLastRow;
|
|
60
|
+
dataCell.isLastRow = newIsLastRow;
|
|
61
|
+
// Only mark for check when changed to prevent infinite cycles
|
|
62
|
+
if (changed) {
|
|
63
|
+
queueMicrotask(() => {
|
|
64
|
+
dataCell.cdr.markForCheck();
|
|
65
|
+
});
|
|
66
|
+
}
|
|
46
67
|
});
|
|
47
68
|
}
|
|
48
69
|
}
|
|
@@ -61,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
61
82
|
type: ContentChildren,
|
|
62
83
|
args: [SimpleTableCellComponent, { descendants: true }]
|
|
63
84
|
}] } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL3RhYmxlL3NpbXBsZS10YWJsZS9zaW1wbGUtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvdGFibGUvc2ltcGxlLXRhYmxlL3NpbXBsZS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxHQUdoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQVF0RixNQUFNLE9BQU8sb0JBQW9CO0lBVS9CLHFCQUFxQjtRQUNuQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUV2QyxJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQztRQUMxQixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDaEMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDYixNQUFNLFlBQVksR0FBRyxRQUFRLENB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QUNsQixRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM5QixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztpSEF4RlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsK0tBSWQsOEJBQThCLCtEQUc5Qix3QkFBd0IsZ0RDM0IzQywrTUFRQTsyRkRZYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07OEJBSS9DLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxRQUFRO2dCQUlkLFdBQVc7c0JBRGxCLGVBQWU7dUJBQUMsOEJBQThCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUk5RCxTQUFTO3NCQURoQixlQUFlO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJpdlRhYmxlIH0gZnJvbSAnLi4vdGFibGUvc3RhdGUnO1xuaW1wb3J0IHsgY3JlYXRlQ2VsbENvb3JkaW5hdGVDYWxjdWxhdG9yIH0gZnJvbSAnLi9jb29yZGluYXRlLWhlbHBlcic7XG5pbXBvcnQgeyBTaW1wbGVUYWJsZUNlbGxDb21wb25lbnQgfSBmcm9tICcuL3NpbXBsZS10YWJsZS1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaW1wbGVUYWJsZUhlYWRlckNlbGxDb21wb25lbnQgfSBmcm9tICcuL3NpbXBsZS10YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtc2ltcGxlLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpbXBsZS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpbXBsZS10YWJsZS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTaW1wbGVUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQge1xuICBAQ29udGVudENoaWxkKCdoZWFkZXInKVxuICBoZWFkZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2ltcGxlVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgaGVhZGVyQ2VsbHM/OiBRdWVyeUxpc3Q8U2ltcGxlVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKFNpbXBsZVRhYmxlQ2VsbENvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIGRhdGFDZWxscz86IFF1ZXJ5TGlzdDxTaW1wbGVUYWJsZUNlbGxDb21wb25lbnQ+O1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICB0aGlzLnNldENlbGxQcm9wZXJ0aWVzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldENlbGxQcm9wZXJ0aWVzKCkge1xuICAgIGNvbnN0IHsgaGVhZGVyQ2VsbHMsIGRhdGFDZWxscyB9ID0gdGhpcztcbiAgICBpZiAoIWhlYWRlckNlbGxzIHx8ICFkYXRhQ2VsbHMpIHJldHVybjtcblxuICAgIGxldCBydW5uaW5nV2lkdGhUb3RhbCA9IDA7XG4gICAgaGVhZGVyQ2VsbHMuZm9yRWFjaCgoaGVhZGVyQ2VsbCwgaSkgPT4ge1xuICAgICAgY29uc3QgeyBkYXRhVHlwZSB9ID0gaGVhZGVyQ2VsbDtcbiAgICAgIGlmICghZGF0YVR5cGUpIHtcbiAgICAgICAgY29uc3QgYWxsb3dlZFR5cGVzID0gUml2VGFibGUuQ29sdW1uRGF0YVR5cGVzLmpvaW4oJywgJyk7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgRWFjaCBoZWFkZXIgY2VsbCBtdXN0IGRlZmluZSBhbiBhcHByb3ByaWF0ZSBkYXRhVHlwZSwgb25lIG9mICR7YWxsb3dlZFR5cGVzfWAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld0FsaWdubWVudCA9IFJpdlRhYmxlLmdldENvbHVtbkFsaWdubWVudChkYXRhVHlwZSwgaSA9PT0gMCk7XG4gICAgICBjb25zdCBuZXdMZWZ0UGluT2Zmc2V0ID0gcnVubmluZ1dpZHRoVG90YWw7XG4gICAgICBydW5uaW5nV2lkdGhUb3RhbCArPSBoZWFkZXJDZWxsLndpZHRoO1xuXG4gICAgICBjb25zdCBjaGFuZ2VkID1cbiAgICAgICAgaGVhZGVyQ2VsbC5hbGlnbm1lbnQgIT0gbmV3QWxpZ25tZW50IHx8XG4gICAgICAgIGhlYWRlckNlbGwubGVmdFBpbk9mZnNldCAhPSBuZXdMZWZ0UGluT2Zmc2V0O1xuICAgICAgaGVhZGVyQ2VsbC5hbGlnbm1lbnQgPSBuZXdBbGlnbm1lbnQ7XG4gICAgICBoZWFkZXJDZWxsLmxlZnRQaW5PZmZzZXQgPSBuZXdMZWZ0UGluT2Zmc2V0O1xuXG4gICAgICAvLyBPbmx5IG1hcmsgZm9yIGNoZWNrIHdoZW4gY2hhbmdlZCB0byBwcmV2ZW50IGluZmluaXRlIGN5Y2xlc1xuICAgICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICAgIGhlYWRlckNlbGwuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGdldENlbGxDb29yZGluYXRlcyA9IGNyZWF0ZUNlbGxDb29yZGluYXRlQ2FsY3VsYXRvcihcbiAgICAgIGRhdGFDZWxscy5tYXAoZGF0YUNlbGwgPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZGF0YUNlbGwuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJvd3NwYW46IHBhcnNlSW50KGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdyb3dzcGFuJykgfHwgJzEnLCAxMCksXG4gICAgICAgICAgY29sc3BhbjogcGFyc2VJbnQoZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2NvbHNwYW4nKSB8fCAnMScsIDEwKSxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICAgaGVhZGVyQ2VsbHMubGVuZ3RoLFxuICAgICk7XG5cbiAgICBjb25zdCBtYXhSb3cgPSBNYXRoLm1heChcbiAgICAgIC4uLmRhdGFDZWxscy5tYXAoKF8sIGkpID0+IGdldENlbGxDb29yZGluYXRlcyhpKS5lbmQucm93KSxcbiAgICApO1xuXG4gICAgZGF0YUNlbGxzLmZvckVhY2goKGRhdGFDZWxsLCBjZWxsSW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGJvdW5kcyA9IGdldENlbGxDb29yZGluYXRlcyhjZWxsSW5kZXgpO1xuXG4gICAgICBjb25zdCBoZWFkZXJDZWxsID0gaGVhZGVyQ2VsbHMuZ2V0KGJvdW5kcy5zdGFydC5jb2wpO1xuICAgICAgbGV0IGNoYW5nZWQgPSBmYWxzZTtcbiAgICAgIGlmIChoZWFkZXJDZWxsKSB7XG4gICAgICAgIGNoYW5nZWQgPVxuICAgICAgICAgIGRhdGFDZWxsLmFsaWdubWVudCAhPSBoZWFkZXJDZWxsLmFsaWdubWVudCB8fFxuICAgICAgICAgIGRhdGFDZWxsLnBpbm5lZCAhPSBoZWFkZXJDZWxsLnBpbm5lZCB8fFxuICAgICAgICAgIGRhdGFDZWxsLmxlZnRQaW5PZmZzZXQgIT0gaGVhZGVyQ2VsbC5sZWZ0UGluT2Zmc2V0O1xuXG4gICAgICAgIGRhdGFDZWxsLmFsaWdubWVudCA9IGhlYWRlckNlbGwuYWxpZ25tZW50O1xuICAgICAgICBkYXRhQ2VsbC5waW5uZWQgPSBoZWFkZXJDZWxsLnBpbm5lZDtcbiAgICAgICAgZGF0YUNlbGwubGVmdFBpbk9mZnNldCA9IGhlYWRlckNlbGwubGVmdFBpbk9mZnNldDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmV3SXNMYXN0Um93ID0gYm91bmRzLmVuZC5yb3cgPT09IG1heFJvdztcbiAgICAgIGNoYW5nZWQgPSBjaGFuZ2VkIHx8IGRhdGFDZWxsLmlzTGFzdFJvdyAhPSBuZXdJc0xhc3RSb3c7XG4gICAgICBkYXRhQ2VsbC5pc0xhc3RSb3cgPSBuZXdJc0xhc3RSb3c7XG5cbiAgICAgIC8vIE9ubHkgbWFyayBmb3IgY2hlY2sgd2hlbiBjaGFuZ2VkIHRvIHByZXZlbnQgaW5maW5pdGUgY3ljbGVzXG4gICAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgICAgZGF0YUNlbGwuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGhlYWRlciAqbmdJZj1cImhlYWRlclRlbXBsYXRlXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9oZWFkZXI+XG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gIDx0YWJsZT5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvdGFibGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -6762,10 +6762,19 @@ class SimpleTableComponent {
|
|
|
6762
6762
|
const allowedTypes = RivTable.ColumnDataTypes.join(', ');
|
|
6763
6763
|
throw new Error(`Each header cell must define an appropriate dataType, one of ${allowedTypes}`);
|
|
6764
6764
|
}
|
|
6765
|
-
|
|
6766
|
-
|
|
6765
|
+
const newAlignment = RivTable.getColumnAlignment(dataType, i === 0);
|
|
6766
|
+
const newLeftPinOffset = runningWidthTotal;
|
|
6767
6767
|
runningWidthTotal += headerCell.width;
|
|
6768
|
-
headerCell.
|
|
6768
|
+
const changed = headerCell.alignment != newAlignment ||
|
|
6769
|
+
headerCell.leftPinOffset != newLeftPinOffset;
|
|
6770
|
+
headerCell.alignment = newAlignment;
|
|
6771
|
+
headerCell.leftPinOffset = newLeftPinOffset;
|
|
6772
|
+
// Only mark for check when changed to prevent infinite cycles
|
|
6773
|
+
if (changed) {
|
|
6774
|
+
queueMicrotask(() => {
|
|
6775
|
+
headerCell.cdr.markForCheck();
|
|
6776
|
+
});
|
|
6777
|
+
}
|
|
6769
6778
|
});
|
|
6770
6779
|
const getCellCoordinates = createCellCoordinateCalculator(dataCells.map(dataCell => {
|
|
6771
6780
|
const element = dataCell.elementRef.nativeElement;
|
|
@@ -6778,13 +6787,25 @@ class SimpleTableComponent {
|
|
|
6778
6787
|
dataCells.forEach((dataCell, cellIndex) => {
|
|
6779
6788
|
const bounds = getCellCoordinates(cellIndex);
|
|
6780
6789
|
const headerCell = headerCells.get(bounds.start.col);
|
|
6790
|
+
let changed = false;
|
|
6781
6791
|
if (headerCell) {
|
|
6792
|
+
changed =
|
|
6793
|
+
dataCell.alignment != headerCell.alignment ||
|
|
6794
|
+
dataCell.pinned != headerCell.pinned ||
|
|
6795
|
+
dataCell.leftPinOffset != headerCell.leftPinOffset;
|
|
6782
6796
|
dataCell.alignment = headerCell.alignment;
|
|
6783
6797
|
dataCell.pinned = headerCell.pinned;
|
|
6784
6798
|
dataCell.leftPinOffset = headerCell.leftPinOffset;
|
|
6785
6799
|
}
|
|
6786
|
-
|
|
6787
|
-
dataCell.
|
|
6800
|
+
const newIsLastRow = bounds.end.row === maxRow;
|
|
6801
|
+
changed = changed || dataCell.isLastRow != newIsLastRow;
|
|
6802
|
+
dataCell.isLastRow = newIsLastRow;
|
|
6803
|
+
// Only mark for check when changed to prevent infinite cycles
|
|
6804
|
+
if (changed) {
|
|
6805
|
+
queueMicrotask(() => {
|
|
6806
|
+
dataCell.cdr.markForCheck();
|
|
6807
|
+
});
|
|
6808
|
+
}
|
|
6788
6809
|
});
|
|
6789
6810
|
}
|
|
6790
6811
|
}
|