mirror of
https://github.com/rifts-obsidian-laboratory/anki-integration.git
synced 2026-07-22 05:42:50 +00:00
Refactoring - Changed CreateFieldsGroupData() to work with both YAML and Code Block format
This commit is contained in:
parent
6ee817f20f
commit
0993bb221f
2 changed files with 34 additions and 2 deletions
|
|
@ -282,6 +282,7 @@ export class AddNoteFromCodeBlockModal extends Modal {
|
|||
} else {
|
||||
if (inputValues) {
|
||||
CreateFieldsGroupData(fieldsGroupData, selectedModel["fields"], inputValues);
|
||||
console.log(inputValues);
|
||||
AddFieldGroups(inputContainer, fieldsGroupData);
|
||||
} else {
|
||||
CreateFieldsGroupData(fieldsGroupData, selectedModel["fields"]);
|
||||
|
|
@ -302,6 +303,7 @@ export class AddNoteFromCodeBlockModal extends Modal {
|
|||
* @description Stores the values parsed by GetCodeBlockParameters().
|
||||
*/
|
||||
const codeBlockParameters: Object = await this.GetCodeBlockParameters();
|
||||
// console.log(codeBlockParameters);
|
||||
if (!codeBlockParameters) {
|
||||
this.AddFieldsGroupsToModal(inputContainer, modelSelector.getValue(), null);
|
||||
} else {
|
||||
|
|
|
|||
34
src/utils.ts
34
src/utils.ts
|
|
@ -310,8 +310,10 @@ export function CreateFieldsGroupData(fieldsGroupData: Array<Object>, keys: Arra
|
|||
for (let i = 0 ; i < keys.length; i++) {
|
||||
const fieldName = keys[i];
|
||||
let fieldValue = null;
|
||||
if (values.hasOwnProperty(fieldName.toLowerCase())) {
|
||||
fieldValue = values[fieldName.toLowerCase()];
|
||||
if (values["fields"]) {
|
||||
fieldValue = ExtractValueFromCodeBlock(fieldValue, values, fieldName);
|
||||
} else {
|
||||
fieldValue = ExtractValueFromMetadata(fieldValue, values, fieldName);
|
||||
}
|
||||
fieldsGroupData[i] = {
|
||||
fieldName: fieldName,
|
||||
|
|
@ -320,6 +322,34 @@ export function CreateFieldsGroupData(fieldsGroupData: Array<Object>, keys: Arra
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract value from metadata.
|
||||
* @param {string} fieldValue - The value to change.
|
||||
* @param {Object} values - An object storing the gathered values to draw in.
|
||||
* @param {string} fieldName - The name of the field the value has to be taken for.
|
||||
* @return {string} fieldValue
|
||||
*/
|
||||
function ExtractValueFromMetadata(fieldValue: string, values: Object, fieldName: string): string {
|
||||
if (values.hasOwnProperty(fieldName.toLowerCase())) {
|
||||
fieldValue = values[fieldName.toLowerCase()];
|
||||
return fieldValue;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract value from code block.
|
||||
* @param {string} fieldValue - The value to change.
|
||||
* @param {Object} values - An object storing the gathered values to draw in.
|
||||
* @param {string} fieldName - The name of the field the value has to be taken for.
|
||||
* @return {string} fieldValue
|
||||
*/
|
||||
function ExtractValueFromCodeBlock(fieldValue: string, values: Object, fieldName: string): string {
|
||||
if (values["fields"].hasOwnProperty(fieldName.toLowerCase())) {
|
||||
fieldValue = values["fields"][fieldName.toLowerCase()];
|
||||
return fieldValue;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function that returns the content of a given TFile.
|
||||
* @param {Modal} modal - The instance of the modal that needs to read a file content.
|
||||
|
|
|
|||
Loading…
Reference in a new issue