src/app/pages/sync-conflicts-page/sync-conflicts-page.component.html
{{ T.F.SYNC.CONFLICT_REVIEW.TAB_UNREVIEWED | translate: { count: unreviewedCount() } }} @if (unreviewed().length === 0) {
{{ T.F.SYNC.CONFLICT_REVIEW.EMPTY_UNREVIEWED | translate }}
} @else { {{ T.F.SYNC.CONFLICT_REVIEW.BULK_KEEP_ALL | translate }} {{ T.F.SYNC.CONFLICT_REVIEW.BULK_FLIP_LOCAL | translate }} {{ T.F.SYNC.CONFLICT_REVIEW.BULK_FLIP_REMOTE | translate }} @for (group of unreviewedGroups(); track group.entityType) {
@for (entry of group.entries; track entry.id) { } } }
@if (history().length === 0) {
{{ T.F.SYNC.CONFLICT_REVIEW.EMPTY_HISTORY | translate }}
} @else { @for (group of historyGroups(); track group.entityType) {
@for (entry of group.entries; track entry.id) { } } }
{{ isExpanded(entry) ? 'expand_less' : 'expand_more' }}{{ entry.entityTitle }}{{ entry.resolvedAt | date: 'short' }}{{ winnerKey(entry) | translate }}{{ reasonKey(entry) | translate }} @if (!actionable) { {{ statusKey(entry) | translate }} } @if (isExpanded(entry)) { @if (entry.winner === 'merged') { @for (diff of entry.fieldDiffs; track diff.field) { {{ T.F.SYNC.CONFLICT_REVIEW.MERGED_FIELD_CHIP | translate : { field: diff.field, side: mergedSideKey(diff) | translate } }} } } @else {
| {{ T.F.SYNC.CONFLICT_REVIEW.COL_FIELD | translate }} | {{ T.F.SYNC.CONFLICT_REVIEW.COL_LOCAL | translate }} {{ isThisDevice(entry.localClientId) ? (T.F.SYNC.CONFLICT_REVIEW.THIS_DEVICE | translate) : (T.F.SYNC.CONFLICT_REVIEW.DEVICE_LABEL | translate: { id: shortId(entry.localClientId) }) }} · {{ entry.localTs | date: 'short' }} | {{ T.F.SYNC.CONFLICT_REVIEW.COL_REMOTE | translate }} {{ isThisDevice(entry.remoteClientId) ? (T.F.SYNC.CONFLICT_REVIEW.THIS_DEVICE | translate) : (T.F.SYNC.CONFLICT_REVIEW.DEVICE_LABEL | translate: { id: shortId(entry.remoteClientId) }) }} · {{ entry.remoteTs | date: 'short' }} | @if (isStale(entry)) { {{ T.F.SYNC.CONFLICT_REVIEW.COL_CURRENT | translate }} | } | --- | --- | --- | --- | @for (diff of entry.fieldDiffs; track diff.field) { | {{ diff.field }} | {{ display(diff.localVal) }} @if (isFieldWonBy(diff, 'local')) { check } | {{ display(diff.remoteVal) }} @if (isFieldWonBy(diff, 'remote')) { check } | @if (isStale(entry)) { {{ display(currentValue(entry, diff.field)) }} | } }
} @if (actionable) { {{ T.F.SYNC.CONFLICT_REVIEW.ACTION_KEEP | translate }} {{ T.F.SYNC.CONFLICT_REVIEW.ACTION_FLIP | translate }} } }