<input id="songFilterInDB" type="checkbox">In DB</input>
<button id="" onclick="getSongList()">Update Songs</button>
</div>
- <div id="innerSongList">
+ <div>
+ <button>Create New Song</button> <!-- TODO -->
+ <button>Upload Song File</button> <!-- TODO -->
+ </div>
+ <div id="innerSongList">
</div>
+
+ </div>
+ <div id="songFileFilterInputs">
+ <input placeholder="File name..." id="songFileFilterName"></input>
+ </div>
+ <div id="innerSongFileList">
</div>
</body>
/**
* SONG FILE LIST SECTION
*/
-
let songFileList = []
+let innerSongFileList = document.getElementById("innerSongFileList")
+
+function renameSongFile(songFileName) {
+
+}
+
+/**
+ * Create a new song file element (simply the name, with a rename button)
+ * <div fileName="{FILENAME}" class="songFileElement">
+ * <p>SONG_FILE_NAME</p>
+ * <button onclick="renameSongFile(this.parentElement.fileName)">Rename</button>
+ * </div>
+ **/
+function NewSongFileElement(songFileName) {
+ let songFileElement = document.createElement("div")
+ songFileElement.classList = "songFileElement"
+ songFileElement.fileName = songFileName
+
+ let songFileNameP = document.createElement("p")
+ songFileNameP.innerText = songFileName
+
+ let renameButtonSongFiles = document.createElement("button")
+ renameButtonSongFiles.innerText = "Rename"
+ renameButtonSongFiles.addEventListener("click", (_) => { renameSongFile(songFileName) })
+
+ songFileElement.appendChild(songFileNameP)
+ songFileElement.appendChild(renameButtonSongFiles)
+
+ return songFileElement
+}
+
+
+function makeSongFileList(songFiles, appendElement) {
+ for (let i = 0; i < songFiles.length; i++) {
+ appendElement.appendChild(NewSongFileElement(songFiles[i]))
+ }
+}
+
/**
* Get the list of all named song files (raw filenames) using the API
* The API endpoint is /api/files/get
await fetch("/api/files/get", {'Accept': 'application/json', 'Content-type': 'application/json'}).then(async (response) => {
let body = await response.json()
songFileList = body
+
+ innerSongFileList.innerHTML = ""
+ makeSongFileList(songFileList, innerSongFileList)
})
}
-getSongFileList()
let innerSongList = document.getElementById("innerSongList")
/**
/**
* SETUP / RUN AT START SECTION
**/
+getSongFileList()
getSongList()
// ==============================================================