Committed by
Gerrit Code Review
GUI -- Cleaned up code for practice scrollable table, added tableHeight as a par…
…ameter to the directive. Change-Id: I2f2187e0b1a8a4fdb2d05187bb1d708724aeca99
Showing
2 changed files
with
193 additions
and
19 deletions
... | @@ -44,6 +44,10 @@ | ... | @@ -44,6 +44,10 @@ |
44 | color: darkred; | 44 | color: darkred; |
45 | } | 45 | } |
46 | 46 | ||
47 | + table { | ||
48 | + height: 200px; | ||
49 | + } | ||
50 | + | ||
47 | </style> | 51 | </style> |
48 | 52 | ||
49 | </head> | 53 | </head> |
... | @@ -51,7 +55,7 @@ | ... | @@ -51,7 +55,7 @@ |
51 | <body ng-app="practiceTable"> | 55 | <body ng-app="practiceTable"> |
52 | <h2>Scrolling Table Practice</h2> | 56 | <h2>Scrolling Table Practice</h2> |
53 | <div> | 57 | <div> |
54 | - <table fixed-header> | 58 | + <table table-height="200px" fixed-header> |
55 | <thead> | 59 | <thead> |
56 | <tr> | 60 | <tr> |
57 | <th>URI</th> | 61 | <th>URI</th> |
... | @@ -68,6 +72,107 @@ | ... | @@ -68,6 +72,107 @@ |
68 | <td>mfr</td> | 72 | <td>mfr</td> |
69 | <td>hw</td> | 73 | <td>hw</td> |
70 | <td>sw</td> | 74 | <td>sw</td> |
75 | + <td>serial#101291031813</td> | ||
76 | + <td>protocol protocol protocol protocol protocol protocol</td> | ||
77 | + </tr> | ||
78 | + <tr> | ||
79 | + <td>id</td> | ||
80 | + <td>mfr</td> | ||
81 | + <td>hw</td> | ||
82 | + <td>sw</td> | ||
83 | + <td>serial</td> | ||
84 | + <td>protocol</td> | ||
85 | + </tr> | ||
86 | + <tr> | ||
87 | + <td>id</td> | ||
88 | + <td>mfr</td> | ||
89 | + <td>hw</td> | ||
90 | + <td>sw</td> | ||
91 | + <td>serial</td> | ||
92 | + <td>protocol</td> | ||
93 | + </tr> | ||
94 | + <tr> | ||
95 | + <td>id</td> | ||
96 | + <td>mfr</td> | ||
97 | + <td>hw</td> | ||
98 | + <td>sw</td> | ||
99 | + <td>serial</td> | ||
100 | + <td>protocol</td> | ||
101 | + </tr><tr> | ||
102 | + <td>id</td> | ||
103 | + <td>mfr</td> | ||
104 | + <td>hw</td> | ||
105 | + <td>sw</td> | ||
106 | + <td>serial#101291031813</td> | ||
107 | + <td>protocol protocol protocol protocol protocol protocol</td> | ||
108 | + </tr> | ||
109 | + <tr> | ||
110 | + <td>id</td> | ||
111 | + <td>mfr</td> | ||
112 | + <td>hw</td> | ||
113 | + <td>sw</td> | ||
114 | + <td>serial</td> | ||
115 | + <td>protocol</td> | ||
116 | + </tr> | ||
117 | + <tr> | ||
118 | + <td>id</td> | ||
119 | + <td>mfr</td> | ||
120 | + <td>hw</td> | ||
121 | + <td>sw</td> | ||
122 | + <td>serial</td> | ||
123 | + <td>protocol</td> | ||
124 | + </tr> | ||
125 | + <tr> | ||
126 | + <td>id</td> | ||
127 | + <td>mfr</td> | ||
128 | + <td>hw</td> | ||
129 | + <td>sw</td> | ||
130 | + <td>serial</td> | ||
131 | + <td>protocol</td> | ||
132 | + </tr><tr> | ||
133 | + <td>id</td> | ||
134 | + <td>mfr</td> | ||
135 | + <td>hw</td> | ||
136 | + <td>sw</td> | ||
137 | + <td>serial#101291031813</td> | ||
138 | + <td>protocol protocol protocol protocol protocol protocol</td> | ||
139 | + </tr> | ||
140 | + <tr> | ||
141 | + <td>id</td> | ||
142 | + <td>mfr</td> | ||
143 | + <td>hw</td> | ||
144 | + <td>sw</td> | ||
145 | + <td>serial</td> | ||
146 | + <td>protocol</td> | ||
147 | + </tr> | ||
148 | + <tr> | ||
149 | + <td>id</td> | ||
150 | + <td>mfr</td> | ||
151 | + <td>hw</td> | ||
152 | + <td>sw</td> | ||
153 | + <td>serial</td> | ||
154 | + <td>protocol</td> | ||
155 | + </tr> | ||
156 | + <tr> | ||
157 | + <td>id</td> | ||
158 | + <td>mfr</td> | ||
159 | + <td>hw</td> | ||
160 | + <td>sw</td> | ||
161 | + <td>serial</td> | ||
162 | + <td>protocol</td> | ||
163 | + </tr><tr> | ||
164 | + <td>id</td> | ||
165 | + <td>mfr</td> | ||
166 | + <td>hw</td> | ||
167 | + <td>sw</td> | ||
168 | + <td>serial#101291031813</td> | ||
169 | + <td>protocol protocol protocol protocol protocol protocol</td> | ||
170 | + </tr> | ||
171 | + <tr> | ||
172 | + <td>id</td> | ||
173 | + <td>mfr</td> | ||
174 | + <td>hw</td> | ||
175 | + <td>sw</td> | ||
71 | <td>serial</td> | 176 | <td>serial</td> |
72 | <td>protocol</td> | 177 | <td>protocol</td> |
73 | </tr> | 178 | </tr> |
... | @@ -86,6 +191,83 @@ | ... | @@ -86,6 +191,83 @@ |
86 | <td>sw</td> | 191 | <td>sw</td> |
87 | <td>serial</td> | 192 | <td>serial</td> |
88 | <td>protocol</td> | 193 | <td>protocol</td> |
194 | + </tr><tr> | ||
195 | + <td>id</td> | ||
196 | + <td>mfr</td> | ||
197 | + <td>hw</td> | ||
198 | + <td>sw</td> | ||
199 | + <td>serial#101291031813</td> | ||
200 | + <td>protocol protocol protocol protocol protocol protocol</td> | ||
201 | + </tr> | ||
202 | + <tr> | ||
203 | + <td>id</td> | ||
204 | + <td>mfr</td> | ||
205 | + <td>hw</td> | ||
206 | + <td>sw</td> | ||
207 | + <td>serial</td> | ||
208 | + <td>protocol</td> | ||
209 | + </tr> | ||
210 | + <tr> | ||
211 | + <td>id</td> | ||
212 | + <td>mfr</td> | ||
213 | + <td>hw</td> | ||
214 | + <td>sw</td> | ||
215 | + <td>serial</td> | ||
216 | + <td>protocol</td> | ||
217 | + </tr> | ||
218 | + <tr> | ||
219 | + <td>id</td> | ||
220 | + <td>mfr</td> | ||
221 | + <td>hw</td> | ||
222 | + <td>sw</td> | ||
223 | + <td>serial</td> | ||
224 | + <td>protocol</td> | ||
225 | + </tr><tr> | ||
226 | + <td>id</td> | ||
227 | + <td>mfr</td> | ||
228 | + <td>hw</td> | ||
229 | + <td>sw</td> | ||
230 | + <td>serial</td> | ||
231 | + <td>protocol</td> | ||
232 | + </tr> | ||
233 | + <tr> | ||
234 | + <td>id</td> | ||
235 | + <td>mfr</td> | ||
236 | + <td>hw</td> | ||
237 | + <td>sw</td> | ||
238 | + <td>serial</td> | ||
239 | + <td>protocol</td> | ||
240 | + </tr> | ||
241 | + <tr> | ||
242 | + <td>id</td> | ||
243 | + <td>mfr</td> | ||
244 | + <td>hw</td> | ||
245 | + <td>sw</td> | ||
246 | + <td>serial</td> | ||
247 | + <td>protocol</td> | ||
248 | + </tr><tr> | ||
249 | + <td>id</td> | ||
250 | + <td>mfr</td> | ||
251 | + <td>hw</td> | ||
252 | + <td>sw</td> | ||
253 | + <td>serial#101291031813</td> | ||
254 | + <td>protocol protocol protocol protocol protocol protocol</td> | ||
255 | + </tr> | ||
256 | + <tr> | ||
257 | + <td>id</td> | ||
258 | + <td>mfr</td> | ||
259 | + <td>hw</td> | ||
260 | + <td>sw</td> | ||
261 | + <td>serial</td> | ||
262 | + <td>protocol</td> | ||
263 | + </tr> | ||
264 | + <tr> | ||
265 | + <td>id</td> | ||
266 | + <td>mfr</td> | ||
267 | + <td>hw</td> | ||
268 | + <td>sw</td> | ||
269 | + <td>serial</td> | ||
270 | + <td>protocol</td> | ||
89 | </tr> | 271 | </tr> |
90 | <tr> | 272 | <tr> |
91 | <td>id</td> | 273 | <td>id</td> | ... | ... |
... | @@ -21,7 +21,7 @@ | ... | @@ -21,7 +21,7 @@ |
21 | (function () { | 21 | (function () { |
22 | 'use strict'; | 22 | 'use strict'; |
23 | 23 | ||
24 | - function setColWidth($log, t) { | 24 | + function setColWidth(t) { |
25 | var tHeaders, tdElement, colWidth; | 25 | var tHeaders, tdElement, colWidth; |
26 | 26 | ||
27 | tHeaders = t.selectAll('th'); | 27 | tHeaders = t.selectAll('th'); |
... | @@ -36,28 +36,20 @@ | ... | @@ -36,28 +36,20 @@ |
36 | 36 | ||
37 | thElement.style('width', colWidth); | 37 | thElement.style('width', colWidth); |
38 | tdElement.style('width', colWidth); | 38 | tdElement.style('width', colWidth); |
39 | - //thElement.style('color', 'blue'); | ||
40 | - //tdElement.style('color', 'red'); | ||
41 | - | ||
42 | }); | 39 | }); |
43 | } | 40 | } |
44 | 41 | ||
45 | - function setCSS(thead, tbody) { | 42 | + function setCSS(thead, tbody, height) { |
46 | thead.style('display', 'block'); | 43 | thead.style('display', 'block'); |
47 | tbody.style({'display': 'block', | 44 | tbody.style({'display': 'block', |
48 | - 'height': '100px', | 45 | + 'height': height || '500px', |
49 | 'overflow': 'auto' | 46 | 'overflow': 'auto' |
50 | }); | 47 | }); |
51 | } | 48 | } |
52 | 49 | ||
53 | - function trimTable(tbody) { | 50 | + function fixTable(t, th, tb, height) { |
54 | - | 51 | + setColWidth(t); |
55 | - } | 52 | + setCSS(th, tb, height); |
56 | - | ||
57 | - function fixTable($log, t, th, tb) { | ||
58 | - setColWidth($log, t); | ||
59 | - setCSS(th, tb); | ||
60 | - trimTable(tb); | ||
61 | } | 53 | } |
62 | 54 | ||
63 | angular.module('practiceTable', []) | 55 | angular.module('practiceTable', []) |
... | @@ -65,6 +57,9 @@ | ... | @@ -65,6 +57,9 @@ |
65 | .directive('fixedHeader', ['$log', '$timeout', function ($log, $timeout) { | 57 | .directive('fixedHeader', ['$log', '$timeout', function ($log, $timeout) { |
66 | return { | 58 | return { |
67 | restrict: 'A', | 59 | restrict: 'A', |
60 | + scope: { | ||
61 | + tableHeight: '@' | ||
62 | + }, | ||
68 | 63 | ||
69 | link: function (scope, element, attrs) { | 64 | link: function (scope, element, attrs) { |
70 | var table = d3.select(element[0]), | 65 | var table = d3.select(element[0]), |
... | @@ -76,19 +71,16 @@ | ... | @@ -76,19 +71,16 @@ |
76 | function () { return (!(table.offsetParent === null)); }, | 71 | function () { return (!(table.offsetParent === null)); }, |
77 | function (newValue, oldValue) { | 72 | function (newValue, oldValue) { |
78 | if (newValue === true) { | 73 | if (newValue === true) { |
79 | - $log.log('table is visible'); | ||
80 | 74 | ||
81 | // ensure thead and tbody have no display | 75 | // ensure thead and tbody have no display |
82 | thead.style('display', null); | 76 | thead.style('display', null); |
83 | tbody.style('display', null); | 77 | tbody.style('display', null); |
84 | 78 | ||
85 | $timeout(function() { | 79 | $timeout(function() { |
86 | - $log.log('timeout is over'); | 80 | + fixTable(table, thead, tbody, scope.tableHeight); |
87 | - fixTable($log, table, thead, tbody); | ||
88 | }); | 81 | }); |
89 | } | 82 | } |
90 | }); | 83 | }); |
91 | - $log.log('fixedHeader directive has been created'); | ||
92 | } | 84 | } |
93 | }; | 85 | }; |
94 | }]); | 86 | }]); | ... | ... |
-
Please register or login to post a comment