@@ -25,6 +25,14 @@ var tutd = document.createElement("span");
2525tutd.textContent = title
2626template.getElementsByClassName("title")[0].appendChild(tutd);
2727template.getElementsByClassName("result")[0].appendChild(result);
28+if(result.nodeName == "TABLE") // show some relation statistics
29+{
30+ var tupleCount = result.querySelectorAll(".result > table > tbody > tr").length
31+ var attrCount = result.querySelectorAll(".result > table > thead > tr > th").length
32+ var attrText = attrCount + " attribute" + (attrCount == 1 ? "" : "s")
33+ var tupleText = tupleCount + " tuple" + (tupleCount == 1 ? "" : "s")
34+ template.getElementsByClassName("relinfo")[0].textContent = attrText + ", " + tupleText;
35+}
2836var interactor = document.getElementById("interactor");
2937sheet.insertBefore(template, interactor);
3038window.scrollTo(0,document.body.scrollHeight);
@@ -37,6 +45,7 @@ if(status.relation)
3745{
3846 var relastable = conn.generateRelation(status.relation);
3947 appendResult(tutd, relastable);
48+ mungeEmptyRows();
4049}
4150if(status.acknowledgement)
4251{
@@ -72,15 +81,54 @@ var deleteNode = element.parentNode;
7281}
7382</script>
7483<style>
75−#relationresult, th, td
84+#sectiontemplate
7685{
77− border: 1px solid black;
86+ display: none;
7887}
7988
80−#sectiontemplate
89+.deletesection
8190{
82− display: none;
91+ float:right;
92+ border: 1px solid;
93+ padding: 3px;
94+ border-radius: 3px;
95+ background: #ff8b8b;
96+}
97+
98+hr
99+{
100+border: 0;
101+height: 1px;
102+background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
103+}
104+
105+.title
106+{
107+padding: 3pt;
108+border: 1px solid;
109+border-radius: 3px;
110+background-image: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));
111+margin: 3px;
83112}
113+
114+.result table
115+{
116+ border-collapse: collapse;
117+ display: inline-block;
118+ vertical-align: middle;
119+}
120+
121+.result td, .result th
122+{
123+ border: 1px solid black;
124+ padding: 2px;
125+}
126+
127+.result th
128+{
129+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));
130+}
131+
84132</style>
85133</head>
86134<body>
@@ -94,11 +142,13 @@ var deleteNode = element.parentNode;
94142 </form>
95143 </div>
96144 <div id="sectiontemplate">
97− <span onclick="return hideParent(this);">X</span>
98145 <span class="title"></span>
99− <div class="result">
100− </div>
101− <hr/>
146+ <span class="deletesection" onclick="return hideParent(this);">X</span>
147+ <div style="clear: both;"></div>
148+ <div class="result">
149+ </div>
150+ <span class="relinfo"></span>
151+ <hr/>
102152 </div>
103153</body>
104154</html>