Mir ist aufgefallen:
Nach einem Neuladen ist es aktualisiert. Aber es wäre logischer, wenn es mit dem Zeitstempel des Beitrags übereinstimmen würde, der ohne Neuladen aktualisiert wird.
Mir ist aufgefallen:
Nach einem Neuladen ist es aktualisiert. Aber es wäre logischer, wenn es mit dem Zeitstempel des Beitrags übereinstimmen würde, der ohne Neuladen aktualisiert wird.
Interessant, könnte mit unserem Glimmer-Move zusammenhängen, @isaac
Bei der Untersuchung der alten Implementierung frage ich mich, ob dies auch zuvor ein Problem war …
const bottomAge = relativeAge(
new Date(topic.last_posted_at || topic.created_at),
{
addAgo: true,
defaultFormat: timelineDate,
}
);
const scroller = [
h(
"div.timeline-date-wrapper",
this.attach("link", {
className: "now-date",
rawLabel: bottomAge,
action: "jumpBottom",
})
),
];
Dies wurde in der html()-Funktion des Widgets aufgerufen, für das es keine Hooks zu geben scheint, um dies im Laufe der Zeit zu aktualisieren.
Offensichtlich ist die gewünschte Funktionalität, bottomAge beim Erstellen eines Beitrags mit dem neuesten Datum zu aktualisieren und es dann im Laufe der Zeit automatisch weiter zu aktualisieren. Was wir jetzt tun können, ist, eine Funktion hinzuzufügen
zu
und bottomAge beim Scrollen zu aktualisieren, aber in der Praxis fühlt sich das etwas seltsam an. Ein weiteres Problem bei dieser Idee ist, dass es schwierig ist, die Zeitpunkte der Aktualisierung des Datums des neuesten Beitrags mit der Aktualisierung des Datums bottomAge in der Themenzeitleiste abzugleichen. Das relative created_at eines Beitrags hinkt etwa 10 Sekunden hinterher … was zu einer Nichtübereinstimmung zwischen
führt, wenn Sie scrollen.
Idealerweise würden wir das relative created_at-Datum des Beitrags verfolgen und es einfach in die Zeitleiste einfügen, aber ich weiß nicht, ob das im Moment möglich ist.
@david, hast du irgendwelche Ideen?
Ja, das wäre ideal ![]()
Wenn wir die richtige HTML-Struktur verwenden, kann die automatische Aktualisierung im Laufe der Zeit automatisch gehandhabt werden von unserem relativen Datumshelfer.
Um Änderungen am topic.last_posted_at-Wert zu handhaben, sollten wir uns auf die Reaktivität von Glimmer verlassen können, anstatt Dinge beim Scrollen zu tun. z.B.
get bottomAge() {
return this.args.topic.get("last_posted_at") || this.args.topic.get("created_at");
}
Und dann können wir in der hbs unseren relativen Altershelfer verwenden, um ihn in der richtigen Struktur für die automatische Aktualisierung darzustellen.
{{age-with-tooltip this.bottomAge}}
Möglicherweise müssen wir einige Verbesserungen am Helfer vornehmen, damit er die Parameter ‘addAgo’ und ‘defaultFormat’ unterstützen kann?
Dies wird über folgenden Link behoben: