Commit c9faec61 authored by Cédric Le Ninivin's avatar Cédric Le Ninivin

Add Improvements made in crib editor:

* crib-enable: Add Back comments on methods
* crib-enable: Add getScope to the interface
* Crib-enable: Add possible improvement in XXX
parent 025e4a14
...@@ -7,6 +7,9 @@ ...@@ -7,6 +7,9 @@
<h1>Crib Enable Interface</h1> <h1>Crib Enable Interface</h1>
<h3>Interface Needed to edit with CribJS</h3> <h3>Interface Needed to edit with CribJS</h3>
<dl> <dl>
<dt>getScope</dt>
<dd>Return url in string format. get the Scope covered by the gadget</dd>
<dl></dl>
<dt>get</dt> <dt>get</dt>
<dd>Return a data url. Cannot return a blob as the data is transmitted through an iFrame</dd> <dd>Return a data url. Cannot return a blob as the data is transmitted through an iFrame</dd>
<dl> <dl>
......
/*global window, rJS, jIO, FormData, navigator, RSVP */ /*global window, rJS, jIO, FormData, navigator, RSVP, URL */
/*jslint indent: 2, maxerr: 3 */ /*jslint indent: 2, maxerr: 3 */
(function (window, rJS, jIO) { (function (window, rJS, jIO) {
"use strict"; "use strict";
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
path = path_list.join("/"); path = path_list.join("/");
} }
gadget.state_parameter_dict = {}; gadget.state_parameter_dict = {};
// XXX This should most likely be replaced by: new URL("./", window.location.href).href
gadget.state_parameter_dict.default_document = window.location.protocol + gadget.state_parameter_dict.default_document = window.location.protocol +
"//" + window.location.host + path; "//" + window.location.host + path;
this.state_parameter_dict.jio_storage = jIO.createJIO({ this.state_parameter_dict.jio_storage = jIO.createJIO({
...@@ -95,6 +96,22 @@ ...@@ -95,6 +96,22 @@
} }
}) })
/*
* get the Scope covered by the gadget
*
* @return {url} Return the scope covered by this gadget
*/
.declareMethod('getScope', function () {
return this.state_parameter_dict.default_document;
})
/**
* get Return a data url. Cannot return a blob as the data
* is transmitted through an iFrame
*
* @url {string} url of the document to retrieve
* @return {data_url} Return the data url of the document
*/
.declareMethod('get', function (url) { .declareMethod('get', function (url) {
var storage = this.state_parameter_dict.jio_storage; var storage = this.state_parameter_dict.jio_storage;
return storage.getAttachment(this.state_parameter_dict.default_document, url) return storage.getAttachment(this.state_parameter_dict.default_document, url)
...@@ -105,6 +122,15 @@ ...@@ -105,6 +122,15 @@
return e.target.result; return e.target.result;
}); });
}) })
/**
* put Return a data url. Cannot provide a blob as the data
* is transmitted through an iFrame
*
* @url {string} url of the document to update
* @parameter {data_url} data url of the document to put, it will be transformed in a blob
* @return {data_url} Return the data url of the document
*/
.declareMethod('put', function (url, data_uri) { .declareMethod('put', function (url, data_uri) {
var storage = this.state_parameter_dict.jio_storage; var storage = this.state_parameter_dict.jio_storage;
data_uri = jIO.util.dataURItoBlob(data_uri); data_uri = jIO.util.dataURItoBlob(data_uri);
...@@ -114,6 +140,13 @@ ...@@ -114,6 +140,13 @@
data_uri data_uri
); );
}) })
/**
* allDocs return the list of document in the cache
*
* @params {Object} Not taken into account
* @return {} Return the data url of the document
*/
.declareMethod('allDocs', function () { .declareMethod('allDocs', function () {
var storage = this.state_parameter_dict.jio_storage; var storage = this.state_parameter_dict.jio_storage;
return storage.allAttachments(this.state_parameter_dict.default_document) return storage.allAttachments(this.state_parameter_dict.default_document)
...@@ -121,6 +154,13 @@ ...@@ -121,6 +154,13 @@
return result; return result;
}); });
}) })
/**
* Remove an url from the cache
*
* @url {string} url of the document to remove
* @return {}
*/
.declareMethod('remove', function (url) { .declareMethod('remove', function (url) {
var storage = this.state_parameter_dict.jio_storage; var storage = this.state_parameter_dict.jio_storage;
return storage.removeAttachment( return storage.removeAttachment(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment