Changeset 25143 for main/trunk


Ignore:
Timestamp:
2012-02-24T13:11:42+13:00 (12 years ago)
Author:
sjm84
Message:

Added the ability to edit metadata on the document page

Location:
main/trunk/greenstone3/web/interfaces/oran
Files:
3 edited

Legend:

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

    r25142 r25143  
    541541}
    542542
     543function addEditMetadataLink(cell)
     544{
     545    var id = cell.getAttribute("id").substring(6);
     546    var metaTable = document.getElementById("meta" + id);
     547
     548    var row = cell.parentNode;
     549    var newCell = document.createElement("TD");
     550    newCell.setAttribute("style", "font-size:0.7em; padding:0px 10px");
     551    var newLink = document.createElement("A");
     552    newLink.innerHTML = "edit metadata";
     553    newLink.setAttribute("href", "javascript:;");
     554    newLink.onclick = function()
     555    {
     556        if(metaTable.style.display == "none")
     557        {
     558            metaTable.style.display = "block";
     559            metaTable.metaNameField.style.display = "inline";
     560            metaTable.addRowButton.style.display = "inline";
     561        }
     562        else
     563        {
     564            metaTable.style.display = "none";
     565            metaTable.metaNameField.style.display = "none";
     566            metaTable.addRowButton.style.display = "none";
     567        }
     568    }
     569    newCell.appendChild(newLink);
     570    row.appendChild(newCell);
     571   
     572    addFunctionalityToTable(metaTable);
     573    metaTable.metaNameField.style.display = "none";
     574    metaTable.addRowButton.style.display = "none";
     575}
     576
    543577function readyPageForEditing()
    544578{
    545579    var textDivs = gs.functions.getElementsByClassName("sectionText");
    546    
    547580    for(var i = 0; i < textDivs.length; i++)
    548581    {
     
    557590    editBar.appendChild(saveButton);
    558591   
     592    var visibleMetadataList = document.createElement("SELECT");
     593    var allOption = document.createElement("OPTION");
     594    allOption.innerHTML = "All";
     595    visibleMetadataList.appendChild(allOption);
     596    visibleMetadataList.setAttribute("id", "metadataSetList");
     597    var metadataListLabel = document.createElement("SPAN");
     598    metadataListLabel.setAttribute("style", "margin-left:20px;");
     599    metadataListLabel.innerHTML = "Visible metadata: ";
     600    editBar.appendChild(metadataListLabel);
     601    editBar.appendChild(visibleMetadataList);
     602   
    559603    var statusBarDiv = document.createElement("DIV");
    560604    editBar.appendChild(statusBarDiv);
    561605    _statusBar = new StatusBar(statusBarDiv);
    562606   
     607    var titleDivs = gs.functions.getElementsByClassName("sectionTitle");
     608    for(var i = 0; i < titleDivs.length; i++)
     609    {
     610        addEditMetadataLink(titleDivs[i]);
     611    }
     612   
    563613    _baseURL = gs.xsltParams.library_name;
    564614}
  • main/trunk/greenstone3/web/interfaces/oran/js/documentmaker_scripts_util.js

    r25142 r25143  
    178178function save()
    179179{
     180    var collection;
     181    if(gs.cgiParams.c && gs.cgiParams.c != "")
     182    {
     183        collection = gs.cgiParams.c
     184    }
     185    else
     186    {
     187        collection = gs.cgiParams.p_c
     188    }
     189
    180190    for(var i = 0; i < _deletedMetadata.length; i++)
    181191    {
     
    194204        var value = valueCell.innerHTML;
    195205       
    196         gs.functions.removeArchivesMetadata(gs.cgiParams.p_c /*bad*/, "localsite" /*bad*/, docID, name, null, value, function(){console.log("REMOVED ARCHIVES");});
    197         addCollectionToBuild(gs.cgiParams.p_c); /*bad*/
     206        gs.functions.removeArchivesMetadata(collection /*bad*/, "localsite" /*bad*/, docID, name, null, value, function(){console.log("REMOVED ARCHIVES");});
     207        addCollectionToBuild(collection); /*bad*/
    198208       
    199209        removeFromParent(currentRow);
     
    222232            if(changedElem.originalValue)
    223233            {
    224                 gs.functions.setArchivesMetadata(gs.cgiParams.p_c /*bad*/, "localsite" /*bad*/, docID, name, null, changedElem.innerHTML, changedElem.originalValue, "override", function(){console.log("SAVED ARCHIVES");});
     234                gs.functions.setArchivesMetadata(collection, "localsite" /*bad*/, docID, name, null, changedElem.innerHTML, changedElem.originalValue, "override", function(){console.log("SAVED ARCHIVES");});
    225235            }
    226236            else
    227237            {
    228                 gs.functions.setArchivesMetadata(gs.cgiParams.p_c /*bad*/, "localsite" /*bad*/, docID, name, null, changedElem.innerHTML, null, "accumulate", function(){console.log("SAVED ARCHIVES");});
     238                gs.functions.setArchivesMetadata(collection, "localsite" /*bad*/, docID, name, null, changedElem.innerHTML, null, "accumulate", function(){console.log("SAVED ARCHIVES");});
    229239            }
    230240            changedElem.originalValue = changedElem.innerHTML;
    231             addCollectionToBuild(gs.cgiParams.p_c);
     241            addCollectionToBuild(collection);
    232242        }
    233243        //Save content
     
    628638    metaNameField.setAttribute("type", "text");
    629639    insertAfter(metaNameField, table);
     640    table.metaNameField = metaNameField;
    630641   
    631642    var addRowButton = document.createElement("BUTTON");
     
    661672        de.doc.registerEditSection(valueCell);
    662673    };
     674    table.addRowButton = addRowButton;
    663675    insertAfter(addRowButton, metaNameField);
    664676}
  • main/trunk/greenstone3/web/interfaces/oran/transform/pages/document.xsl

    r25142 r25143  
    9999            </tr></table>
    100100           
    101             <div id="doc{@nodeID}" class="sectionContainer" style="display:block;"><!-- *** -->
    102                 <xsl:if test="/page/pageRequest/paramList/param[@name = 'dmd']/@value = 'true'">
     101            <div id="doc{@nodeID}" class="sectionContainer"><!-- *** -->
     102                <xsl:if test="/page/pageRequest/paramList/param[@name = 'documentbasket']/@value = 'on'">
    103103                    <table id="meta{@nodeID}">
     104                        <xsl:attribute name="style">
     105                            <xsl:choose>
     106                                <xsl:when test="/page/pageRequest/paramList/param[@name = 'dmd']/@value = 'true'">
     107                                    <xsl:text>display:block;</xsl:text>
     108                                </xsl:when>
     109                                <xsl:otherwise>
     110                                    <xsl:text>display:none;</xsl:text>
     111                                </xsl:otherwise>
     112                            </xsl:choose>
     113                        </xsl:attribute>
    104114                        <xsl:value-of select="util:clearMetadataStorage()"/>
    105115                        <xsl:for-each select="metadataList/metadata">
     
    132142        </xsl:if>
    133143       
    134         <xsl:if test="/page/pageRequest/paramList/param[@name = 'dmd']/@value = 'true'">
     144        <xsl:if test="/page/pageRequest/paramList/param[@name = 'documentbasket']/@value = 'on'">
    135145            <gsf:metadata name="all"/>
    136146        </xsl:if>
Note: See TracChangeset for help on using the changeset viewer.