From ef4d6829edbe3fb28b4eeab50da8b1d50a582d6a Mon Sep 17 00:00:00 2001 From: vkovtun <viktor.kovtun@id.ethz.ch> Date: Fri, 28 Jul 2023 19:15:19 +0200 Subject: [PATCH] SSDM-13839: Added file/directory creation to the JavaScript part. --- .../src/js/server-data-store-client.html | 17 ++++++++++++++++- .../src/js/server-data-store-client.js | 8 ++++++++ .../src/js/server-data-store-facade.js | 19 +++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/api-data-store-server-javascript/src/js/server-data-store-client.html b/api-data-store-server-javascript/src/js/server-data-store-client.html index cb8145ffd3b..6708374dd67 100644 --- a/api-data-store-server-javascript/src/js/server-data-store-client.html +++ b/api-data-store-server-javascript/src/js/server-data-store-client.html @@ -100,7 +100,22 @@ </div> </form> - + <h2>Create</h2> + <form onsubmit="return false;"> + <div id="create-area"> + <table> + <tr> + <td><label>Name:</label></td> + <td><input type="text" id="create-path" required></td> + </tr> + <tr> + <td><label>Is directory:</label></td> + <td><input type="checkbox" id="create-directory"></td> + </tr> + </table> + <button id="create-submit">Create</button> + </div> + </form> </div> </body> </html> \ No newline at end of file diff --git a/api-data-store-server-javascript/src/js/server-data-store-client.js b/api-data-store-server-javascript/src/js/server-data-store-client.js index 99d0972b184..ea82199b132 100644 --- a/api-data-store-server-javascript/src/js/server-data-store-client.js +++ b/api-data-store-server-javascript/src/js/server-data-store-client.js @@ -223,5 +223,13 @@ window.onload = function() { })); } }; + + document.getElementById("create-submit").onclick = function() { + datastoreServer.create(owner, document.getElementById("create-path").value.trim(), document.getElementById("create-directory").value, + (_ => { + showEntries(); + })); + }; + } diff --git a/api-data-store-server-javascript/src/js/server-data-store-facade.js b/api-data-store-server-javascript/src/js/server-data-store-facade.js index e270ca214cd..9bfd200b354 100644 --- a/api-data-store-server-javascript/src/js/server-data-store-facade.js +++ b/api-data-store-server-javascript/src/js/server-data-store-facade.js @@ -497,6 +497,25 @@ DataStoreServer.prototype.move = function(sourceOwner, source, targetOwner, targ } +/** + * Create a file/directory within DSS + */ +DataStoreServer.prototype.create = function(owner, source, directory, action){ + const data = this.fillCommonParameters({ + "method": "create", + "owner" : owner, + "source": source, + "directory": directory + }); + this._internal.sendHttpRequest( + "POST", + "text/plain", + this._internal.datastoreUrl, + encodeParams(data), + (response) => action(response) + ); +} + /** * ================================================================================== -- GitLab