Skip to content

Commit 3e1bef6

Browse files
committed
Lighten tooth-present shading and batch enrichment snackbar
1 parent c61cccc commit 3e1bef6

8 files changed

Lines changed: 191 additions & 20 deletions

src/app/benefits-demo/dentistry-record/dentistry-odontogram-anatomic/dentistry-odontogram-anatomic.component.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,10 @@
179179
opacity: 0.94;
180180
}
181181

182+
.surface-overlay-path.overlay-entire-tooth.surface-tooth-present {
183+
opacity: 0.24;
184+
}
185+
182186
.surface-overlay-path.overlay-periodontal-ring {
183187
fill: none;
184188
opacity: 0.85;

src/app/benefits-demo/dentistry-record/dentistry-odontogram-anatomic/dentistry-odontogram-anatomic.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ <h3>Anatomic View</h3>
140140
*ngIf="hasSurfaceVisual(tooth.id, option.code)"
141141
class="surface-overlay-path {{ getSurfaceOverlayClass(option.code, tooth, quadrant.prefix) }}"
142142
[class.surface-preview]="isSurfacePreview(tooth.id, option.code)"
143+
[class.surface-tooth-present]="isToothPresentOverlay(tooth.id, option.code)"
143144
[attr.d]="getSurfaceOverlayPath(option.code, tooth)"
144145
[attr.fill]="getSurfaceFill(option.code, tooth, quadrant.prefix)"
145146
[attr.stroke]="getSurfaceStroke(option.code)"

src/app/benefits-demo/dentistry-record/dentistry-odontogram-anatomic/dentistry-odontogram-anatomic.component.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ export class DentistryOdontogramAnatomicComponent {
3737
@Input() getSurfaceStrokeWidth: (surfaceCode: string) => string | null = () => null;
3838
@Input() getToothTooltipLines: (toothId: string) => string[] = () => [];
3939
@Input() getDisplayedNotation: (tooth: OdontogramTooth) => string = (tooth: OdontogramTooth) => tooth.notations.fdi;
40+
@Input() isToothPresentOverlay: (toothId: string, surfaceCode: string) => boolean = () => false;
4041

4142
@Output() notationSystemChange = new EventEmitter<'FDI' | 'Universal'>();
4243
@Output() toothPinned = new EventEmitter<OdontogramTooth>();

src/app/benefits-demo/dentistry-record/dentistry-odontogram-root-surface/dentistry-odontogram-root-surface.component.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,10 @@
165165
pointer-events: none;
166166
}
167167

168+
.surface-entire.surface-tooth-present {
169+
fill: rgba(255, 0, 0, 0.16);
170+
}
171+
168172
.surface-periodontal {
169173
fill: none;
170174
stroke: rgba(255,0,0, 0.9);

src/app/benefits-demo/dentistry-record/dentistry-odontogram-root-surface/dentistry-odontogram-root-surface.component.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ <h3>Odontogram View</h3>
7676
</circle>
7777
<polygon class="tooth-core-background" [attr.points]="getOuterSquarePoints(positioned.tooth)"></polygon>
7878

79-
<circle *ngIf="showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" cx="0" cy="0" r="18"></circle>
80-
<polygon *ngIf="!showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" [attr.points]="getOuterSquarePoints(positioned.tooth)"></polygon>
79+
<circle *ngIf="showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-tooth-present]="isToothPresentOverlay(positioned.tooth.id, surfaceCodeEntire)" cx="0" cy="0" r="18"></circle>
80+
<polygon *ngIf="!showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-tooth-present]="isToothPresentOverlay(positioned.tooth.id, surfaceCodeEntire)" [attr.points]="getOuterSquarePoints(positioned.tooth)"></polygon>
8181
<circle *ngIf="hasPeriodontalSurface(positioned.tooth)" class="surface-periodontal" [class.surface-preview]="isPeriodontalPreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodePeriodontal)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodePeriodontal)" cx="0" cy="0" r="21"></circle>
8282

8383
<path *ngIf="hasRootDirectionSurface(positioned.tooth, 'top')" class="surface-root-segment" [class.surface-preview]="isRootDirectionPreview(positioned.tooth, 'top')" [class.surface-procedure]="isProcedureRootDirectionSurface(positioned.tooth, 'top')" [class.surface-procedure-completed]="isCompletedProcedureRootDirectionSurface(positioned.tooth, 'top')" [attr.d]="getRootTopPath(positioned.tooth)"></path>
@@ -135,8 +135,8 @@ <h3>Odontogram View</h3>
135135
</circle>
136136
<polygon class="tooth-core-background" [attr.points]="getOuterSquarePoints(positioned.tooth)"></polygon>
137137

138-
<circle *ngIf="showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" cx="0" cy="0" r="18"></circle>
139-
<polygon *ngIf="!showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" [attr.points]="getOuterSquarePoints(positioned.tooth)"></polygon>
138+
<circle *ngIf="showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-tooth-present]="isToothPresentOverlay(positioned.tooth.id, surfaceCodeEntire)" cx="0" cy="0" r="18"></circle>
139+
<polygon *ngIf="!showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-tooth-present]="isToothPresentOverlay(positioned.tooth.id, surfaceCodeEntire)" [attr.points]="getOuterSquarePoints(positioned.tooth)"></polygon>
140140
<circle *ngIf="hasPeriodontalSurface(positioned.tooth)" class="surface-periodontal" [class.surface-preview]="isPeriodontalPreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodePeriodontal)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodePeriodontal)" cx="0" cy="0" r="21"></circle>
141141

142142
<path *ngIf="hasRootDirectionSurface(positioned.tooth, 'top')" class="surface-root-segment" [class.surface-preview]="isRootDirectionPreview(positioned.tooth, 'top')" [class.surface-procedure]="isProcedureRootDirectionSurface(positioned.tooth, 'top')" [class.surface-procedure-completed]="isCompletedProcedureRootDirectionSurface(positioned.tooth, 'top')" [attr.d]="getRootTopPath(positioned.tooth)"></path>
@@ -194,8 +194,8 @@ <h3>Odontogram View</h3>
194194
</circle>
195195
<polygon class="tooth-core-background" [attr.points]="getOuterSquarePoints(positioned.tooth)"></polygon>
196196

197-
<circle *ngIf="showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" cx="0" cy="0" r="18"></circle>
198-
<polygon *ngIf="!showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" [attr.points]="getOuterSquarePoints(positioned.tooth)"></polygon>
197+
<circle *ngIf="showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-tooth-present]="isToothPresentOverlay(positioned.tooth.id, surfaceCodeEntire)" cx="0" cy="0" r="18"></circle>
198+
<polygon *ngIf="!showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-tooth-present]="isToothPresentOverlay(positioned.tooth.id, surfaceCodeEntire)" [attr.points]="getOuterSquarePoints(positioned.tooth)"></polygon>
199199
<circle *ngIf="hasPeriodontalSurface(positioned.tooth)" class="surface-periodontal" [class.surface-preview]="isPeriodontalPreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodePeriodontal)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodePeriodontal)" cx="0" cy="0" r="21"></circle>
200200

201201
<path *ngIf="hasRootDirectionSurface(positioned.tooth, 'top')" class="surface-root-segment" [class.surface-preview]="isRootDirectionPreview(positioned.tooth, 'top')" [class.surface-procedure]="isProcedureRootDirectionSurface(positioned.tooth, 'top')" [class.surface-procedure-completed]="isCompletedProcedureRootDirectionSurface(positioned.tooth, 'top')" [attr.d]="getRootTopPath(positioned.tooth)"></path>
@@ -253,8 +253,8 @@ <h3>Odontogram View</h3>
253253
</circle>
254254
<polygon class="tooth-core-background" [attr.points]="getOuterSquarePoints(positioned.tooth)"></polygon>
255255

256-
<circle *ngIf="showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" cx="0" cy="0" r="18"></circle>
257-
<polygon *ngIf="!showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" [attr.points]="getOuterSquarePoints(positioned.tooth)"></polygon>
256+
<circle *ngIf="showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-tooth-present]="isToothPresentOverlay(positioned.tooth.id, surfaceCodeEntire)" cx="0" cy="0" r="18"></circle>
257+
<polygon *ngIf="!showRoots && hasEntireSurface(positioned.tooth)" class="surface-entire" [class.surface-preview]="isEntirePreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodeEntire)" [class.surface-tooth-present]="isToothPresentOverlay(positioned.tooth.id, surfaceCodeEntire)" [attr.points]="getOuterSquarePoints(positioned.tooth)"></polygon>
258258
<circle *ngIf="hasPeriodontalSurface(positioned.tooth)" class="surface-periodontal" [class.surface-preview]="isPeriodontalPreview(positioned.tooth)" [class.surface-procedure]="isProcedureSurface(positioned.tooth, surfaceCodePeriodontal)" [class.surface-procedure-completed]="isCompletedProcedureSurface(positioned.tooth, surfaceCodePeriodontal)" cx="0" cy="0" r="21"></circle>
259259

260260
<path *ngIf="hasRootDirectionSurface(positioned.tooth, 'top')" class="surface-root-segment" [class.surface-preview]="isRootDirectionPreview(positioned.tooth, 'top')" [class.surface-procedure]="isProcedureRootDirectionSurface(positioned.tooth, 'top')" [class.surface-procedure-completed]="isCompletedProcedureRootDirectionSurface(positioned.tooth, 'top')" [attr.d]="getRootTopPath(positioned.tooth)"></path>

src/app/benefits-demo/dentistry-record/dentistry-odontogram-root-surface/dentistry-odontogram-root-surface.component.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export class DentistryOdontogramRootSurfaceComponent implements OnInit, OnChange
3131
@Input() hasSurfaceVisual: (toothId: string, surfaceCode: string) => boolean = () => false;
3232
@Input() getSurfaceVisualType: (toothId: string, surfaceCode: string) => 'finding' | 'procedure-planned' | 'procedure-completed' | null = () => null;
3333
@Input() isSurfacePreview: (toothId: string, surfaceCode: string) => boolean = () => false;
34+
@Input() isToothPresentOverlay: (toothId: string, surfaceCode: string) => boolean = () => false;
3435
@Input() hoveredTooth: OdontogramTooth | null = null;
3536
@Input() tooltipX = 0;
3637
@Input() tooltipY = 0;

src/app/benefits-demo/dentistry-record/dentistry-record.component.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ <h2>Odontogram</h2>
5151
[getSurfaceStrokeWidth]="getSurfaceStrokeWidthFn"
5252
[getToothTooltipLines]="getToothTooltipLinesFn"
5353
[getDisplayedNotation]="getDisplayedToothNotationFn"
54+
[isToothPresentOverlay]="isToothPresentOverlay.bind(this)"
5455
[notationSystem]="notationSystem"
5556
(notationSystemChange)="setNotationSystem($event)"
5657
(toothPinned)="pinTooth($event)"
@@ -85,6 +86,7 @@ <h2>Odontogram</h2>
8586
[surfaceCodePeriodontal]="SURFACE_CODE_PERIODONTAL"
8687
[getToothTooltipLines]="getToothTooltipLinesFn"
8788
[getDisplayedNotation]="getDisplayedToothNotationFn"
89+
[isToothPresentOverlay]="isToothPresentOverlay.bind(this)"
8890
(showRootsChange)="setShowRoots($event)"
8991
(notationSystemChange)="setNotationSystem($event)"
9092
(toothPinned)="pinTooth($event)"

0 commit comments

Comments
 (0)