MCPcopy
hub / github.com/callumalpass/tasknotes / renderAddReminderForm

Method renderAddReminderForm

src/modals/ReminderModal.ts:335–541  ·  view source on GitHub ↗
(container: HTMLElement)

Source from the content-addressed store, hash-verified

333 }
334
335 private renderAddReminderForm(container: HTMLElement): void {
336 const section = container.createDiv({ cls: "reminder-modal__section" });
337
338 const sectionHeader = section.createDiv({ cls: "reminder-modal__section-header" });
339 sectionHeader.createEl("h3", { text: "Add new reminder" });
340
341 // Add quick actions for common reminders
342 this.renderQuickActions(section);
343
344 const form = section.createDiv({ cls: "reminder-modal__form" });
345
346 // Compact type selector
347 const typeSelector = form.createDiv({ cls: "reminder-modal__type-selector" });
348
349 const relativeTab = typeSelector.createEl("button", {
350 cls: "reminder-modal__type-tab reminder-modal__type-tab--active",
351 text: "Relative",
352 attr: { "data-type": "relative" },
353 });
354
355 const absoluteTab = typeSelector.createEl("button", {
356 cls: "reminder-modal__type-tab",
357 text: "Absolute",
358 attr: { "data-type": "absolute" },
359 });
360
361 // Set initial state based on instance variables
362 relativeTab.classList.toggle(
363 "reminder-modal__type-tab--active",
364 this.selectedType === "relative"
365 );
366 absoluteTab.classList.toggle(
367 "reminder-modal__type-tab--active",
368 this.selectedType === "absolute"
369 );
370
371 // Tab switching logic
372 const switchToType = (type: "relative" | "absolute") => {
373 this.selectedType = type;
374
375 // Update tab appearance
376 relativeTab.classList.toggle("reminder-modal__type-tab--active", type === "relative");
377 absoluteTab.classList.toggle("reminder-modal__type-tab--active", type === "absolute");
378
379 // Update form visibility
380 this.updateFormVisibility(form, this.selectedType);
381 };
382
383 relativeTab.onclick = () => switchToType("relative");
384 absoluteTab.onclick = () => switchToType("absolute");
385
386 // Relative reminder fields
387 const relativeContainer = form.createDiv({ cls: "relative-fields" });
388
389 new Setting(relativeContainer)
390 .setName("Time")
391 .addText((text) => {
392 text.setPlaceholder("15")

Calls 15

renderQuickActionsMethod · 0.95
createReminderMethod · 0.95
addReminderMethod · 0.95
resetFormInputsMethod · 0.95
updateFormVisibilityMethod · 0.95
formatDateForDisplayFunction · 0.90
attachDateInputBehaviorFunction · 0.90
setIconFunction · 0.90
toggleMethod · 0.80
addDropdownMethod · 0.80
setPlaceholderMethod · 0.80
addOptionMethod · 0.80

Tested by

no test coverage detected