Ignore:
Timestamp:
2023-11-20T18:43:55+13:00 (7 months ago)
Author:
anupama
Message:

Moved the user comment editing code into the documentedit_scripts_usercomments.js file so it will hopefully be less confusing when coding.

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

    r38351 r38410  
    11/** Javascript file for editing and especially deleting user comments in a documentediting situation */
    22
     3// Skeleton function that may be called by documentedit_scripts_util.js when saving and rebuilding.
     4// This function should return all the doc sections' (actually only root section's) usercomments data so that
     5// setArchivesMetadata can be called for root section and the entire collection rebuilt with the changes
     6function getUserCommentsEditDataForSaving(userCommentsMetaFields, userCommentsRowsChanged) {   
     7    var docArray = [];
    38
     9    var i = 0;
     10    for (i = 0; i < userCommentsRowsChanged.length; i++) {
     11    // need docID, metaname, metaval, metapos, and set metamode to override
     12   
     13    var changedElem = userCommentsRowsChanged[i];
     14    //console.dir(changedElem);
     15   
     16    var metaval = changedElem.value; //changedElem.textContent; // gets orig value
     17    metaval = metaval.replace(/&nbsp;/g, " ");
     18   
     19    var currentElem = changedElem;
     20    while((currentElem = currentElem.parentNode).tagName != "TABLE");       
     21    var docID = currentElem.getAttribute("id").substring("usercomments-".length);
     22   
     23    currentElem = changedElem;
     24    while((currentElem = currentElem.parentNode).tagName != "TR");
     25    var metapos = currentElem.firstElementChild.textContent;       
     26   
     27    //currentElem = changedElem.parentNode; //TD
     28    currentElem = changedElem;
     29    while((currentElem = currentElem.parentNode).tagName != "TD");     
     30    // count number of previous siblings
     31    var th = 0;
     32    while((currentElem = currentElem.previousSibling) != null) {
     33        th++;
     34    }
     35    var metaname = userCommentsMetaFields[th-1]; // first column is invisible metapos col
     36   
     37    //alert("docid: " + docID + " metaname: " + metaname + " metaval: " + metaval + " metapos: " + metapos);
     38
     39    docArray.push({
     40        docid:docID,
     41        metatable:[{metaname:metaname,metavalue:metaval,metapos:metapos}],
     42        metamode:"override"
     43    });
     44    }
     45
     46    return docArray;
     47}
    448
    549function addEditUserCommentsLink(cell) {
    650    cell = $(cell);
    751    var doc_id = cell.attr("id").substring(6);
     52//console.log("HERE I AM: id = " + doc_id);
    853   
    954    var edit_usercomments_table = document.getElementById("usercomments-"+doc_id);   
  • main/trunk/greenstone3/web/interfaces/default/js/documentedit_scripts_util.js

    r38395 r38410  
    543543            if(currentElem.getAttribute("id").startsWith("usercomments-")) {
    544544            userCommentsRowsChanged.push(changedElem);
    545             continue;
     545            continue; // we'll process edited user comments separately
    546546            }
    547547            var docID = currentElem.getAttribute("id").substring(4);
     
    602602   
    603603    if(userCommentsRowsChanged.length > 0) {
    604     var docArray = [];
    605     //var metatable = [];
    606604    if(userCommentsMetaFields.length == 0) {
    607605        fillUserCommentTableColumnNames(userCommentsRowsChanged[0], userCommentsMetaFields);
    608606    }
    609607    //alert("Usercomments colnames: " + userCommentsMetaFields);
    610    
    611     var i = 0;
    612     for (i = 0; i < userCommentsRowsChanged.length; i++) {
    613         // need docID, metaname, metaval, metapos, and set metamode to override
    614        
    615         var changedElem = userCommentsRowsChanged[i];
    616         //console.dir(changedElem);
    617        
    618         var metaval = changedElem.value; //changedElem.textContent; // gets orig value
    619         //metaval = metaval.replace(/&nbsp;/g, " ");
    620        
    621         var currentElem = changedElem;
    622         while((currentElem = currentElem.parentNode).tagName != "TABLE");       
    623         var docID = currentElem.getAttribute("id").substring("usercomments-".length);
    624        
    625         currentElem = changedElem;
    626         while((currentElem = currentElem.parentNode).tagName != "TR");
    627         var metapos = currentElem.firstElementChild.textContent;       
    628 
    629         //currentElem = changedElem.parentNode; //TD
    630         currentElem = changedElem;
    631         while((currentElem = currentElem.parentNode).tagName != "TD");     
    632         // count number of previous siblings
    633         var th = 0;
    634         while((currentElem = currentElem.previousSibling) != null) {
    635         th++;
    636         }
    637         var metaname = userCommentsMetaFields[th-1]; // first column is invisible metapos col
    638 
    639         //alert("docid: " + docID + " metaname: " + metaname + " metaval: " + metaval + " metapos: " + metapos);
    640 
    641         //metatable.push({metaname:metaname,metavalue:metaval,metapos:metapos});
    642        
    643         docArray.push({
    644         docid:docID,
    645         metatable:[{metaname:metaname,metavalue:metaval,metapos:metapos}],
    646         metamode:"override"
    647         });
    648     }
     608    var docArray = getUserCommentsEditDataForSaving(
     609        userCommentsMetaFields, userCommentsRowsChanged);
     610   
    649611    metadataChanges.push({type:'editUserComments',collection:collection,docArray:docArray});
    650612    addCollectionToBuild(collection);
Note: See TracChangeset for help on using the changeset viewer.