mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-28 02:22:26 +08:00
feat: use TimeSelector for revision_snapshot_interval
added one TODO that needs to be handled in TimeSelector: minimum allowed value (!in seconds!)
This commit is contained in:
parent
eeb99cf37c
commit
eb08a976dd
@ -1,30 +1,30 @@
|
|||||||
import OptionsWidget from "../options_widget.js";
|
|
||||||
import { t } from "../../../../services/i18n.js";
|
import { t } from "../../../../services/i18n.js";
|
||||||
import type { OptionMap } from "../../../../../../services/options_interface.js";
|
import TimeSelector from "../time_selector.js";
|
||||||
|
|
||||||
const TPL = `
|
const TPL = `
|
||||||
<div class="options-section">
|
<div class="options-section">
|
||||||
<h4>${t("revisions_snapshot_interval.note_revisions_snapshot_interval_title")}</h4>
|
<h4>${t("revisions_snapshot_interval.note_revisions_snapshot_interval_title")}</h4>
|
||||||
|
|
||||||
<p class="use-tn-links">${t("revisions_snapshot_interval.note_revisions_snapshot_description")}</p>
|
<p class="use-tn-links">${t("revisions_snapshot_interval.note_revisions_snapshot_description")}</p>
|
||||||
|
<div id="time-selector-placeholder"></div>
|
||||||
<div class="form-group">
|
|
||||||
<label>${t("revisions_snapshot_interval.snapshot_time_interval_label")}</label>
|
|
||||||
<input class="revision-snapshot-time-interval-in-seconds form-control options-number-input" type="number" min="10">
|
|
||||||
</div>
|
|
||||||
</div>`;
|
</div>`;
|
||||||
|
//TriliumNextTODO: add support for setting minimum number of entered seconds -> snapshot revision should not be less than 10 seconds
|
||||||
|
export default class RevisionsSnapshotIntervalOptions extends TimeSelector {
|
||||||
|
|
||||||
export default class RevisionsSnapshotIntervalOptions extends OptionsWidget {
|
constructor() {
|
||||||
|
super({
|
||||||
private $revisionsTimeInterval!: JQuery<HTMLElement>;
|
widgetId: "revision-snapshot-time-interval",
|
||||||
|
widgetLabelId: "revisions_snapshot_interval.snapshot_time_interval_label",
|
||||||
|
optionValueId: "revisionSnapshotTimeInterval",
|
||||||
|
optionTimeScaleId: "revisionSnapshotTimeIntervalTimeScale"
|
||||||
|
});
|
||||||
|
super.doRender();
|
||||||
|
}
|
||||||
|
|
||||||
doRender() {
|
doRender() {
|
||||||
|
const $timeSelector = this.$widget;
|
||||||
|
// inject TimeSelector widget template
|
||||||
this.$widget = $(TPL);
|
this.$widget = $(TPL);
|
||||||
this.$revisionsTimeInterval = this.$widget.find(".revision-snapshot-time-interval-in-seconds");
|
this.$widget.find("#time-selector-placeholder").replaceWith($timeSelector)
|
||||||
this.$revisionsTimeInterval.on("change", () => this.updateOption("revisionSnapshotTimeInterval", this.$revisionsTimeInterval.val()));
|
|
||||||
}
|
|
||||||
|
|
||||||
async optionsLoaded(options: OptionMap) {
|
|
||||||
this.$revisionsTimeInterval.val(options.revisionSnapshotTimeInterval);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,6 +36,7 @@ const TPL = (options: Omit<TimeSelectorConstructor, "optionValueId" | "optionTim
|
|||||||
}
|
}
|
||||||
</style>`;
|
</style>`;
|
||||||
|
|
||||||
|
//TriliumNextTODO: add support for setting minimum number of entered seconds
|
||||||
export default class TimeSelector extends OptionsWidget {
|
export default class TimeSelector extends OptionsWidget {
|
||||||
private $timeValueInput!: JQuery<HTMLInputElement>;
|
private $timeValueInput!: JQuery<HTMLInputElement>;
|
||||||
private $timeScaleSelect!: JQuery<HTMLSelectElement>;
|
private $timeScaleSelect!: JQuery<HTMLSelectElement>;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user