Changeset 29861 for main/trunk/greenstone3/web/interfaces/default
- Timestamp:
- 2015-05-11T06:51:55+12:00 (9 years ago)
- Location:
- main/trunk/greenstone3/web/interfaces/default
- Files:
-
- 54 added
- 5 edited
- 156 moved
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/web/interfaces/default/js/document_scripts.js
r29320 r29861 14 14 var rebuild_button_text = "Rebuild"; 15 15 var save_and_rebuild_button_text = "Save and Rebuild"; 16 17 /*Array to store init states of metadata fields and text*/ 18 var editableInitStates = new Array(); 19 /*Array to store last states of metadata fields and text*/ 20 var editableLastStates = new Array(); 16 21 17 22 /* What kind of metadata element selection do we provide? … … 1080 1085 1081 1086 /************************ 1087 * CHANGES SCRIPTS * 1088 ************************/ 1089 function addEditableState(editable,stateArray) 1090 { 1091 stateArray.push({ 1092 editableNode : editable, 1093 initHTML : editable.innerHTML 1094 }); 1095 } 1096 1097 function getLastEditableStates() 1098 { 1099 editableLastStates = []; 1100 $(".sectionText").each(function(){addEditableState(this,editableLastStates);}); 1101 $(".metaTableCell").each(function(){addEditableState(this,editableLastStates);}); 1102 1103 } 1104 1105 function 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 1119 function 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 /************************ 1082 1131 * METADATA EDIT SCRIPTS * 1083 1132 ************************/ … … 1197 1246 1198 1247 $("#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 1202 1251 var editBar = $("#editBarLeft"); 1203 1252 -
main/trunk/greenstone3/web/interfaces/default/js/documentmaker_scripts.js
r25544 r29861 212 212 213 213 //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); 215 215 216 216 renderedDiv.appendChild(textDiv); -
main/trunk/greenstone3/web/interfaces/default/js/documentmaker_scripts_util.js
r29499 r29861 302 302 } 303 303 304 var changes = de.Changes.getChangedEditableSections(); 304 var changes = changesToUpdate(); 305 //Clean changes 306 editableInitStates = editableLastStates; 305 307 for(var i = 0; i < changes.length; i++) 306 308 { … … 385 387 386 388 /* need to clear the changes from the page so that we don't process them again next time */ 387 de.Changes.clear();388 389 while (_deletedMetadata.length>0) { 389 390 _deletedMetadata.pop(); … … 720 721 //This registering can cause a sizeable delay so we'll thread it (effectively) so the browser is not paused 721 722 cell.originalValue = cell.innerHTML; 722 setTimeout(function(){ de.doc.registerEditSection(cell)}, 0);723 setTimeout(function(){addEditableState(cell, editableInitStates)}, 0); 723 724 } 724 725 … … 815 816 nameCell.attr("class", "metaTableCellName"); 816 817 var valueCell = $("<td>", {"class": "metaTableCell"}); 818 valueCell.attr("contenteditable","true"); 817 819 818 820 newRow.append(nameCell); … … 827 829 _undoOperations.push(undo); 828 830 829 //Threading this function here probably isn't necessary like the other times it is called830 de.doc.registerEditSection(valueCell[0]);831 831 }); 832 832 table.addRowButton = addRowButton; -
main/trunk/greenstone3/web/interfaces/default/transform/layouts/header.xsl
r29554 r29861 92 92 <xsl:if test="/page/pageRequest/userInformation and /page/pageRequest/userInformation/@editEnabled = 'true' and (util:contains(/page/pageRequest/userInformation/@groups, 'administrator') or util:contains(/page/pageRequest/userInformation/@groups, 'all-collections-editor') or util:contains(/page/pageRequest/userInformation/@groups, $thisCollectionEditor))"> 93 93 <xsl:if test="/page/pageRequest/paramList/param[(@name='docEdit') and (@value='on' or @value='true' or @value='1')]"> 94 <script type="text/javascript" src="interfaces/{$interface_name}/js/ direct-edit.js"><xsl:text> </xsl:text></script>95 <xsl:call-template name="init-direct-edit"/>94 <script type="text/javascript" src="interfaces/{$interface_name}/js/ckeditor/ckeditor.js" defer="true"><xsl:text> </xsl:text></script> 95 <!-- <xsl:call-template name="init-direct-edit"/> --> 96 96 </xsl:if> 97 97 <script type="text/javascript" src="interfaces/{$interface_name}/js/debug_scripts.js"><xsl:text> </xsl:text></script> … … 120 120 <xsl:template name="additionalHeaderContent-collection"> 121 121 </xsl:template> 122 122 <!-- 123 123 <xsl:template name="init-direct-edit"> 124 124 <script type="text/javascript"> … … 137 137 </xsl:text> 138 138 </script> 139 </xsl:template> 139 </xsl:template> 140 --> 140 141 141 142 <!-- ***** HEADER LAYOUT TEMPLATE ***** --> -
main/trunk/greenstone3/web/interfaces/default/transform/pages/document.xsl
r29755 r29861 88 88 89 89 <xsl:template name="wrappedSectionText"> 90 <div id="text{@nodeID}" class="sectionText"><!-- *** --> 90 <br /><br /> 91 <div id="text{@nodeID}" contenteditable="true" class="sectionText"><!-- *** --> 91 92 <xsl:attribute name="style"> 92 93 <xsl:choose> … … 206 207 <tr> 207 208 <td class="metaTableCellName"><xsl:value-of select="@name"/></td> 208 <td class="metaTableCell" ><xsl:value-of select="."/></td>209 <td class="metaTableCell" contenteditable="true"><xsl:value-of select="."/></td> 209 210 </tr> 210 211 </xsl:if>
Note:
See TracChangeset
for help on using the changeset viewer.