11function getProjects ( status ) {
22 var ProjectsRef = firebase . database ( ) . ref ( "v2/projects" ) . orderByChild ( "status" ) . equalTo ( status ) ;
33
4- var tableRef = document . getElementById ( ' projectsTable-' + status ) . getElementsByTagName ( 'tbody' ) [ 0 ] ;
5-
4+ var tableRef = $ ( "# projectsTable-" + status ) . DataTable ( ) ;
5+ var rows = [ ]
66 ProjectsRef . once ( 'value' , function ( snapshot ) {
77 if ( snapshot . exists ( ) ) {
88 snapshot . forEach ( function ( data ) {
99
10- tr = tableRef . insertRow ( ) ;
11- td = document . createElement ( 'td' )
12- td . innerHTML = data . key
13- tr . appendChild ( td )
14-
15- td = document . createElement ( 'td' )
16- td . innerHTML = data . val ( ) . name
17- tr . appendChild ( td )
18-
19- td = document . createElement ( 'td' )
20- td . innerHTML = data . val ( ) . projectType
21- tr . appendChild ( td )
22-
23- td = document . createElement ( 'td' )
24- td . innerHTML = data . val ( ) . progress + "%"
25- tr . appendChild ( td )
26-
27- td = document . createElement ( 'td' )
28- td . innerHTML = data . val ( ) . status
29- tr . appendChild ( td )
30-
31- td = document . createElement ( 'td' )
10+ row_array = [ ]
11+ row_array . push ( data . key )
12+ row_array . push ( data . val ( ) . name )
13+ row_array . push ( data . val ( ) . projectType )
14+ row_array . push ( data . val ( ) . progress + "%" )
15+ row_array . push ( data . val ( ) . status )
3216 if ( data . val ( ) . isFeatured === true ) {
33- td . innerHTML = "<b>" + data . val ( ) . isFeatured + "</b>"
17+ row_array . push ( "<b>" + data . val ( ) . isFeatured + "</b>" )
3418 } else if ( data . val ( ) . isFeatured === false ) {
35- td . innerHTML = data . val ( ) . isFeatured
19+ row_array . push ( data . val ( ) . isFeatured )
3620 }
37- tr . appendChild ( td )
38-
39-
40- td = document . createElement ( 'td' )
4121
4222 if ( data . val ( ) . status == "inactive" ) {
4323 btn = addButton ( data . key , data . val ( ) . status , "active" )
44- td . appendChild ( btn )
24+ row_array . push ( btn . outerHTML )
4525 btn = addButton ( data . key , data . val ( ) . status , "finished" )
46- td . appendChild ( btn )
26+ row_array . push ( btn . outerHTML )
4727 } else if ( data . val ( ) . status == "active" ) {
48- btn = addButton ( data . key , data . val ( ) . status , "inactive" )
49- td . appendChild ( btn )
50- btn = addButton ( data . key , data . val ( ) . status , "finished" )
51- td . appendChild ( btn )
28+ btn1 = addButton ( data . key , data . val ( ) . status , "inactive" )
29+ btn2 = addButton ( data . key , data . val ( ) . status , "finished" )
30+ row_array . push ( btn1 . outerHTML + btn2 . outerHTML )
5231 } else if ( data . val ( ) . status == "new" ) {
5332 btn = addButton ( data . key , data . val ( ) . status , "active" )
54- td . appendChild ( btn )
33+ row_array . push ( btn . outerHTML )
5534 } else if ( data . val ( ) . status == "finished" ) {
5635 btn = addButton ( data . key , data . val ( ) . status , "inactive" )
57- td . appendChild ( btn )
36+ row_array . push ( btn . outerHTML )
5837 }
59- tr . appendChild ( td )
6038
6139 if ( data . val ( ) . status == "active" ) {
62- td = document . createElement ( 'td' )
6340 btn = document . createElement ( 'button' )
6441 btn . id = data . key
6542 btn . classList . add ( "btn" )
@@ -72,13 +49,23 @@ function getProjects(status) {
7249 } else if ( data . val ( ) . isFeatured === false ) {
7350 btn . innerHTML = 'set to "true"'
7451 }
75- td . appendChild ( btn )
76- tr . appendChild ( td )
52+ row_array . push ( btn . outerHTML )
7753 }
54+
55+ rows . push ( row_array )
56+ tableRef . row . add ( row_array ) . draw ( false )
7857 } ) ;
7958 } ;
80- $ ( "#projectsTable-" + status ) . DataTable ( ) ;
59+
8160 $ ( '.dataTables_length' ) . addClass ( 'bs-select' ) ;
61+ console . log ( 'added data table styles' )
62+
63+ var btns = document . getElementsByClassName ( 'change-status' )
64+ for ( let item of btns ) {
65+ item . addEventListener ( "click" , changeProjectStatus )
66+ }
67+
68+
8269 } ) ;
8370
8471}
@@ -88,8 +75,8 @@ function addButton(id, oldStatus, newStatus){
8875 btn . id = id
8976 btn . classList . add ( "btn" )
9077 btn . classList . add ( "btn-warning" )
78+ btn . classList . add ( "change-status" )
9179 btn . classList . add ( "new-status-" + newStatus )
92- btn . addEventListener ( "click" , changeProjectStatus )
9380 btn . innerHTML = "set to '" + newStatus + "'"
9481
9582 return btn
@@ -112,30 +99,23 @@ function updateIsFeatured(projectId, newStatus) {
11299}
113100
114101function updateTableView ( ) {
115- var newProjects = document . getElementById ( "projectsTable-new" ) . getElementsByTagName ( 'tbody' ) [ 0 ]
116- while ( newProjects . firstChild ) {
117- newProjects . removeChild ( newProjects . firstChild ) ;
118- }
119-
120- var inactiveProjects = document . getElementById ( "projectsTable-inactive" ) . getElementsByTagName ( 'tbody' ) [ 0 ]
121- while ( inactiveProjects . firstChild ) {
122- inactiveProjects . removeChild ( inactiveProjects . firstChild ) ;
123- }
124-
125- var activeProjects = document . getElementById ( "projectsTable-active" ) . getElementsByTagName ( 'tbody' ) [ 0 ]
126- while ( activeProjects . firstChild ) {
127- activeProjects . removeChild ( activeProjects . firstChild ) ;
128- }
129-
130- var finishedProjects = document . getElementById ( "projectsTable-finished" ) . getElementsByTagName ( 'tbody' ) [ 0 ]
131- while ( finishedProjects . firstChild ) {
132- finishedProjects . removeChild ( finishedProjects . firstChild ) ;
133- }
134-
135- getProjects ( "new" )
136- getProjects ( "active" )
137- getProjects ( "inactive" )
138- getProjects ( "finished" )
102+ console . log ( 'hello update table view' )
103+ status_array = [ "new" , "active" , "inactive" , "finished" ]
104+
105+ for ( var i = 0 ; i < status_array . length ; i ++ ) {
106+ status = status_array [ i ]
107+
108+ var tableRef = $ ( "#projectsTable-" + status ) . DataTable ( ) ;
109+ var rows = tableRef
110+ . rows ( )
111+ . remove ( )
112+ . draw ( ) ;
113+ }
114+
115+ getProjects ( "new" )
116+ getProjects ( "active" )
117+ getProjects ( "inactive" )
118+ getProjects ( "finished" )
139119}
140120
141121
0 commit comments