Changeset 38422
- Timestamp:
- 2023-11-21T17:24:00+13:00 (3 weeks ago)
- Location:
- main/trunk/greenstone3/web/interfaces/default/js
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/web/interfaces/default/js/documentedit_scripts_usercomments.js
r38411 r38422 1 1 /** Javascript file for editing and especially deleting user comments in a documentediting situation */ 2 2 3 // Skeleton function that may becalled by documentedit_scripts_util.js when saving and rebuilding.4 // This function should return all the doc sections' (actually only root section's) usercomments dataso that5 // set ArchivesMetadata can be called for root sectionand the entire collection rebuilt with the changes3 // Function called by documentedit_scripts_util.js when saving and rebuilding. 4 // This function should return usercomments data (only exists for doc root's section) so that 5 // setMetadataArray can be called for doc root and the entire collection rebuilt with the changes 6 6 function getUserCommentsEditDataForSaving(userCommentsMetaFields, userCommentsRowsChanged) { 7 7 // https://medium.com/@martin.crabtree/javascript-tracking-key-value-pairs-using-hashmaps-7de6df598257 … … 20 20 var metaval = changedElem.value; //changedElem.textContent; // gets orig value 21 21 metaval = metaval.replace(/ /g, " "); // copied from docedit_scripts_utl, when procsesing the array called changes. 22 metaval = encodeDelimiters(metaval); 22 23 23 24 var currentElem = changedElem; … … 62 63 } 63 64 65 return docArray; 66 } 67 68 // Function called by documentedit_scripts_util.js when saving and rebuilding. 69 // This function should return usercomments data (only exists for doc root's section) so that 70 // removeMetadataArray can be called for doc root and the collection rebuilt with the deletions 71 function getUserCommentsDeletions(userCommentsMetaFields, docids_to_delCommentsMetapositions) { 72 73 var docids = Object.keys(docids_to_delCommentsMetapositions); 74 var docArray = []; 75 for(i = 0; i < docids.length; i++) { //if(docids.length > 0) { 76 var _docid = docids[i]; 77 var delCommentsMetapositions = docids_to_delCommentsMetapositions[_docid]; 78 79 80 // build up the data structure for all the usercomments to be deleted 81 if(delCommentsMetapositions.length > 0) { 82 //console.log("About to delete position: " + delCommentsMetapositions); 83 var timestamp_rec = { 84 metaname: userCommentsMetaFields[0], 85 metapositions: delCommentsMetapositions 86 }; 87 var username_rec = { 88 metaname: userCommentsMetaFields[1], 89 metapositions: delCommentsMetapositions 90 }; 91 var comment_rec = { 92 metaname: userCommentsMetaFields[2], 93 metapositions: delCommentsMetapositions 94 }; 95 96 97 var doc_rec = { 98 docid: _docid, 99 metatable: [username_rec, timestamp_rec, comment_rec] 100 }; 101 102 docArray.push(doc_rec); 103 } 104 } 105 64 106 return docArray; 65 107 } -
main/trunk/greenstone3/web/interfaces/default/js/documentedit_scripts_util.js
r38411 r38422 480 480 docids_to_delCommentsMetapositions[docID].push(metapos); 481 481 482 483 482 //console.log("docID : " + docID + " - metapos: " + metapos); 484 483 } … … 502 501 } 503 502 504 var docids = Object.keys(docids_to_delCommentsMetapositions); 505 var docArray = []; 506 for(i = 0; i < docids.length; i++) { //if(docids.length > 0) { 507 var _docid = docids[i]; 508 var delCommentsMetapositions = docids_to_delCommentsMetapositions[_docid]; 509 510 511 // build up the data structure for all the usercomments to be deleted 512 if(delCommentsMetapositions.length > 0) { 513 //console.log("About to delete position: " + delCommentsMetapositions); 514 var timestamp_rec = { 515 metaname: userCommentsMetaFields[0], 516 metapositions: delCommentsMetapositions 517 }; 518 var username_rec = { 519 metaname: userCommentsMetaFields[1], 520 metapositions: delCommentsMetapositions 521 }; 522 var comment_rec = { 523 metaname: userCommentsMetaFields[2], 524 metapositions: delCommentsMetapositions 525 }; 526 527 528 var doc_rec = { 529 docid: _docid, 530 metatable: [username_rec, timestamp_rec, comment_rec] 531 }; 532 533 docArray.push(doc_rec); 534 } 535 } 536 537 if(docArray.length > 0) {// or if(docids.length > 0) 503 // we can now process the deleted user comments, by organizing them into a single JSON 504 // so that a single call to removeMetadataArray can delete them all more efficiently 505 var docArray = getUserCommentsDeletions( 506 userCommentsMetaFields, docids_to_delCommentsMetapositions); 507 508 if(docArray.length > 0) { 538 509 metadataChanges.push({type:'deleteUserComments', docArray:docArray}); 539 510 addCollectionToBuild(collection); … … 542 513 docArray = []; 543 514 docids_to_delCommentsMetapositions = {}; 544 docids = []; 515 545 516 } 546 517
Note:
See TracChangeset
for help on using the changeset viewer.