1+ //initialising the datatable...
2+ if ( ! $ . fn . dataTable . isDataTable ( '#cicdDashboardServerTable' ) ) {
3+ var $cicdDashboardServerTable = $ ( '#cicdDashboardServerTable' ) . DataTable ( {
4+ "pagingType" : "full_numbers" ,
5+ "bInfo" : false ,
6+ "bLengthChange" : false ,
7+ "paging" : true ,
8+ "bFilter" : false ,
9+ "aoColumns" : [ {
10+ "bSortable" : false
11+ } , {
12+ "bSortable" : false
13+ } , {
14+ "bSortable" : false
15+ } , {
16+ "bSortable" : false
17+ } , {
18+ "bSortable" : false
19+ } ]
20+
21+ } ) ;
22+ }
23+
24+ $ ( document ) . ready ( function ( e ) {
25+ getGlobalcicdDashboardServers ( ) ;
26+ } ) ;
27+
28+ function getGlobalcicdDashboardServers ( ) {
29+ $ ( '#cicdDashboardServerTable' ) . DataTable ( {
30+ "processing" : true ,
31+ "serverSide" : true ,
32+ "destroy" :true ,
33+ "createdRow" : function ( row , data ) {
34+ $ ( row ) . attr ( { "dashboardName" : data . dashboardName , "dashboardDesc" :data . dashboardDesc , "orgId" : data . orgId , "orgName" : data . orgName , "dashboardId" : data . _id , "dashboardServer" :data . dashboardServer , "dashboardServerUserName" :data . dashboardServerUserName , "dashboardDbHostName" :data . dashboardDbHostName
35+ } ) ;
36+ } ,
37+ "ajax" : '/cicd-dashboardservice' ,
38+ "columns" : [
39+ { "data" : "dashboardName" , "orderable" : true } ,
40+ { "data" : "orgName" , "orderable" : false } ,
41+ { "data" : "dashboardServer" , "orderable" : true } ,
42+ { "data" : "dashboardDbHostName" , "orderable" : false } ,
43+
44+ { "data" : "" , "orderable" : true ,
45+ "render" : function ( data ) {
46+ var $tdAction = '<div style="margin-left:14px;" class="btn-group"><button class="btn btn-info pull-left btn-sg tableactionbutton editcicdDashboardServer" data-placement="top" value="Update" title="Edit"><i class="ace-icon fa fa-pencil bigger-120"></i></button></div>' ;
47+ $tdAction = $tdAction + '<div style="margin-left:14px;" class="btn-group"><button class="btn btn-danger pull-left btn-sg tableactionbutton deletecicdDashboardServer" data-placement="top" value="Remove" title="Delete"><i class="ace-icon fa fa-trash-o bigger-120"></i></button></div>' ;
48+ return $tdAction ;
49+ }
50+ }
51+ ]
52+ } ) ;
53+
54+ }
55+
56+
57+ //when the user clicks on the new button the setting the value to 'new' for the hidden field to know that user is creating the new item..
58+ $ ( '.addcicddashboardServer' ) . click ( function ( e ) {
59+ $ ( '#cicddashboardServerForm' ) . trigger ( 'reset' ) ;
60+ $ ( '.modal-header' ) . find ( '.modal-title' ) . html ( 'Create New CICD Dashboard Server' ) ;
61+ $ ( '#cicddashboardServerEditHiddenInput' ) . val ( 'new' ) ;
62+ $ ( '#dashboardDbHostName' ) . val ( 'localhost' ) ;
63+
64+ getOrganizationList ( ) ;
65+ $ ( '#orgName,#dashboardName' ) . removeAttr ( 'disabled' ) ;
66+
67+ $ ( '#cicddashboardServerEditHiddenInputId' ) . val ( '' ) ;
68+ var $editModal = $ ( '#modalForcicddashboardServerEdit' ) ;
69+ $editModal . modal ( 'show' ) ;
70+
71+ } ) ;
72+
73+ //to list down the organization for creating the gitHub repo item.
74+ function getOrganizationList ( ) {
75+ $ . get ( '/d4dMasters/readmasterjsonnew/1' , function ( data ) {
76+ var str = ' <option value="">Select Organization</option>' ,
77+ len = data . length ;
78+ for ( var i = 0 ; i < data . length ; i ++ ) {
79+ str = str + '<option value="' + data [ i ] . rowid + '">' + data [ i ] . orgname + '</option>' ;
80+ }
81+ $ ( '#orgName' ) . html ( str ) ;
82+ } ) ;
83+ }
84+
85+ //save form for creating a new gitHub item and updation of the gitHub details.
86+ $ ( '#cicddashboardServerForm' ) . submit ( function ( e ) {
87+ $ ( '#saveBtncicddashboardServer' ) . removeAttr ( 'disabled' ) ;
88+ var isValidator = $ ( '#cicddashboardServerForm' ) . valid ( ) ;
89+ if ( ! isValidator ) {
90+ e . preventDefault ( ) ;
91+ return false ;
92+ } else {
93+ e . preventDefault ( ) ;
94+ $ ( '#saveItemSpinner' ) . removeClass ( 'hidden' ) ;
95+ var $form = $ ( '#cicddashboardServerForm' ) ;
96+ $this = $ ( this ) ;
97+ var dashboardName = $this . find ( '#dashboardName' ) . val ( ) . trim ( ) ;
98+ var orgValue = $this . find ( '#orgName' ) . val ( ) ;
99+ var dashboardDesc = $this . find ( '#dashboardDesc' ) . val ( ) ;
100+ var dashboardServer = $this . find ( '#dashboardServer' ) . val ( ) ;
101+ var dashboardServerUserName = $this . find ( '#dashboardServerUserName' ) . val ( ) ;
102+ var dashboardServerPassword = $this . find ( '#dashboardServerPassword' ) . val ( ) ;
103+ var dashboardDbHostName = $this . find ( '#dashboardDbHostName' ) . val ( ) ;
104+ var newFormData = new FormData ( ) ;
105+ var dashboardEditNew = $this . find ( '#cicddashboardServerEditHiddenInput' ) . val ( ) ;
106+ var cicddashboardServerEditHiddenInputId = $form . find ( 'input#cicddashboardServerEditHiddenInputId' ) . val ( ) ;
107+ if ( dashboardEditNew === 'edit' ) {
108+ url = '../cicd-dashboardservice/' + cicddashboardServerEditHiddenInputId ;
109+ methodName = 'PUT' ;
110+ } else {
111+ methodName = 'POST' ;
112+ url = '../cicd-dashboardservice' ;
113+ }
114+ reqBody = {
115+ "dashboardName" : dashboardName ,
116+ "orgId" : orgValue ,
117+ "dashboardDesc" : dashboardDesc ,
118+ "dashboardServer" : dashboardServer ,
119+ "dashboardServerUserName" : dashboardServerUserName ,
120+ "dashboardServerPassword" : dashboardServerPassword ,
121+ "dashboardDbHostName" : dashboardDbHostName ,
122+
123+ }
124+
125+ saveForm ( methodName , url , reqBody ) ;
126+
127+ }
128+ } ) ;
129+
130+ $ ( 'a.addcicddashboardServer[type="reset"]' ) . on ( 'click' , function ( e ) {
131+ validator . resetForm ( ) ;
132+ } ) ;
133+
134+
135+ function saveForm ( methodName , url , reqBody ) {
136+ $ . ajax ( {
137+ method : methodName ,
138+ url : url ,
139+ async :false ,
140+ data : reqBody ,
141+ success : function ( data , success ) {
142+ $ ( '#modalForcicddashboardServerEdit' ) . modal ( 'hide' ) ;
143+ $ ( '#saveItemSpinner' ) . addClass ( 'hidden' ) ;
144+ $ ( '#saveBtncicddashboardServer' ) . removeAttr ( 'disabled' ) ;
145+ getGlobalcicdDashboardServers ( ) ;
146+
147+ } ,
148+ error : function ( jxhr ) {
149+ console . log ( jxhr ) ;
150+ var msg = "Server Behaved Unexpectedly" ;
151+ if ( jxhr . responseJSON && jxhr . responseJSON . message ) {
152+ msg = jxhr . responseJSON . message ;
153+ } else if ( jxhr . responseText ) {
154+ msg = jxhr . responseText ;
155+ }
156+ bootbox . alert ( msg ) ;
157+
158+ $ ( '#saveItemSpinner' ) . addClass ( 'hidden' ) ;
159+ $ ( '#saveBtncicddashboardServer' ) . removeAttr ( 'disabled' ) ;
160+ }
161+ } ) ;
162+ }
163+
164+ var validator = $ ( '#cicddashboardServerForm' ) . validate ( {
165+ ignore : [ ] ,
166+ rules : {
167+
168+ dashboardName : {
169+ maxlength : 15
170+ }
171+ } ,
172+ messages : {
173+
174+ gitName : {
175+ maxlength : "Limited to 30 chars"
176+ }
177+ } ,
178+ onkeyup : false ,
179+ errorClass : "error" ,
180+
181+ //put error message behind each form element
182+ errorPlacement : function ( error , element ) {
183+ console . log ( error , element ) ;
184+ var elem = $ ( element ) ;
185+ if ( element . parent ( '.input-groups' ) . length ) {
186+ error . insertBefore ( element . parent ( ) ) ;
187+ } else {
188+ if ( element . parent ( 'div.inputGroups' ) ) {
189+ error . insertBefore ( 'div.inputGroups' ) ;
190+ }
191+ }
192+ }
193+ } ) ;
194+
195+ //Edit Population
196+
197+ $ ( '#cicdDashboardServerTable tbody' ) . on ( 'click' , 'button.editcicdDashboardServer' , function ( ) {
198+ validator . resetForm ( ) ;
199+ var $this = $ ( this ) ;
200+ var $editModal = $ ( '#modalForcicddashboardServerEdit' ) ;
201+ $editModal . find ( '#cicddashboardServerEditHiddenInput' ) . val ( 'edit' ) ;
202+ $editModal . modal ( 'show' ) ;
203+
204+ $editModal . find ( 'h4.modal-title' ) . html ( 'Edit CICD Dashboard Server - ' + $this . parents ( 'tr' ) . attr ( 'dashboardName' ) ) ;
205+ $editModal . find ( '#dashboardName' ) . val ( $this . parents ( 'tr' ) . attr ( 'dashboardName' ) ) . attr ( 'disabled' , 'true' ) ;
206+ $editModal . find ( '#dashboardDesc' ) . val ( $this . parents ( 'tr' ) . attr ( 'dashboardDesc' ) ) ;
207+ $editModal . find ( '#orgName' ) . empty ( ) . append ( '<option value="' + $this . parents ( 'tr' ) . attr ( "orgId" ) + '">' + $this . parents ( 'tr' ) . attr ( "orgName" ) + '</option>' ) . attr ( 'disabled' , 'disabled' ) ;
208+ $editModal . find ( '#dashboardServer' ) . val ( $this . parents ( 'tr' ) . attr ( 'dashboardServer' ) ) ;
209+ $editModal . find ( '#dashboardServerUserName' ) . val ( $this . parents ( 'tr' ) . attr ( 'dashboardServerUserName' ) ) ;
210+ $editModal . find ( '#dashboardDbHostName' ) . val ( $this . parents ( 'tr' ) . attr ( 'dashboardDbHostName' ) ) ;
211+ $editModal . find ( '#cicddashboardServerEditHiddenInputId' ) . val ( $this . parents ( 'tr' ) . attr ( 'dashboardId' ) ) ;
212+ return false ;
213+ } ) ;
214+
215+ $ ( '#cicdDashboardServerTable tbody' ) . on ( 'click' , 'button.deletecicdDashboardServer' , function ( ) {
216+ var $this = $ ( this ) ;
217+ bootbox . confirm ( {
218+ message : 'Are you sure you want to Delete CI CD Dashboard Server - ' + $this . parents ( 'tr' ) . attr ( 'dashboardName' ) ,
219+ title : "Warning" ,
220+ callback : function ( result ) {
221+ if ( result ) {
222+ $ . ajax ( {
223+ url : '../cicd-dashboardservice/' + $this . parents ( 'tr' ) . attr ( 'dashboardId' ) ,
224+ method : 'DELETE' ,
225+ success : function ( ) {
226+ getGlobalcicdDashboardServers ( ) ;
227+ } ,
228+ error : function ( jxhr ) {
229+ var msg = "Unable to Delete CI CD Dashboard Server please try again later" ;
230+ if ( jxhr . responseJSON && jxhr . responseJSON . message ) {
231+ msg = jxhr . responseJSON . message ;
232+ } else if ( jxhr . responseText ) {
233+ msg = jxhr . responseText ;
234+ }
235+ bootbox . alert ( msg ) ;
236+ }
237+ } ) ;
238+ } else {
239+ return ;
240+ }
241+ }
242+ } ) ;
243+ return false ;
244+ } ) ;
245+
246+ //to show the focus on first input ....
247+ $ ( document ) . on ( 'shown.bs.modal' , function ( e ) {
248+ $ ( '[autofocus]' , e . target ) . focus ( ) ;
249+ } ) ;
0 commit comments