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 cb8145ffd3b70ce2912deadcdc0eed3e578f9f42..6708374dd6791c1415b22f218ea8db2824671c75 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 99d0972b1847fdda4c11dfd11af47eb2da666b8d..ea82199b1326763ada023af1b52fdbb9182767a5 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 e270ca214cdc6728fa7a5cdde64a1d3ffb931cd5..9bfd200b354f6181bac67a8b679ea7517db7ed41 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) + ); +} + /** * ==================================================================================