Show query rewrite of VC as title attribute
Change-Id: I6946bf1f9a2f8e7de95d61788c558ce5d5d39446
diff --git a/dev/js/spec/vcSpec.js b/dev/js/spec/vcSpec.js
index 0c86d85..482d384 100644
--- a/dev/js/spec/vcSpec.js
+++ b/dev/js/spec/vcSpec.js
@@ -1986,6 +1986,36 @@
expect(doc.element().classList.contains('rewritten')).toBeTruthy();
});
+ it('should be described in a title attribute', function () {
+
+ doc = docClass.create(
+ undefined,
+ {
+ "@type":"koral:doc",
+ "key":"Titel",
+ "value":"Baum",
+ "match":"match:eq",
+ "rewrites" : [
+ {
+ "@type" : "koral:rewrite",
+ "operation" : "operation:modification",
+ "src" : "querySerializer",
+ "scope" : "tree"
+ },
+ {
+ "@type" : "koral:rewrite",
+ "operation" : "operation:injection",
+ "src" : "me"
+ }
+ ]
+ });
+
+ expect(doc.element().classList.contains('doc')).toBeTruthy();
+ expect(doc.element().classList.contains('rewritten')).toBeTruthy();
+ expect(doc.element().lastChild.getAttribute("title")).toEqual("querySerializer: tree (modification)\nme (injection)");
+ });
+
+
xit('should be deserialized by docGroups', function () {
var docGroup = docGroupClass.create(
undefined,
diff --git a/dev/js/src/vc/rewritelist.js b/dev/js/src/vc/rewritelist.js
index cec95ff..8e68fa0 100644
--- a/dev/js/src/vc/rewritelist.js
+++ b/dev/js/src/vc/rewritelist.js
@@ -32,22 +32,32 @@
this._element = document.createElement('div');
this._element.setAttribute('class', 'rewrite');
+ var comments = [];
for (var x in this._list) {
var rewrite = this._list[x];
+
+ // This is a blind element
var span = document.createElement('span');
// Set class attribute
span.setAttribute('class', rewrite.operation());
// Append source information
- span.addT(rewrite.src());
+ var rewriteText = rewrite.src();
// Append scope information
if (rewrite.scope() !== undefined) {
- span.addT(': ' + rewrite.scope());
+ rewriteText += ': ' + rewrite.scope();
};
+
+ // Append source information
+ span.addT(rewriteText);
+
+ comments.push(rewriteText + ' (' + rewrite.operation() + ')');
+
this._element.appendChild(span);
};
+ this._element.setAttribute("title", comments.join("\n"))
return this._element;
}
};