1+ <!DOCTYPE html>
2+ < html lang ="en-US ">
3+ < head >
4+ < title > CL-web-components</ title >
5+ < link rel ="stylesheet " href ="/css/site.css ">
6+ </ head >
7+ < body >
8+ < nav >
9+ < ul >
10+ < li > < a href ="/ "> Home</ a > </ li >
11+ < li > < a href ="index.html "> README</ a > </ li >
12+ < li > < a href ="LICENSE "> LICENSE</ a > </ li >
13+ < li > < a href ="user_manual.html "> User Manual</ a > </ li >
14+ < li > < a href ="INSTALL.html "> INSTALL</ a > </ li >
15+ < li > < a href ="about.html "> About</ a > </ li >
16+ < li > < a href ="search.html "> Search</ a > </ li >
17+ < li > < a href ="https://github.com/caltechlibrary/CL-web-components "> GitHub</ a > </ li >
18+ </ ul >
19+ </ nav >
20+ < section >
21+ < p > I need to created a web component called < code > sortable-table</ code > .
22+ that wraps an HTML < code > table</ code > element. The web component will
23+ allow you to sort the table descending or ascending by clicking the
24+ column heads. The column headings and rows are determined by the table
25+ being wrapped by the web component.</ p >
26+ < p > Here’s an example of using the web component.</ p >
27+ < div class ="sourceCode " id ="cb1 "> < pre
28+ class ="sourceCode html "> < code class ="sourceCode html "> < span id ="cb1-1 "> < a href ="#cb1-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="dt "> <</ span > < span class ="kw "> storable-table</ span > < span class ="dt "> ></ span > </ span >
29+ < span id ="cb1-2 "> < a href ="#cb1-2 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="dt "> <</ span > < span class ="kw "> table</ span > < span class ="dt "> ></ span > </ span >
30+ < span id ="cb1-3 "> < a href ="#cb1-3 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="dt "> <</ span > < span class ="kw "> thead</ span > < span class ="dt "> ></ span > </ span >
31+ < span id ="cb1-4 "> < a href ="#cb1-4 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="dt "> <</ span > < span class ="kw "> tr</ span > < span class ="dt "> ><</ span > < span class ="kw "> th</ span > < span class ="dt "> ></ span > name< span class ="dt "> </</ span > < span class ="kw "> th</ span > < span class ="dt "> ><</ span > < span class ="kw "> th</ span > < span class ="dt "> ></ span > university< span class ="dt "> </</ span > < span class ="kw "> th</ span > < span class ="dt "> ><</ span > < span class ="kw "> th</ span > < span class ="dt "> ></ span > grad year< span class ="dt "> </</ span > < span class ="kw "> th</ span > < span class ="dt "> ></</ span > < span class ="kw "> tr</ span > < span class ="dt "> ></ span > </ span >
32+ < span id ="cb1-5 "> < a href ="#cb1-5 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="dt "> </</ span > < span class ="kw "> thead</ span > < span class ="dt "> ></ span > </ span >
33+ < span id ="cb1-6 "> < a href ="#cb1-6 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="dt "> <</ span > < span class ="kw "> tbody</ span > < span class ="dt "> ></ span > </ span >
34+ < span id ="cb1-7 "> < a href ="#cb1-7 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="dt "> <</ span > < span class ="kw "> tr</ span > < span class ="dt "> ><</ span > < span class ="kw "> td</ span > < span class ="dt "> ></ span > Alice< span class ="dt "> </</ span > < span class ="kw "> td</ span > < span class ="dt "> ><</ span > < span class ="kw "> td</ span > < span class ="dt "> ></ span > Mills College< span class ="dt "> </</ span > < span class ="kw "> td</ span > < span class ="dt "> ><</ span > < span class ="kw "> td</ span > < span class ="dt "> ></ span > 1922< span class ="dt "> </</ span > < span class ="kw "> td</ span > < span class ="dt "> ></</ span > < span class ="kw "> tr</ span > < span class ="dt "> ></ span > </ span >
35+ < span id ="cb1-8 "> < a href ="#cb1-8 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="dt "> <</ span > < span class ="kw "> tr</ span > < span class ="dt "> ><</ span > < span class ="kw "> td</ span > < span class ="dt "> ></ span > Sr. Mary< span class ="dt "> </</ span > < span class ="kw "> td</ span > < span class ="dt "> ><</ span > < span class ="kw "> td</ span > < span class ="dt "> ></ span > Mount Saint Mary's College< span class ="dt "> </</ span > < span class ="kw "> td</ span > < span class ="dt "> ><</ span > < span class ="kw "> td</ span > < span class ="dt "> ></ span > 1919< span class ="dt "> </</ span > < span class ="kw "> td</ span > < span class ="dt "> ></</ span > < span class ="kw "> tr</ span > < span class ="dt "> ></ span > </ span >
36+ < span id ="cb1-9 "> < a href ="#cb1-9 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="dt "> <</ span > < span class ="kw "> tr</ span > < span class ="dt "> ><</ span > < span class ="kw "> td</ span > < span class ="dt "> ></ span > Goergina< span class ="dt "> </</ span > < span class ="kw "> td</ span > < span class ="dt "> ><</ span > < span class ="kw "> td</ span > < span class ="dt "> ></ span > Smith College< span class ="dt "> </</ span > < span class ="kw "> td</ span > < span class ="dt "> ><</ span > < span class ="kw "> td</ span > < span class ="dt "> ></ span > 1925< span class ="dt "> </</ span > < span class ="kw "> td</ span > < span class ="dt "> ></</ span > < span class ="kw "> tr</ span > < span class ="dt "> ></ span > </ span >
37+ < span id ="cb1-10 "> < a href ="#cb1-10 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="dt "> </</ span > < span class ="kw "> tbody</ span > < span class ="dt "> ></ span > </ span >
38+ < span id ="cb1-11 "> < a href ="#cb1-11 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="dt "> </</ span > < span class ="kw "> table</ span > < span class ="dt "> ></ span > </ span >
39+ < span id ="cb1-12 "> < a href ="#cb1-12 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="dt "> </</ span > < span class ="kw "> sortable-table</ span > < span class ="dt "> ></ span > </ span > </ code > </ pre > </ div >
40+ < p > When the < code > sortable-table</ code > web component instantiates it
41+ recreated the innerHTML table representation but makes the table
42+ sortable. When you click on a column it sorts the table by that column.
43+ There is also a search column form at the top of the table that will
44+ filter the table results by the column select and the text typed in.</ p >
45+ < p > Please generate the JavaScript to created this component.</ p >
46+ </ section >
47+ </ body >
48+ </ html >
0 commit comments