Changeset 29226

Show
Ignore:
Timestamp:
21.08.2014 14:41:48 (5 years ago)
Author:
kjdon
Message:

working on the save stuff, and changing the buttons to be disabled. not quite working properly yet :-(

Location:
main/trunk/greenstone3/web/interfaces/default/js
Files:
2 modified

Legend:

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

    r29213 r29226  
    1010/* Here you can choose which save buttons you like. Choose from 'save', 'rebuild', 'saveandrebuild' */ 
    1111var save_and_rebuild_buttons = ["saveandrebuild"]; 
     12 
     13var save_button_text = "Save changes"; 
     14var rebuild_button_text = "Rebuild"; 
     15var save_and_rebuild_button_text = "Save and Rebuild"; 
    1216 
    1317/* What kind of metadata element selection do we provide? 
     
    11491153     
    11501154    var visibility = (visible ? "" : "none"); 
    1151     $("#saveButton, #metadataListLabel, #metadataSetList").css("display", visibility); 
     1155    $("#metadataListLabel, #metadataSetList").css("display", visibility); 
    11521156     
    11531157    $(".editMetadataButton").each(function() 
     
    12121216      if (button_type == "save") { 
    12131217        var saveButton = $("<button>", {"id": "saveButton", "class": "ui-state-default ui-corner-all"}); 
    1214         saveButton.click(saveMetadataChanges); 
    1215         saveButton.html("Save changes"); 
     1218        saveButton.click(save); 
     1219        saveButton.html(save_button_text); 
    12161220        editBar.append(saveButton); 
    12171221      } else if(button_type == "rebuild") { 
    12181222        var rebuildButton = $("<button>", {"id": "rebuildButton", "class": "ui-state-default ui-corner-all"}); 
    1219         rebuildButton.click(rebuildCollection); 
    1220         rebuildButton.html("Rebuild"); 
     1223        rebuildButton.click(rebuildCurrentCollection); 
     1224        rebuildButton.html(rebuild_button_text); 
    12211225        editBar.append(rebuildButton); 
    12221226      } else if (button_type == "saveandrebuild") { 
    12231227        var saveAndRebuildButton = $("<button>", {"id": "saveAndRebuildButton", "class": "ui-state-default ui-corner-all"}); 
    1224         saveAndRebuildButton.click(save); 
    1225         saveAndRebuildButton.html("Save and Rebuild"); 
     1228        saveAndRebuildButton.click(saveAndRebuild); 
     1229        saveAndRebuildButton.html(save_and_rebuild_button_text); 
    12261230        editBar.append(saveAndRebuildButton); 
    12271231 
     
    12421246} 
    12431247 
    1244  
    1245 /* this is a cut down version of save() from documentmaker_scripts_util.js */ 
    1246 function saveMetadataChanges() { 
     1248// override the one in documentmaker_scripts_util 
     1249// currently not used if other one is present. need to get the js include order right 
     1250function enableSaveButtons(enabled) { 
     1251  if (enabled) { 
     1252    $("#saveButton, #rebuildButton, #saveAndRebuildButton").removeAttr("disabled"); 
     1253  } else { 
     1254    $("#saveButton, #rebuildButton, #saveAndRebuildButton").attr("disabled", "disabled"); 
     1255  } 
     1256} 
     1257 
     1258/* this is a cut down version of save() from documentmaker_scripts_util.js  
     1259 going back to using save, will delete this once everything working*/ 
     1260function saveMetadataChangesOld() { 
    12471261 
    12481262  console.log("Saving metadata changes"); 
     
    13371351 
    13381352 
    1339 function rebuildCollection() { 
    1340  
    1341   console.log("rebuilding collection"); 
    1342   var collection = gs.cgiParams.c; 
    1343  
    1344   var collectionsArray = new Array(); 
    1345   collectionsArray.push(collection); 
    1346   buildCollections(collectionsArray); 
    1347 } 
    13481353 
    13491354/*************** 
  • main/trunk/greenstone3/web/interfaces/default/js/documentmaker_scripts_util.js

    r29225 r29226  
    165165} 
    166166 
     167function enableSaveButtons(enabled) { 
     168  if (enabled) { 
     169    $("#saveButton, #quickSaveButton").html(gs.text.dse.save_changes); 
     170    $("#saveButton, #quickSaveButton").removeAttr("disabled"); 
     171 
     172  } else { 
     173    $("#saveButton, #quickSaveButton").html(gs.text.dse.saving + "..."); 
     174    $("#saveButton, #quickSaveButton").attr("disabled", "disabled"); 
     175    
     176  } 
     177} 
    167178function addCollectionToBuild(collection) 
    168179{ 
     
    177188} 
    178189 
    179 function save()  
     190function save() { 
     191  saveAndRebuild(false); 
     192} 
     193 
     194function rebuildCurrentCollection() { 
     195 
     196  console.log("rebuilding collection"); 
     197  enableSaveButtons(false); 
     198  var collection = gs.cgiParams.c; 
     199 
     200  var collectionsArray = new Array(); 
     201  collectionsArray.push(collection); 
     202  buildCollections(collectionsArray); 
     203} 
     204 
     205function saveAndRebuild(rebuild)  
    180206{ 
    181207//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 
     
    218244                    alert(gs.text.dse.error_saving); 
    219245                 
    220                     $("#saveButton, #quickSaveButton").html(gs.text.dse.save_changes); 
    221                     $("#saveButton, #quickSaveButton").removeAttr("disabled"); 
     246                    enableSaveButtons(true); 
    222247                     
    223248                    if(_statusBar) 
     
    232257                    _statusBar.removeStatus(statusID); 
    233258                } 
    234                 buildCollections(_collectionsToBuild); 
     259                if (rebuild) { 
     260                  buildCollections(_collectionsToBuild); 
     261                } else { 
     262                  // reset the save button here 
     263                  enableSaveButtons(true); 
     264                } 
    235265            } 
    236266        } 
     
    238268        if(_collectionsToBuild.length > 0) 
    239269        { 
    240             $("#saveButton, #quickSaveButton").html(gs.text.dse.saving + "..."); 
    241             $("#saveButton, #quickSaveButton").attr("disabled", "disabled"); 
     270          enableSaveButtons(false); 
    242271 
    243272            if(_statusBar) 
     
    369398    { 
    370399        console.log(gs.text.dse.empty_collection_list); 
    371         $("#saveButton, #quickSaveButton").html(gs.text.save_changes); 
    372         $("#saveButton, #quickSaveButton").removeAttr("disabled"); 
     400        enableSaveButtons(true); 
    373401        return; 
    374402    } 
     
    415443                        _statusBar.removeStatus(statusID); 
    416444                    } 
    417                     $("#saveButton, #quickSaveButton").html(gs.text.dse.save_changes); 
    418                     $("#saveButton, #quickSaveButton").removeAttr("disabled"); 
     445                    enableSaveButtons(true); 
    419446                     
    420447                    return; 
     
    444471                                    _statusBar.removeStatus(statusID); 
    445472                                } 
    446                                 $("#saveButton, #quickSaveButton").html(gs.text.dse.save_changes); 
    447                                 $("#saveButton, #quickSaveButton").removeAttr("disabled"); 
     473                                enableSaveButtons(true); 
    448474                                 
    449475                                return; 
     
    477503                                        _statusBar.removeStatus(statusID); 
    478504                                    } 
    479                                     $("#saveButton, #quickSaveButton").html(gs.text.dse.save_changes); 
    480                                     $("#saveButton, #quickSaveButton").removeAttr("disabled"); 
     505                                    enableSaveButtons(true); 
    481506                                /* 
    482507                                }); 
     
    523548                        _statusBar.removeStatus(statusID); 
    524549                    } 
    525                     $("#saveButton, #quickSaveButton").html(gs.text.dse.save_changes); 
    526                     $("#saveButton, #quickSaveButton").removeAttr("disabled"); 
     550                    enableSaveButtons(true); 
    527551                     
    528552                    return; 
     
    544568                        _statusBar.removeStatus(statusID); 
    545569                    } 
    546                     $("#saveButton, #quickSaveButton").html(gs.text.dse.save_changes); 
    547                     $("#saveButton, #quickSaveButton").removeAttr("disabled"); 
     570                    enableSaveButtons(true); 
    548571                } 
    549572                else 
     
    873896    var saveButton = document.createElement("BUTTON"); 
    874897    saveButton.innerHTML = gs.text.dse.save_changes; 
    875     saveButton.setAttribute("onclick", "save();"); 
     898    saveButton.setAttribute("onclick", "saveAndRebuild();"); 
    876899    saveButton.setAttribute("id", "saveButton"); 
    877900    saveCell.appendChild(saveButton);