Mercurial > hg > LGToc
annotate js/check_sections_details.js @ 20:ae69cfe4f9d2 default tip
new version, remove session mechanism,
after all server side save data without session in previous version, check_sections_detail.php
| author | Calvin Yeh <cyeh@mpiwg-berlin.mpg.de> |
|---|---|
| date | Mon, 25 Sep 2017 14:32:47 +0200 |
| parents | c0eccf597fcc |
| children |
| rev | line source |
|---|---|
| 0 | 1 var saving=0; |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
2 |
| 0 | 3 $(document).ready(function(){ |
| 4 initEntry(); | |
| 5 initName(); | |
| 6 initPage(); | |
| 7 initLevel(); | |
| 8 initDelete(); | |
| 9 initInsert(); | |
| 10 initConfigure(); | |
| 11 initSave(version); | |
|
17
2e6bf16b0be3
Commit from test site
Calvin Yeh <cyeh@mpipw-berlin.mpg.com>
parents:
15
diff
changeset
|
12 if($("#saveBook .editor").val() == "") { |
| 15 | 13 $("#loading").show(); |
| 14 } else { | |
| 15 $("#loading").hide(); | |
| 16 } | |
| 17 | |
| 0 | 18 }); |
| 19 window.onbeforeunload = function() { | |
| 20 if(saving==0){ | |
| 21 return 'Remember to save your revision.'; | |
| 22 }else{ | |
| 23 } | |
| 24 }; | |
| 25 function initEntry(){ | |
| 26 //create an empty entry by cloning the entry we have, so that when a new entry is to be inserted, we can just clone the empty entry | |
| 27 var clone=$(".entry").first().clone(); | |
| 28 clone.addClass("clone"); | |
| 29 if(clone.hasClass("overlapper")){clone.removeClass('overlapper');} | |
| 30 clone.children(".hiddenInfo").children(".id").html("-1"); | |
| 31 clone.children(".hiddenInfo").children(".splitFrom").html(""); | |
| 32 clone.children(".hiddenInfo").children(".sectionAfter").html(""); | |
| 33 clone.children(".name").html("<input type='text'>"); | |
| 34 clone.children(".page").children(".startPage").html("<input type='text'>"); | |
| 35 clone.children(".page").children(".endPage").html("<input type='text'>"); | |
| 36 clone.children(".editLevel").children("select").val(1); | |
| 37 clone.insertAfter("#searchResults"); | |
| 38 clone.hide(); | |
| 39 $(".entry").hover(function(){ | |
| 40 $(this).addClass("hovered"); | |
| 41 },function(){ | |
| 42 $(this).removeClass("hovered"); | |
| 43 }); | |
| 44 $(".hiddenInfo").hide(); | |
| 45 $(".entry").children().each(function(){ | |
| 46 $(this).addClass("cell");//for layout | |
| 47 }); | |
| 48 | |
| 49 //$("#bookContainer").droppable(); | |
| 50 //drag and drop | |
| 51 $(".entry").draggable(); | |
| 52 $(".entry").droppable({ | |
| 53 drop:function(e,ui){ | |
| 54 $(ui.draggable).insertAfter($(this)); | |
| 55 $(this).mouseleave(); | |
| 56 $(ui.draggable).mouseenter(); | |
| 57 } | |
| 58 }); | |
| 59 } | |
| 60 function dropHandler(e){//for debug | |
| 61 console.log("QQ"); | |
| 62 console.log($(event.target).children("hiddenInfo").html()); | |
| 63 } | |
| 64 function initName(){ | |
| 65 $(".entry .name").click(function(){ | |
| 66 var editMode=false; | |
| 67 var name=$(this).html(); | |
| 68 if($(this).children().length!=0){//if the name element has children, i.e. the input text | |
| 69 editMode=true; | |
| 70 } | |
| 71 if(!editMode){ | |
| 72 $(this).html("<input type='text' value='"+name+"'>"); | |
| 73 $(this).children("input").focus(); | |
| 74 } | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
75 }); |
| 0 | 76 } |
| 77 function initInsert(){ | |
| 78 var insert=$("<div/>").addClass("insert"); | |
| 79 var insertIcon=$("<div/>").addClass("insertIcon").html("+"); | |
| 80 var insertBefore=$("<input type='button'>").addClass("insertBefore").val("insert before"); | |
| 81 var insertAfter=$("<input type='button'>").addClass("insertAfter").val("insert after"); | |
| 82 var insertOption=$("<div/>").addClass("insertOption").append("insert a new section<br>").append(insertBefore).append(insertAfter); | |
| 83 insert.append(insertIcon); | |
| 84 //insert.append(insertBefore); | |
| 85 //insert.append(insertAfter); | |
| 86 $(".entry").append(insert); | |
| 87 insertOption.insertAfter("#searchResults"); | |
| 88 //$(".insertAfter").hide(); | |
| 89 //$(".insertBefore").hide(); | |
| 90 insertOption.hide(); | |
| 91 $(".insert").hover(function(){ | |
| 92 $(this).append($(".insertOption")); | |
| 93 $(".insertOption").show(); | |
| 94 //$(this).children(".insertAfter").show(); | |
| 95 //$(this).children(".insertBefore").show(); | |
| 96 },function(){ | |
| 97 $(".insertOption").hide(); | |
| 98 //$(this).children(".insertAfter").hide(); | |
| 99 //$(this).children(".insertBefore").hide(); | |
| 100 }); | |
| 101 $(".insertAfter").click(function(){ | |
| 102 addEntry($(this).parent().parent().parent(),1); | |
| 103 $(this).parent().hide(); | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
104 }); |
| 0 | 105 $(".insertBefore").click(function(){ |
| 106 addEntry($(this).parent().parent().parent(),0); | |
| 107 $(this).parent().hide(); | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
108 }); |
| 0 | 109 } |
| 110 function addEntry(obj,pos){//obj: the obj next to which we would like to add a new entry, pos: before the obj or after the obj | |
| 111 var clone=$(".clone").clone(true); | |
| 112 clone.removeClass("clone"); | |
| 113 clone.show(); | |
|
1
1f9d2bfe1d13
handle new section created by user, update sections_index table
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
0
diff
changeset
|
114 |
|
1f9d2bfe1d13
handle new section created by user, update sections_index table
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
0
diff
changeset
|
115 clone.children(".hiddenInfo").children(".id").html(0); // set section id to 0 |
|
1f9d2bfe1d13
handle new section created by user, update sections_index table
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
0
diff
changeset
|
116 |
|
1f9d2bfe1d13
handle new section created by user, update sections_index table
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
0
diff
changeset
|
117 // bug: section_after field is not correct |
|
1f9d2bfe1d13
handle new section created by user, update sections_index table
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
0
diff
changeset
|
118 |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
119 |
| 0 | 120 if(pos==0){ |
| 121 clone.insertBefore(obj); | |
| 122 //$("<br>").insertAfter(clone); | |
| 123 }else{ | |
| 124 clone.insertAfter(obj); | |
| 125 //$("<br>").insertBefore(clone); | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
126 } |
|
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
127 |
|
1
1f9d2bfe1d13
handle new section created by user, update sections_index table
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
0
diff
changeset
|
128 |
| 0 | 129 $("#searchResults .sequence").each(function(idx){ |
| 130 $(this).html(idx+1); | |
| 131 }); | |
| 132 } | |
| 133 function initPage(){// init the column start page & end page, so that they turn into input boxes when clicked | |
| 134 //page | |
| 135 $("div.page").click(function(e){ | |
| 136 var startPage=$(this).children(".startPage").html(); | |
| 137 var endPage=$(this).children(".endPage").html(); | |
| 138 var editMode=false; | |
| 139 if($(this).children(".startPage").children().length!=0){ | |
| 140 editMode=true; | |
| 141 } | |
| 142 if(!editMode){ | |
| 143 $(this).children(".startPage").html("<input type='text' value='"+startPage+"'>"); | |
| 144 //$(this).children(".startPage").children("input").focus(); | |
| 145 $(this).children(".endPage").html("<input type='text' value='"+endPage+"'>"); | |
| 146 //$(this).children(".endPage").children("input").focus(); | |
| 147 $(e.target).children("input").focus(); | |
| 148 }else{ | |
| 149 //console.log($(this).parent().children(".editLevel").children().first().val()); | |
| 150 } | |
| 151 }); | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
152 |
| 0 | 153 } |
|
7
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
154 |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
155 |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
156 // TODO: rewrite initLevel(), change select to ">>" or "<<" button |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
157 function initLevel(){ |
| 0 | 158 //level |
| 159 var levelObj=$("<div/>").addClass("editLevel").append("<select/>"); | |
| 160 $(".entry").append(levelObj); | |
| 161 $(".editLevel select").append("<option value='1'>level 1</option>"); | |
| 162 $(".editLevel select").append("<option value='2'>level 2</option>"); | |
| 163 $(".editLevel select").append("<option value='3'>level 3</option>"); | |
| 164 for(var i=1; i<=3; i++){ | |
| 165 $("div.level"+i+" .editLevel select").val(i); | |
| 166 } | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
167 |
| 0 | 168 $(".editLevel select").change(function(){//add classes for text indent, to control layout style |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
169 var entryObj=$(this).parent().parent(); |
| 0 | 170 var className=""; |
| 171 if(entryObj.hasClass("level1")){ | |
| 172 className="level1"; | |
| 173 } | |
| 174 if(entryObj.hasClass("level2")){ | |
| 175 className="level2"; | |
| 176 } | |
| 177 if(entryObj.hasClass("level3")){ | |
| 178 className="level3"; | |
| 179 } | |
| 180 entryObj.removeClass(className); | |
| 181 entryObj.addClass("level"+$(this).val()); | |
| 182 }); | |
| 183 } | |
|
7
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
184 /* |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
185 function initLevel_old(){//init the column level, turn it into select element |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
186 //level |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
187 var levelObj=$("<div/>").addClass("editLevel").append("<select/>"); |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
188 $(".entry").append(levelObj); |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
189 $(".editLevel select").append("<option value='1'>level 1</option>"); |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
190 $(".editLevel select").append("<option value='2'>level 2</option>"); |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
191 $(".editLevel select").append("<option value='3'>level 3</option>"); |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
192 for(var i=1; i<=3; i++){ |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
193 $("div.level"+i+" .editLevel select").val(i); |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
194 } |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
195 |
|
7
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
196 $(".editLevel select").change(function(){//add classes for text indent, to control layout style |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
197 var entryObj=$(this).parent().parent(); |
|
7
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
198 var className=""; |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
199 if(entryObj.hasClass("level1")){ |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
200 className="level1"; |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
201 } |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
202 if(entryObj.hasClass("level2")){ |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
203 className="level2"; |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
204 } |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
205 if(entryObj.hasClass("level3")){ |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
206 className="level3"; |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
207 } |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
208 entryObj.removeClass(className); |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
209 entryObj.addClass("level"+$(this).val()); |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
210 }); |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
211 } |
|
3abf39f0eb46
bug fixed: sessionId from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
5
diff
changeset
|
212 */ |
| 0 | 213 function initDelete(){ |
| 214 //delete | |
| 215 var deleteObj=$("<div/>").addClass("deleteEntry").append("<input type='button' value='delete' class='deleteButton'>"); | |
| 216 $(".entry").append(deleteObj); | |
| 217 $(".deleted .deleteEntry input").val("recover"); | |
| 218 var deleteRangeObj=$("<div/>").attr("id","deleteRange").append("delete entry <br>from "); | |
| 219 var deleteFromObj=$("<input type='text'>").addClass("deleteFrom"); | |
| 220 var deleteToObj=$("<input type='text'>").addClass("deleteTo"); | |
| 221 var deleteButtonObj=$("<input type='button'>").addClass("deleteButton").val("delete"); | |
| 222 deleteRangeObj.append(deleteFromObj).append(" to ").append(deleteToObj).append(deleteButtonObj); | |
| 223 deleteRangeObj.insertAfter($("#searchResults")); | |
| 224 deleteRangeObj.hide(); | |
| 225 $(".deleteEntry .deleteButton").click(function(){ | |
| 226 var entryObj=$(this).parent().parent(); | |
| 227 var buttonVal=$(this).val(); | |
| 228 if(buttonVal=="delete"){ | |
| 229 entryObj.addClass("deleted"); | |
| 230 $(this).val("recover"); | |
| 231 }else{ | |
| 232 entryObj.removeClass("deleted"); | |
| 233 $(this).val("delete"); | |
| 234 } | |
| 235 if($("#deleteRange").is(":visible")){ | |
| 236 deleteRangeObj.insertAfter($("#searchResults")); | |
| 237 $("#deleteRange").hide(); | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
238 } |
| 0 | 239 }); |
| 240 $(".deleteEntry").hover(function(){ | |
| 241 var entryObj=$(this).parent(); | |
| 242 var deleteRangeObj=$("#deleteRange"); | |
| 243 var buttonVal=$(this).children(".deleteButton").val(); | |
| 244 if(buttonVal=="delete"){ | |
| 245 $(this).append(deleteRangeObj); | |
| 246 deleteRangeObj.show(); | |
| 247 deleteRangeObj.children(".deleteFrom").val(entryObj.children(".sequence").html()); | |
| 248 } | |
| 249 },function(){ | |
| 250 var buttonVal=$(this).children(".deleteButton").val(); | |
| 251 var deleteRangeObj=$("#deleteRange"); | |
| 252 if(buttonVal=="delete"){ | |
| 253 deleteRangeObj.children("input:text").val(""); | |
| 254 deleteRangeObj.insertAfter($("#searchResults")); | |
| 255 deleteRangeObj.hide(); | |
| 256 } | |
| 257 | |
| 258 }); | |
| 259 $("#deleteRange .deleteButton").click(function(){ | |
| 260 var from=$("#deleteRange .deleteFrom").val().trim(); | |
| 261 var to=$("#deleteRange .deleteTo").val().trim(); | |
| 262 from=Number(from); | |
| 263 to=Number(to); | |
| 264 if(isNaN(from) || isNaN(to) || to <from){ | |
| 265 return; | |
| 266 } | |
| 267 var i; | |
| 268 for(i=from; i<=to; i++){ | |
| 269 if(i<1){i=1;} | |
| 270 if(i>$(".entry").size()){console.log($(".entry").size());break;} | |
| 271 var entryObj=$(".entry:eq("+(i-1)+")"); | |
| 272 var buttonObj=entryObj.children(".deleteEntry").children(".deleteButton"); | |
| 273 var buttonVal=buttonObj.val(); | |
| 274 if(buttonVal=="delete"){ | |
| 275 buttonObj.click(); | |
| 276 } | |
| 277 $("#deleteRange").children("input:text").val(""); | |
| 278 } | |
| 279 }); | |
| 280 }/* | |
| 281 function isNumeric(str){ | |
| 282 if(str.search(/\D/)>=0){ | |
| 283 console.log("not a number"); | |
| 284 return false; | |
| 285 }else{ | |
| 286 return true; | |
| 287 } | |
| 288 }*/ | |
| 289 function initConfigure(){ | |
| 290 var configureObj=$("<div/>").attr("id","configure"); | |
| 291 var hideDeletedObj=$("<div/>").addClass("hideDeleted").append("<input type='checkbox'>"); | |
| 292 hideDeletedObj.append("hide deleted sections"); | |
| 293 configureObj.append(hideDeletedObj); | |
| 294 $("#panel").append(configureObj); | |
| 295 $(".hideDeleted input:checkbox").change(function(){ | |
| 296 if($(this).is(":checked")){ | |
| 297 $(".deleted").hide(); | |
| 298 //$(".deleted").next().hide(); | |
| 299 }else{ | |
| 300 $(".deleted").show(); | |
| 301 //$(".deleted").next().show(); | |
| 302 } | |
| 303 }); | |
| 304 var href=window.location.href; | |
| 305 var reg=/hideDeletedChecked=[a-zA-Z]+/g; | |
| 306 var hidden=reg.exec(href); | |
| 307 if(hidden!=null){ | |
| 308 hidden=hidden[0].replace("hideDeletedChecked=",""); | |
| 309 if(hidden=="true"){ | |
| 310 //if(hidden.search("true")!=-1){ | |
| 311 $(".hideDeleted input:checkbox").attr("checked","true"); | |
| 312 $(".deleted").hide(); | |
| 313 } | |
| 314 } | |
| 315 } | |
| 316 function initSave(version){ | |
| 317 //save | |
| 318 var saveObj=$("<div/>").attr("id","saveBook"); | |
| 319 var labelObj=$("<div/>").addClass("label").html("Name of the editor:"); | |
| 320 saveObj.append(labelObj); | |
|
9
28f26315506e
disable name input which should gotten from LGServices
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
7
diff
changeset
|
321 labelObj.append("<input type='text' class='editor' disabled>"); // disabled input for name, bcuz it should come from LGServices |
| 0 | 322 saveObj.append("<input type='button' value='save' class='save'>"); |
| 323 $("#panel").append(saveObj); | |
| 324 $("#saveBook .save").click(function(){ | |
| 325 if($("#saveBook .editor").val()!=""){ | |
| 326 saveBook(version); | |
| 327 }else{ | |
| 328 alert("Please fill in the name of the editor."); | |
| 329 } | |
| 330 }); | |
| 331 var href=window.location.href; | |
| 332 var reg=/editor=[^\?^\&]+/g; | |
| 333 var editor=reg.exec(href); | |
| 334 if(editor!=null){ | |
| 335 editor=editor[0].replace("editor=",""); | |
| 336 editor=editor.replace("%20"," "); | |
| 337 $("#saveBook .editor").val(editor); | |
|
5
26ed9d1d6957
New: get user name from LGService by sessionId
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
3
diff
changeset
|
338 } else { |
|
26ed9d1d6957
New: get user name from LGService by sessionId
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
3
diff
changeset
|
339 setCurrentEditor(); // get from LGService, if user linked this TOC from LGService (the firsttime) |
| 0 | 340 } |
| 341 } | |
|
5
26ed9d1d6957
New: get user name from LGService by sessionId
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
3
diff
changeset
|
342 |
| 0 | 343 function saveBook(version){ |
| 344 var sectionArray=collectSectionArray(); | |
| 345 var bookId=$(".entry").first().children(".hiddenInfo").children(".booksId").html(); | |
| 346 var editor=$("#saveBook .editor").val(); | |
| 347 console.log("editor:"+editor); | |
| 348 | |
| 349 var version=version; | |
| 350 $("#loading").show(); | |
|
10
2c35af0d78f3
bug fixed: sessionId after saving
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
351 |
| 0 | 352 $.post("edit_section_db.php", // use ajax to post to a php then wait for return |
| 353 {//post data | |
| 354 command:"write", | |
| 355 version:version, | |
| 356 editor:editor, | |
| 357 bookId:bookId, | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
358 sectionArray:sectionArray |
| 0 | 359 }, |
| 360 function(data){//things to do after edit_section_db is done | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
361 |
| 0 | 362 if(data=="Succeeded."){ |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
363 |
|
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
364 alert("Saved Successfully !! Sysetm will reload the page for saved sections, but maybe you will need to re-login."); |
|
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
365 |
| 0 | 366 saving=1; |
| 367 var hideDeletedChecked=$(".hideDeleted input:checkbox").is(":checked");//get the previous setting for checked | |
| 368 var href=window.location.href; | |
| 369 var reg=/count=[0-9^\?]+/g; | |
| 370 var count=reg.exec(href); | |
| 371 reg = /[^\?]+/g; | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
372 href = reg.exec(href); |
|
17
2e6bf16b0be3
Commit from test site
Calvin Yeh <cyeh@mpipw-berlin.mpg.com>
parents:
15
diff
changeset
|
373 |
|
11
0a03c75499e6
bug fixed: sessionId after saving
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
10
diff
changeset
|
374 href=href+"?book_id="+bookId+"&"+count+"&hideDeletedChecked="+hideDeletedChecked+"&editor="+editor+"&sessionId="+session_id; |
| 0 | 375 location.href=href; //refresh the page to load the sections saved in db |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
376 |
| 0 | 377 }else{ |
| 378 console.log("db failed. log: ", data); | |
| 379 alert("Saving failed. You've NOT saved your editing."); | |
| 380 alert("Please check your editing again. If the issue remains, please contact us."); | |
| 381 $("#loading").hide(); | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
382 |
| 0 | 383 } |
| 384 }, | |
| 385 "json" | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
386 ); |
| 0 | 387 } |
| 388 function collectSectionArray(){ | |
| 389 var sectionArray=new Array(); | |
| 390 var idx=0; | |
| 391 $("#searchResults .entry").each(function(){//go through all the entries wrapped in the element searchResults | |
| 392 var startPage,endPage,name,deleted="FALSE"; | |
| 393 if($(this).children(".page").children(".startPage").children().length!=0){ //if the value is a input box | |
| 394 startPage=$(this).children(".page").children(".startPage").children().first().val(); | |
| 395 endPage=$(this).children(".page").children(".endPage").children().first().val(); | |
| 396 }else{ // if the value is not an input box (has not been edited) | |
| 397 startPage=$(this).children(".page").children(".startPage").html(); | |
| 398 endPage=$(this).children(".page").children(".endPage").html(); | |
| 399 } | |
| 400 if($(this).children(".name").children().length!=0){ | |
| 401 name=$(this).children(".name").children().first().val(); | |
| 402 }else{ | |
| 403 name=$(this).children(".name").html(); | |
| 404 } | |
| 405 startPage=$.trim(startPage); | |
| 406 endPage=$.trim(endPage); | |
| 407 name=$.trim(name); | |
| 408 if(name=="" || startPage=="" ||endPage==""){ // if any of the fields is blank, dont insert to db (since none of them should be blank) | |
| 409 console.log("empty row: "+name+" -- "+startPage+" -- "+endPage); | |
| 410 return; // "continue" in jquery | |
| 411 } | |
|
3
5d0bfd909857
modify updating to sections_index table when deletion/recovery
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
1
diff
changeset
|
412 // bug fix: the type of deleted should be 'int' in database, 0 or 1, rather than TRUE |
|
5d0bfd909857
modify updating to sections_index table when deletion/recovery
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
1
diff
changeset
|
413 if($(this).hasClass("deleted")){ // deleted="TRUE"; |
|
5d0bfd909857
modify updating to sections_index table when deletion/recovery
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
1
diff
changeset
|
414 deleted = 1; |
|
5d0bfd909857
modify updating to sections_index table when deletion/recovery
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
1
diff
changeset
|
415 } else { |
|
5d0bfd909857
modify updating to sections_index table when deletion/recovery
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
1
diff
changeset
|
416 deleted = 0; |
|
5d0bfd909857
modify updating to sections_index table when deletion/recovery
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
1
diff
changeset
|
417 } |
| 0 | 418 var id=$(this).children(".hiddenInfo").children(".id").html(); |
| 419 var booksId=$(this).children(".hiddenInfo").children(".booksId").html(); | |
| 420 var sectionAfter=$(this).children(".hiddenInfo").children(".sectionAfter").html() | |
| 421 var level=$(this).children(".editLevel").children("select").val(); | |
| 422 var splitFrom=$(this).children(".hiddenInfo").children(".splitFrom").html(); | |
|
19
c0eccf597fcc
after saved successfully, pop up a message to let user know page will be reloaded.
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents:
17
diff
changeset
|
423 if(splitFrom==""){splitFrom="NULL";} |
| 0 | 424 sectionArray[idx]={name:name,booksId:booksId,sectionAfter:sectionAfter, |
| 425 startPage:startPage,endPage:endPage, | |
| 426 level:level,splitFrom:splitFrom, | |
| 427 id:id,deleted:deleted}; | |
| 428 idx++; | |
| 429 }); | |
| 430 return sectionArray; | |
| 431 } |
