Changeset 29110
- Timestamp:
- 2014-06-26T11:32:03+12:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/web/interfaces/default/js/documentmaker_scripts_util.js
r29085 r29110 176 176 } 177 177 178 function save() 179 { 180 //This works in most cases but will not work when taking a doc from one collection to another, will need to be fixed at some point 181 var collection; 182 if(gs.cgiParams.c && gs.cgiParams.c != "") 183 { 184 collection = gs.cgiParams.c 185 } 186 else 187 { 188 collection = gs.cgiParams.p_c 189 } 190 191 for(var i = 0; i < _deletedMetadata.length; i++) 192 { 193 var currentRow = _deletedMetadata[i]; 194 195 //Get document ID 196 var currentElem = currentRow; 197 while((currentElem = currentElem.parentNode).tagName != "TABLE"); 198 var docID = currentElem.getAttribute("id").substring(4); 199 200 //Get metadata name 201 var cells = currentRow.getElementsByTagName("TD"); 202 var nameCell = cells[0]; 203 var name = nameCell.innerHTML; 204 var valueCell = cells[1]; 205 var value = valueCell.innerHTML; 206 207 gs.functions.removeArchivesMetadata(collection, gs.xsltParams.site_name, docID, name, null, value, function(){console.log("REMOVED ARCHIVES");}); 208 addCollectionToBuild(collection); 209 210 removeFromParent(currentRow); 211 } 212 178 function save() 179 { 180 //This works in most cases but will not work when taking a doc from one collection to another, will need to be fixed at some point 181 var collection; 182 if(gs.cgiParams.c && gs.cgiParams.c != "") { 183 184 collection = gs.cgiParams.c; 185 } 186 else { 187 collection = gs.cgiParams.p_c; 188 } 189 213 190 var sendBuildRequest = function() 214 191 { … … 271 248 } 272 249 273 var changes = de.Changes.getChangedEditableSections(); 274 var metadataChanges = new Array(); 275 if (changes.length == 0) { 276 sendBuildRequest(); 277 return; 278 } 279 250 var metadataChanges = new Array(); 251 if (_deletedMetadata.length > 0) { 252 addCollectionToBuild(collection); 253 254 for(var i = 0; i < _deletedMetadata.length; i++) { 255 256 var currentRow = _deletedMetadata[i]; 257 258 //Get document ID 259 var currentElem = currentRow; 260 while((currentElem = currentElem.parentNode).tagName != "TABLE"); 261 var docID = currentElem.getAttribute("id").substring(4); 262 263 //Get metadata name 264 var cells = currentRow.getElementsByTagName("TD"); 265 var nameCell = cells[0]; 266 var name = nameCell.innerHTML; 267 var valueCell = cells[1]; 268 var value = valueCell.innerHTML; 269 metadataChanges.push({type:'delete', docID:docID, name:name, value:value}); 270 removeFromParent(currentRow); 271 } 272 } 273 274 var changes = de.Changes.getChangedEditableSections(); 280 275 for(var i = 0; i < changes.length; i++) 281 276 { … … 297 292 var value = changedElem.innerHTML; 298 293 value = value.replace(/ /g, " "); 299 value = encodeURI(value);300 294 301 295 var orig = changedElem.originalValue; 302 296 if (orig) { 303 297 orig = orig.replace(/ /g, " "); 304 orig = encodeURI(orig); 305 } 306 //changedElem.originalValue = changedElem.innerHTML; 307 //metadataChanges.push({collection:collection, docID:docID, name:name, value:value, orig:changedElem.originalValue}); 298 } 308 299 metadataChanges.push({collection:collection, docID:docID, name:name, value:value, orig:orig}); 309 300 changedElem.originalValue = changedElem.innerHTML; 310 //changedElem.originalValue = value;311 301 addCollectionToBuild(collection); 312 302 } … … 326 316 } 327 317 } 328 329 330 331 var setMetadataLoop = function(index) 318 319 320 var processChangesLoop = function(index) 332 321 { 333 322 … … 341 330 else 342 331 { 343 callbackFunction = function(){setMetadataLoop(index + 1)}; 344 } 345 346 if(change.orig) 347 { 348 gs.functions.setArchivesMetadata(change.collection, gs.xsltParams.site_name, change.docID, change.name, null, change.value, change.orig, "override", function(){callbackFunction();}); 349 } 350 else 351 { 352 gs.functions.setArchivesMetadata(change.collection, gs.xsltParams.site_name, change.docID, change.name, null, change.value, null, "accumulate", function(){callbackFunction();}); 353 } 354 } 355 setMetadataLoop(0); 356 } 332 callbackFunction = function(){processChangesLoop(index + 1)}; 333 } 334 if (change.type == "delete") { 335 gs.functions.removeArchivesMetadata(collection, gs.xsltParams.site_name, change.docID, change.name, null, change.value, function(){callbackFunction();}); 336 } else { 337 if(change.orig) 338 { 339 gs.functions.setArchivesMetadata(change.collection, gs.xsltParams.site_name, change.docID, change.name, null, change.value, change.orig, "override", function(){callbackFunction();}); 340 } 341 else 342 { 343 gs.functions.setArchivesMetadata(change.collection, gs.xsltParams.site_name, change.docID, change.name, null, change.value, null, "accumulate", function(){callbackFunction();}); 344 } 345 } 346 } 347 processChangesLoop(0); 348 349 } 350 357 351 358 352 function buildCollections(collections, documents, callback)
Note:
See TracChangeset
for help on using the changeset viewer.