Ignore:
Timestamp:
2015-05-11T06:51:55+12:00 (9 years ago)
Author:
Georgiy Litvinov
Message:

renamed interfaces

Location:
main/trunk/greenstone3/web/interfaces/default/js
Files:
54 added
3 edited
156 moved

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/js/document_scripts.js

    r29320 r29861  
    1414var rebuild_button_text = "Rebuild";
    1515var save_and_rebuild_button_text = "Save and Rebuild";
     16
     17/*Array to store init states of metadata fields and text*/
     18var editableInitStates = new Array();
     19/*Array to store last states of metadata fields and text*/
     20var editableLastStates = new Array();
    1621
    1722/* What kind of metadata element selection do we provide?
     
    10801085
    10811086/************************
     1087*    CHANGES SCRIPTS    *
     1088************************/
     1089function addEditableState(editable,stateArray)
     1090{
     1091        stateArray.push({
     1092                editableNode : editable,
     1093                initHTML : editable.innerHTML
     1094        });
     1095}
     1096
     1097function getLastEditableStates()
     1098{   
     1099    editableLastStates = [];
     1100        $(".sectionText").each(function(){addEditableState(this,editableLastStates);});
     1101        $(".metaTableCell").each(function(){addEditableState(this,editableLastStates);});
     1102
     1103}
     1104
     1105function changesToUpdate()
     1106{
     1107    var resultArray = new Array();
     1108    getLastEditableStates();
     1109    for (var j in editableLastStates)
     1110    {   
     1111        if (isNodeChanged(editableLastStates[j]))
     1112        {
     1113            resultArray.push(editableLastStates[j].editableNode);
     1114        }
     1115    }
     1116    return resultArray;
     1117}
     1118
     1119function isNodeChanged(StateToCheck){
     1120    for (var i in editableInitStates)
     1121    {
     1122        if ((StateToCheck.editableNode === editableInitStates[i].editableNode) && StateToCheck.initHTML === editableInitStates[i].initHTML )
     1123        {
     1124            return false;
     1125        }
     1126   
     1127    }
     1128    return true;
     1129}
     1130/************************
    10821131* METADATA EDIT SCRIPTS *
    10831132************************/
     
    11971246
    11981247    $("#editContentButton").html("Hide Editor");
    1199    
    1200     var textDivs = $(".sectionText").each(function(){de.doc.registerEditSection(this);});
    1201    
     1248    //wait for 0.5 sec to let ckeditor up
     1249    setTimeout(function(){ $(".sectionText").each(function(){addEditableState(this,editableInitStates);}); }, 500);
     1250
    12021251    var editBar = $("#editBarLeft");
    12031252   
  • main/trunk/greenstone3/web/interfaces/default/js/documentmaker_scripts.js

    r25544 r29861  
    212212   
    213213    //This registering can cause a sizeable delay so we'll thread it (effectively) so the browser is not paused
    214     setTimeout(function(){de.doc.registerEditSection(textDiv)}, 0);
     214    setTimeout(function(){addEditableState(textDiv, editableInitStates)}, 0);
    215215
    216216    renderedDiv.appendChild(textDiv);
  • main/trunk/greenstone3/web/interfaces/default/js/documentmaker_scripts_util.js

    r29499 r29861  
    302302  }
    303303
    304   var changes = de.Changes.getChangedEditableSections();
     304  var changes = changesToUpdate();
     305  //Clean changes
     306  editableInitStates = editableLastStates;
    305307    for(var i = 0; i < changes.length; i++)
    306308    {
     
    385387     
    386388    /* need to clear the changes from the page so that we don't process them again next time */
    387     de.Changes.clear();
    388389    while (_deletedMetadata.length>0) {
    389390      _deletedMetadata.pop();
     
    720721    //This registering can cause a sizeable delay so we'll thread it (effectively) so the browser is not paused
    721722    cell.originalValue = cell.innerHTML;
    722     setTimeout(function(){de.doc.registerEditSection(cell)}, 0);
     723    setTimeout(function(){addEditableState(cell, editableInitStates)}, 0);
    723724}
    724725
     
    815816        nameCell.attr("class", "metaTableCellName");
    816817        var valueCell = $("<td>", {"class": "metaTableCell"});
     818        valueCell.attr("contenteditable","true");
    817819       
    818820        newRow.append(nameCell);
     
    827829        _undoOperations.push(undo);
    828830       
    829         //Threading this function here probably isn't necessary like the other times it is called
    830         de.doc.registerEditSection(valueCell[0]);
    831831    });
    832832    table.addRowButton = addRowButton;
Note: See TracChangeset for help on using the changeset viewer.