mirror of
https://github.com/rifts-obsidian-laboratory/anki-integration.git
synced 2026-07-22 05:42:50 +00:00
Refactoring - Added GenerateModelSelector()
This commit is contained in:
parent
390d27cbb1
commit
2491dfd448
3 changed files with 21 additions and 23 deletions
|
|
@ -19,7 +19,7 @@ import {
|
|||
ReadFileContent
|
||||
} from "../utils";
|
||||
import {ProcessAddNote} from "../AnkiConnect";
|
||||
import {GenerateDeckSelector} from "./modalsUtils";
|
||||
import {GenerateDeckSelector, GenerateModelSelector} from "./modalsUtils";
|
||||
import {Drop} from "esbuild";
|
||||
|
||||
/**
|
||||
|
|
@ -79,18 +79,7 @@ export class AddNoteFromCodeBlockModal extends Modal {
|
|||
|
||||
const deckSelector: DropdownComponent = GenerateDeckSelector(dropdownContainer, ankiData);
|
||||
|
||||
/**
|
||||
* @type {DropdownComponent} modelSelector
|
||||
* @description Dropdown allowing the user to select a model among those that are synchronized.
|
||||
*/
|
||||
const modelSelector: DropdownComponent = AddDropdown(dropdownContainer, "Choose a model");
|
||||
|
||||
/**
|
||||
* @type {string[]} modelKeys
|
||||
* @description An array containing the keys of all available models.
|
||||
*/
|
||||
const modelKeys: string[] = Object.keys(ankiData["modelsData"]);
|
||||
AddOptionsToDropdownFromDataset(modelSelector, modelKeys, "name", "name", ankiData["modelsData"]);
|
||||
const modelSelector: DropdownComponent = GenerateModelSelector(dropdownContainer, ankiData);
|
||||
|
||||
/**
|
||||
* @type {HTMLDivElement} tagsHeader
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import {
|
|||
AddTitle, AutoAssignDeck, AutoAssignModel, AutoGenerateFields, BuildTagsArray, CreateFieldsGroupData,
|
||||
FetchModelByName
|
||||
} from "../utils";
|
||||
import {GenerateDeckSelector} from "./modalsUtils";
|
||||
import {GenerateDeckSelector, GenerateModelSelector} from "./modalsUtils";
|
||||
|
||||
/**
|
||||
* A modal dialog for creating a new Anki note by using metadata as pre-filled values.
|
||||
|
|
@ -89,15 +89,7 @@ export class AddNoteFromMetadataModal extends Modal {
|
|||
|
||||
const deckSelector = GenerateDeckSelector(dropdownContainer, ankiData);
|
||||
|
||||
// Create and configure the model selector dropdown.
|
||||
const modelSelector = AddDropdown(dropdownContainer, "Choose a model");
|
||||
|
||||
/**
|
||||
* @type {string[]} modelKeys
|
||||
* @description An array containing the keys of all available models.
|
||||
*/
|
||||
const modelKeys: string[] = Object.keys(ankiData["modelsData"]);
|
||||
AddOptionsToDropdownFromDataset(modelSelector, modelKeys, "name", "name", ankiData["modelsData"]);
|
||||
const modelSelector: DropdownComponent = GenerateModelSelector(dropdownContainer, ankiData);
|
||||
|
||||
/**
|
||||
* @type {HTMLDivElement} tagsHeader
|
||||
|
|
|
|||
|
|
@ -16,4 +16,21 @@ export function GenerateDeckSelector(parent: HTMLDivElement, ankiData: Object) {
|
|||
AddOptionsToDropdownFromDataset(deckSelector, deckKeys, "name", "name", ankiData["decksData"]);
|
||||
|
||||
return deckSelector;
|
||||
}
|
||||
|
||||
export function GenerateModelSelector(parent: HTMLDivElement, ankiData: Object) {
|
||||
/**
|
||||
* @type {DropdownComponent} modelSelector
|
||||
* @description Dropdown allowing the user to select a model among those that are synchronized.
|
||||
*/
|
||||
const modelSelector: DropdownComponent = AddDropdown(parent, "Choose a model");
|
||||
|
||||
/**
|
||||
* @type {string[]} modelKeys
|
||||
* @description An array containing the keys of all available models.
|
||||
*/
|
||||
const modelKeys: string[] = Object.keys(ankiData["modelsData"]);
|
||||
AddOptionsToDropdownFromDataset(modelSelector, modelKeys, "name", "name", ankiData["modelsData"]);
|
||||
|
||||
return modelSelector;
|
||||
}
|
||||
Loading…
Reference in a new issue