We need a reliable way to open a note by filename and replace the contents

Ouverte
#368 3 commentaires 0 réactions 1 personne assignée Voir sur GitHub

@EduardMe y travaille déjà.

Depuis le 30/11/2022.

Évaluation

Cette issue n'a pas encore été évaluée.

Description

API bug P-5

@dwertheimer: "I need a function I can call that will open a file with a certain filename whether it exists or not. No matter what, I can rely on getting a note back."

@jgclark and I have several plugins where the plugin needs to be able to create a note at a specific filename and replace that note's content reliably. I have tried many different approaches and have had challenges getting this to work 100% of the time because of the race conditions with notes being created and a "# " being immediately added to the note.

Lots of discussion on Discord: https://discord.com/channels/763107030223290449/1033958465326026822/1045726596679598092

@eduardme one way you can help me accomplish this objective would be to give us an API or a parameter that allows me to 1) create/open a note with a specific filename and 2) immediately set the content to XXX
Hoping that if you're doing it on the Swift side, it will be more reliable.
So, if the note does not exist, it gets created with the content
If the file does exist, the content is replaced
Maybe this would work if you add a "content" parameter to the end of Editor.openNoteByFilename
We should also have a DataStore version of this functionality as well

/**
* Opens a note using the given filename
* @param {String} filename       - Filename of the note file (can be without extension), but has to include the relative folder such as `folder/filename.txt`.
* @param {Boolean} newWindow      - (optional) Open note in new window (default = false)?
* @param {Number} highlightStart  - (optional) Start position of text highlighting
* @param {Number} highlightEnd    - (optional) End position of text highlighting
* @param {Boolean} splitView      - (optional) Open note in a new split view (Note: Available from v3.4)
* @param {Boolean} createIfNeeded - (optional) Create the note with the given filename if it doesn't exist (only project notes, v3.5.2+)
* @param {String} content /* dbw added */ - Content to fill the note (replaces contents if the note already existed)
* @return {Promise} Note?         - When the note has been opened, a promise will be returned with the note object
*/
.openNoteByFilename(filename, newWindow, highlightStart, highlightEnd, splitView, createIfNeeded, content /*dbw added*/)
```js
Langage dominant
JavaScript
Étoiles
204
Forks
82
Merge moyen
22 h 27 min
PR mergées (30 j)
3

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de NotePlan/plugins

Toutes les issues de NotePlan/plugins

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.