mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 13:01:31 +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 type { OptionMap } from "../../../../../../services/options_interface.js"; | ||||
| import TimeSelector from "../time_selector.js"; | ||||
| 
 | ||||
| const TPL = ` | ||||
| <div class="options-section"> | ||||
|     <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> | ||||
| 
 | ||||
|     <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 id="time-selector-placeholder"></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 { | ||||
| 
 | ||||
|     private $revisionsTimeInterval!: JQuery<HTMLElement>; | ||||
|     constructor() { | ||||
|         super({ | ||||
|             widgetId: "revision-snapshot-time-interval", | ||||
|             widgetLabelId: "revisions_snapshot_interval.snapshot_time_interval_label", | ||||
|             optionValueId: "revisionSnapshotTimeInterval", | ||||
|             optionTimeScaleId: "revisionSnapshotTimeIntervalTimeScale" | ||||
|         }); | ||||
|         super.doRender(); | ||||
|     } | ||||
| 
 | ||||
|     doRender() { | ||||
|         const $timeSelector = this.$widget; | ||||
|         // inject TimeSelector widget template
 | ||||
|         this.$widget = $(TPL); | ||||
|         this.$revisionsTimeInterval = this.$widget.find(".revision-snapshot-time-interval-in-seconds"); | ||||
|         this.$revisionsTimeInterval.on("change", () => this.updateOption("revisionSnapshotTimeInterval", this.$revisionsTimeInterval.val())); | ||||
|     } | ||||
| 
 | ||||
|     async optionsLoaded(options: OptionMap) { | ||||
|         this.$revisionsTimeInterval.val(options.revisionSnapshotTimeInterval); | ||||
|         this.$widget.find("#time-selector-placeholder").replaceWith($timeSelector) | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -36,6 +36,7 @@ const TPL = (options: Omit<TimeSelectorConstructor, "optionValueId" | "optionTim | ||||
|     } | ||||
| </style>`;
 | ||||
| 
 | ||||
| //TriliumNextTODO: add support for setting minimum number of entered seconds
 | ||||
| export default class TimeSelector extends OptionsWidget { | ||||
|     private $timeValueInput!: JQuery<HTMLInputElement>; | ||||
|     private $timeScaleSelect!: JQuery<HTMLSelectElement>; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Panagiotis Papadopoulos
						Panagiotis Papadopoulos