Changeset 29978


Ignore:
Timestamp:
2015-06-11T02:21:52+12:00 (9 years ago)
Author:
Georgiy Litvinov
Message:

Fix for web editor. Moved to textarea for metadata fields.

Location:
main/trunk/greenstone3/web/interfaces/default
Files:
4 edited

Legend:

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

    r29931 r29978  
    10891089function addEditableState(editable,stateArray)
    10901090{
     1091    if(editable.tagName == 'TEXTAREA')
     1092    {
     1093        nodeText = editable.value;
     1094    } 
     1095    else
     1096    {
     1097        nodeText = editable.innerHTML;
     1098    }
     1099
    10911100        stateArray.push({
    10921101                editableNode : editable,
    1093                 initHTML : editable.innerHTML
     1102                initHTML : nodeText
    10941103        });
    10951104}
     
    10991108    editableLastStates = [];
    11001109        $(".sectionText").each(function(){addEditableState(this,editableLastStates);});
    1101         $(".metaTableCell").each(function(){addEditableState(this,editableLastStates);});
     1110        $(".metaTableCellArea").each(function(){addEditableState(this,editableLastStates);});
    11021111
    11031112}
  • main/trunk/greenstone3/web/interfaces/default/js/documentmaker_scripts_util.js

    r29861 r29978  
    296296      var name = nameCell.innerHTML;
    297297      var valueCell = cells[1];
    298       var value = valueCell.innerHTML;
     298      var value = valueCell.getElementsByTagName("TEXTAREA")[0].value;
    299299      metadataChanges.push({type:'delete', docID:docID, name:name, value:value});
    300300      removeFromParent(currentRow);
     
    308308    {
    309309        var changedElem = changes[i];
    310        
    311310        //Save metadata     
    312         if(gs.functions.hasClass(changedElem, "metaTableCell"))
     311        if(gs.functions.hasClass(changedElem, "metaTableCellArea"))
    313312        {
    314313            //Get document ID
     
    318317
    319318            //Get metadata name
    320             var row = changedElem.parentNode;
     319            var row = changedElem.parentNode.parentNode;
    321320            var cells = row.getElementsByTagName("TD");
    322321            var nameCell = cells[0];
    323322            var name = nameCell.innerHTML;
    324             var value = changedElem.innerHTML;
     323            var value = changedElem.value;
    325324            value = value.replace(/ /g, " ");
    326325
     
    330329            }
    331330            metadataChanges.push({collection:collection, docID:docID, name:name, value:value, orig:orig});
    332             changedElem.originalValue = changedElem.innerHTML;
     331            changedElem.originalValue = changedElem.value;
    333332            addCollectionToBuild(collection);
    334333        }
     
    720719{
    721720    //This registering can cause a sizeable delay so we'll thread it (effectively) so the browser is not paused
    722     cell.originalValue = cell.innerHTML;
     721    cell.originalValue = cell.value;
    723722    setTimeout(function(){addEditableState(cell, editableInitStates)}, 0);
    724723}
     
    793792        }
    794793           
    795         asyncRegisterEditSection(cells[1]);
     794        asyncRegisterEditSection(cells[1].getElementsByTagName("textarea")[0]);
    796795        addRemoveLinkToRow(this);
    797796    });
     
    812811        }
    813812       
    814         var newRow = $("<tr>");
     813        var newRow = $("<tr>", {"style": "display: table-row;"});
    815814        var nameCell = $("<td>" + name + "</td>");
    816815        nameCell.attr("class", "metaTableCellName");
    817         var valueCell = $("<td>", {"class": "metaTableCell"});
    818         valueCell.attr("contenteditable","true");
    819        
     816        var valueCell = $("<td>", {"class": "metaTableCell"}); 
     817        var textValue = $("<textarea>", {"class": "metaTableCellArea"});
     818        valueCell.append(textValue);
    820819        newRow.append(nameCell);
    821820        newRow.append(valueCell);
  • main/trunk/greenstone3/web/interfaces/default/style/core.css

    r28544 r29978  
    489489#resultsTable .shelf>a { background-image: url('../images/bookshelf.png'); }
    490490
     491.metaTableCell { border: 1;}
     492.metaTableCellArea {
     493    border: none;
     494    resize: none;
     495    outline: none;
     496    overflow: auto;
     497    width: 400px;
     498    -webkit-box-sizing: border-box;
     499    -moz-box-sizing: border-box;
     500    box-sizing: border-box;
     501}
    491502/* corners of the banner */
    492503/*
  • main/trunk/greenstone3/web/interfaces/default/transform/pages/document.xsl

    r29861 r29978  
    207207                            <tr>
    208208                                <td class="metaTableCellName"><xsl:value-of select="@name"/></td>
    209                                 <td class="metaTableCell" contenteditable="true"><xsl:value-of select="."/></td>
     209                                <td class="metaTableCell"> <textarea autocomplete="off" class="metaTableCellArea"><xsl:value-of select="."/></textarea></td>
    210210                            </tr>
    211211                        </xsl:if>
Note: See TracChangeset for help on using the changeset viewer.