@@ -109,14 +109,18 @@ protected function getDumpHeader()
109
109
Sfjs = window.Sfjs || {};
110
110
Sfjs.dump = Sfjs.dump || {};
111
111
Sfjs.dump.childElts = document.getElementsByName('sf-dump-child');
112
- Sfjs.dump.childLen = 0;
112
+ Sfjs.dump.refElts = document.getElementsByName('sf-dump-ref');
113
+ Sfjs.dump.childLen = Sfjs.dump.childLen || 0;
114
+ Sfjs.dump.refLen = Sfjs.dump.refLen || 0;
113
115
Sfjs.dump.instrument = function () {
114
116
var elt,
115
117
i = this.childLen,
118
+ j = this.refLen,
116
119
aCompact = '▶</a><span class="sf-dump-compact">',
117
120
aExpanded = '▼</a><span class="sf-dump-expanded">';
118
121
119
- this.childLen= this.childElts.length;
122
+ this.childLen = this.childElts.length;
123
+ this.refLen = this.refElts.length;
120
124
121
125
while (i < this.childLen) {
122
126
elt = this.childElts[i];
@@ -126,6 +130,21 @@ protected function getDumpHeader()
126
130
}
127
131
++i;
128
132
}
133
+
134
+ while (j < this.refLen) {
135
+ elt = this.refElts[j].firstChild;
136
+ elt.onclick = function () {
137
+ elt = document.getElementsByName(this.getAttribute("href").substr(1))[0];
138
+ while (elt.parentNode) {
139
+ if ('sf-dump-compact' == elt.className) {
140
+ elt.className = 'sf-dump-expanded';
141
+ elt.previousSibling.innerHTML = '▼';
142
+ }
143
+ elt = elt.parentNode;
144
+ }
145
+ };
146
+ ++j;
147
+ }
129
148
};
130
149
Sfjs.dump.toggle = function(a) {
131
150
var s = a.nextElementSibling;
@@ -216,7 +235,7 @@ protected function style($style, $val)
216
235
if ('# ' === $ val [0 ]) {
217
236
return "<a class=sf-dump-ref name= \"{$ this ->dumpId }-ref $ ref \"> $ val</a> " ;
218
237
} else {
219
- return "<a class=sf-dump-ref href= \"# {$ this ->dumpId }-ref $ ref \"> $ val</a> " ;
238
+ return "<span name=sf-dump-ref>< a class=sf-dump-ref href= \"# {$ this ->dumpId }-ref $ ref \"> $ val</a></span > " ;
220
239
}
221
240
}
222
241
0 commit comments