danielo515 / obsidian-modal-form

Define forms for filling data that you will be able to open from anywhere you can run JS
https://danielorodriguez.com/obsidian-modal-form/
MIT License
199 stars 17 forks source link

[Feature request] Templater integration directly into "template" section of Modal forms #309

Open AucklandIO opened 2 months ago

AucklandIO commented 2 months ago

Is your feature request related to a problem? Please describe.

Currently, a subsequent step must be initiated after the Modal Form Template has been rendered into a note if the user wants to trigger the Templater composition. If Modal Form is called via the integrated script, Templater will resolve and compose TP scripts in the file before the modal form is called (as this creates the file and inserts the Modal Form content into front matter after the Templater content has been composed).

Describe the solution you'd like

I would like the ability to run TP scripts from the Modal Form Template section directly. In this way, a user could use the Modal Form templated properties injection to modify Templater scripts dynamically based on information from the Modal Form.

Example: Modal Form Requests:

Domain: Personal / Professional Area: Health / Household / Interests Project Name: project name text (eg. "Build Deck")

In the template section, one could enter the following: [[{{Domain}}/{{Area}}/{{Area}} Projects/{{Project Name}}/<%tp.file.name("{{Project Name}} - Tasks")%>| Project Tasks]]

Which could then have the frontmatter inserted: [[Personal/Household/Household Projects/Build Deck/<%tp.file.name("Build Deck - Tasks")%>| Project Tasks]]

And then Templater resolves the link into placeholder file within the structure of the Dashboard or MOC of the project.

The user could build further template or modal form functionality into this kind of link, calling Templater or modal form templates to create the subsequent file based on the frontmatter in the parent file just created.

This provides 2 potential benefits: File Organizational Structure, and frontmatter property classification. It allows the user to subsequently match this file property data with other plugins like Metadata Menu for calling views of related projects from this kind of structured organizational schema, and maintains a distinct separation of files pertaining to areas of concern (projects, tasks, etc...) in the event that notes had to be moved elswhere.