Commit aae9fb7a authored by Roque Porchetto's avatar Roque Porchetto

erp5_wendelin_telecom_UI: show metadata of data descriptors

parent 5bc0c5c8
......@@ -19,8 +19,6 @@
data-gadget-scope="form_view"
data-gadget-sandbox="public">
</div>
<!--
<div style="margin-top: 40px;"> </div>
-->
<div id="html_report"/>
</body>
</html>
\ No newline at end of file
......@@ -238,7 +238,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>960.12782.56737.61064</string> </value>
<value> <string>963.9195.7470.22033</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -256,7 +256,7 @@
</tuple>
<state>
<tuple>
<float>1498050190.02</float>
<float>1509464848.55</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -38,42 +38,43 @@
var gadget = this;
return gadget.getDeclaredGadget('form_view')
.push(function (form_gadget) {
var view_dict = {},
group_list = [],
metadata = gadget.state.metadata;
view_dict["my_title"] = {
"title": "Title",
"default": gadget.state.document_title,
"key": "field_my_title"
};
group_list.push(["left", [["my_title"]]])
view_dict["my_reference"] = {
"title": "Reference",
"default": gadget.state.reference,
"key": "field_my_reference"
};
group_list.push(["right",[["my_reference"]]])
if (metadata != null) {
for (var i = 0, entry; entry = metadata[i]; i++) {
var key = "my_" + entry[0].replace(" ","_"),
side = (i % 2 == 0) ? "left" : "right" ;
view_dict[key] = {
"title": entry[0],
"default": entry[1],
"key": "field_" + key
};
group_list.push([side,[[key]]])
}
}
else {
view_dict["my_metadata"] = {
"title": "Metadata",
"default": "No metadata available for this type of file yet",
"key": "field_my_metadata"
};
group_list.push(["left",[["my_metadata"]]])
}
return form_gadget.render({
erp5_document: {"_embedded": {"_view": {
"my_title" : {
"description": "The name of a document in ERP5",
"title": "Title",
"default": gadget.state.document_title,
"css_class": "",
"editable": 1,
"hidden": 0,
"key": "field_my_title",
"required": 0,
"type": "StringField"
},
"my_reference" : {
"description": "Reference of a page, should be unique to retrieve a page easily",
"title": "Reference",
"default": gadget.state.reference,
"css_class": "",
"editable": 1,
"hidden": 0,
"key": "field_my_reference",
"required": 0,
"type": "StringField"
},
"my_text_content" : {
"description": "The json content of the document.",
"title": "JSON",
"default": gadget.state.textcontent,
"css_class": "",
"editable": 1,
"hidden": 0,
"key": "field_my_state",
"required": 0,
"type": "StringField"
}
}},
erp5_document: {"_embedded": {"_view": view_dict},
"_links": {
"type": {
name: ""
......@@ -81,58 +82,45 @@
}
},
form_definition: {
group_list: [
[
"left",
[["my_title"]]
],
[
"right",
[["my_reference"]]
],
[
"center",
[["my_text_content"]]
]
]
group_list: group_list
}
});
});
})
.declareMethod("getDescriptorContent", function (descriptorReference) {
var url = "/erp5/getDescriptorHTMLContent?reference=" + descriptorReference,
xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", url, false);
xmlHttp.send(null);
return xmlHttp.responseText;
})
.declareMethod("render", function (options) {
var gadget = this,
jio_query = options;
var gadget = this;
return gadget.jio_get(options.jio_key)
.push(function (result) {
return gadget.changeState({"document_title" : result.title,
"reference" : result.reference,
"textcontent" : result.textcontent});
})
/*.push(function () {
return gadget.jio_allDocs({
"query": 'portal_type:"Data Descriptor"' +
' AND reference:"' + gadget.state.reference + '"',
"limit": [0, 1000000],
"select_list": ["title", "reference"]
var file_info = result;
return gadget.getDescriptorContent(file_info.reference)
.push(function (htmlContent) {
return gadget.changeState({"document_title" : file_info.title,
"reference" : file_info.reference,
"textcontent" : htmlContent});
});
})
.push(function (result) {
console.log("Result of jio_allDocs for reference:");
console.log(result);
console.log("result.data.rows[0].doc");
console.log(result.data.rows[0].doc);
console.log("result.data.rows[0].id");
console.log(result.data.rows[0].id);
console.log("result.data.rows[0].value");
console.log(result.data.rows[0].value);
})
.push(function () {
return gadget.jio_getAttachment(options.jio_key, options.jio_key, {"format": "text"});
})
.push(function (result) {
console.log("Result of jio_getATTACHMENT for jio_key:");
console.log(result);
})*/;
});
})
.declareService(function () {
var content = this.state.textcontent.replace('<table class="table table-hover">', '<table id="table_custom_id" class="table table-hover">'),
metadata = [];
document.getElementById("html_report").innerHTML = content;
if (document.getElementById("table_custom_id") === null) {
document.getElementById("html_report").innerHTML = "";
return;
}
var table = document.getElementById("table_custom_id");
document.getElementById("html_report").innerHTML = "";
for (var i = 0, row; row = table.rows[i]; i++) {
metadata.push([row.cells[0].innerHTML, row.cells[1].innerHTML]);
}
return this.changeState({"metadata" : metadata });
});
}(window, rJS, RSVP, calculatePageTitle, jIO));
......
......@@ -238,7 +238,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>963.1824.9931.36795</string> </value>
<value> <string>963.9298.1307.7424</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -256,7 +256,7 @@
</tuple>
<state>
<tuple>
<float>1509016348.15</float>
<float>1509464923.61</float>
<string>UTC</string>
</tuple>
</state>
......
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