r1288 - xwiki-sandbox/formeditor

Nebojsa Miletic mileticn at users.forge.objectweb.org
Wed Sep 6 18:08:14 CEST 2006


Author: mileticn
Date: 2006-09-06 18:08:14 +0200 (Wed, 06 Sep 2006)
New Revision: 1288

Added:
   xwiki-sandbox/formeditor/scriptaculous.js
Modified:
   xwiki-sandbox/formeditor/editBoxFunctions.js
   xwiki-sandbox/formeditor/getters.js
   xwiki-sandbox/formeditor/main.js
   xwiki-sandbox/formeditor/styles.css
Log:
Version for the SoC deadline.

Modified: xwiki-sandbox/formeditor/editBoxFunctions.js
===================================================================
--- xwiki-sandbox/formeditor/editBoxFunctions.js	2006-09-06 09:05:23 UTC (rev 1287)
+++ xwiki-sandbox/formeditor/editBoxFunctions.js	2006-09-06 16:08:14 UTC (rev 1288)
@@ -17,11 +17,11 @@
 }
 
 function updateFieldSettings(cell) {
-	if (cell.firstChild == null || cell.firstChild.fieldModel == null)
-		return;
 	var fieldSettings = $('fieldSettings');
 	var tbdFieldSettings = $('tbdFieldSettings');
 	tbdFieldSettings.innerHTML = '';
+	if (cell.firstChild == null || cell.firstChild.fieldModel == null)
+		return;
 	var fieldModel = cell.firstChild.fieldModel;
 	for (var prop in fieldModel) {
 		if (prop == 'type')
@@ -74,19 +74,19 @@
 	if (getFieldFromCell(cell) == null) {
 		$('editDeleteField').style.display = 'none';
 		$('editCellText').style.display = '';
-		$('editCellTextInput').value = getTextFromCell(selectedCell);
+		$('editCellTextInput').value = getTextFromCell(cell);
 	}
 	else {
 		$('editDeleteField').style.display = '';
 		$('editCellText').style.display = 'none';
 	}
 	
-	if (selectedCell.nextSibling == null)
+	if (cell.nextSibling == null)
 		$('editSpanCell').style.display = 'none';
 	else
 		$('editSpanCell').style.display = '';
 	
-	if (selectedCell.isSpanned) {
+	if (cell.isSpanned) {
 //		$('editSpanCell').style.display = 'none';
 		$('editSplitCell').style.display = '';
 	}
@@ -111,8 +111,11 @@
 function addSeparator() {
 	if (selectedCell == null)
 		return;
-		
-	var row = selectedCell.parentNode;
+	addSeparatorForGivenCell(selectedCell);
+}
+
+function addSeparatorForGivenCell(cell) {
+	var row = cell.parentNode;
 	var hr = document.createElement("hr");
 	hr.style.cssFloat = "left";
 	hr.style.width = "100%";
@@ -123,7 +126,8 @@
 		row.parentNode.appendChild(hr);
 	}
 
-	updateEditingFields(selectedCell);
+	updateEditingFields(cell);
+	
 }
 
 function removeSeparator() {
@@ -152,6 +156,9 @@
 	par.removeChild(c2);
 	c1.style.width = parseFloat(c1.style.width) + parseFloat(c2.style.width) + "%";
 	c1.isSpanned = true;
+	if (c1.spannedCount == null)
+		c1.spannedCount = 1;
+	c1.spannedCount++;
 
 	updateEditingFields(cell);
 }
@@ -188,6 +195,7 @@
 		selectedCell.isSpanned = true;
 	else
 		selectedCell.isSpanned = false;
+	selectedCell.spannedCount--;
 
 	updateEditingFields(selectedCell);
 }
@@ -201,3 +209,104 @@
 	updateEditingFields(selectedCell);
 }
 
+
+function addRow() {
+	if (selectedCell == null)
+		return;
+	var group = getGroupFromCell(selectedCell);
+	var table = getTableFromGroup(group);
+	var colsCount = table.colsCount;
+	var rowsCount = table.rowsCount;
+	var row = getRowFromCell(selectedCell);
+
+	var divRow = document.createElement("div");
+	divRow.className = "divRow";
+	divRow.style.cssFloat = "";
+	divRow.style.border = "none";
+	divRow.style.width = "100%";
+	divRow.style.padding = "0px";
+	divRow.style.margin = "1px";
+	if (row.nextSibling == null)
+		table.appendChild(divRow);
+	else
+		table.insertBefore(divRow, row.nextSibling);
+	for (var j = 0; j < colsCount; j++) {
+		var d = document.createElement("div");
+		d.id = ++cellCounter;
+		d.className = "divCell";
+		d.style.height = "95%"
+		d.style.width = Number(100 / colsCount * 0.98) + "%";
+		d.style.margin = "0px";
+		d.spannedCount = 1;
+		divRow.appendChild(d);
+		Droppables.add(d, {accept: ['fieldContainer', 'newFieldContainer'], onDrop: onFieldDrop, hoverclass: "divCellHover"})
+		d.onclick = selectCell;
+	}
+	table.rowsCount++;
+}
+
+function addColumn() {
+	if (selectedCell == null)
+		return;
+	var group = getGroupFromCell(selectedCell);
+	var table = getTableFromGroup(group);
+	var colsCount = table.colsCount;
+	colsCount++;
+	var rowsCount = table.rowsCount;
+	var row = getRowFromCell(selectedCell);
+	// nadji mesto celije u redu
+	var cellIndex = 0;
+	for (var el = row.firstChild; el != null && el != selectedCell; el = el.nextSibling) {
+		if (el.className == 'divCell')
+			cellIndex++;
+	}
+	var rows = document.getElementsByClassName('divRow', table);
+	table.style.width = Number(colsCount * cellWidth) + "px";
+
+	for (var i = 0; i < rows.length; i++) {
+		var cells = document.getElementsByClassName('divCell', rows[i]);
+		for (var j = 0; j < cells.length; j++) {
+			cells[j].style.width = Number(cells[j].spannedCount * (100 / colsCount * 0.98)) + "%";
+		}
+		var d = document.createElement("div");
+		d.id = ++cellCounter;
+		d.className = "divCell";
+		d.style.height = "95%"
+		d.style.width = Number(100 / colsCount * 0.98) + "%";
+		d.style.margin = "0px";
+		d.spannedCount = 1;
+		rows[i].appendChild(d);
+		Droppables.add(d, {accept: ['fieldContainer', 'newFieldContainer'], onDrop: onFieldDrop, hoverclass: "divCellHover"})
+		d.onclick = selectCell;
+		if (cellIndex == colsCount-1) {
+			rows[i].appendChild(d);
+		}
+		else {
+			rows[i].insertBefore(d, cells[cellIndex+1])
+		}
+	}
+	table.colsCount++;	
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Modified: xwiki-sandbox/formeditor/getters.js
===================================================================
--- xwiki-sandbox/formeditor/getters.js	2006-09-06 09:05:23 UTC (rev 1287)
+++ xwiki-sandbox/formeditor/getters.js	2006-09-06 16:08:14 UTC (rev 1288)
@@ -16,25 +16,22 @@
 }
 
 function getPresentationTextObjectFromGroup(group) {
-	var divs = group.getElementsByTagName('div');
-	for (var i = 0; i < divs.length; i++) {
-		if (divs[i].className == 'groupPresentationText') {
-			var div = divs[i];
-			break;
-		}
-	}
+	if (group.firstChild.nodeName == '#text')
+		var div = group.firstChild;
 	return div;
 }
 
 function getPresentationTextFromGroup(group) {
-	var divs = group.getElementsByTagName('div');
-	for (var i = 0; i < divs.length; i++) {
-		if (divs[i].className == 'groupPresentationText') {
-			var div = divs[i];
-			break;
-		}
-	}
-	return div.innerHTML;
+	var obj = getPresentationTextObjectFromGroup(group);
+	return obj.data;
+//	var divs = group.getElementsByTagName('div');
+//	for (var i = 0; i < divs.length; i++) {
+//		if (divs[i].className == 'groupPresentationText') {
+//			var div = divs[i];
+//			break;
+//		}
+//	}
+//	return div.innerHTML;
 }
 
 function getColsCountFromRow(row) {
@@ -100,7 +97,7 @@
 function setGroupPresentationText() {
 	var group = getGroupFromCell(selectedCell);
 	var presTextDiv = getPresentationTextObjectFromGroup(group);
-	presTextDiv.innerHTML = $("editPresentationTextInput").value;
+	presTextDiv.data = $("editPresentationTextInput").value;
 
 	updateEditingFields(selectedCell);
 }

Modified: xwiki-sandbox/formeditor/main.js
===================================================================
--- xwiki-sandbox/formeditor/main.js	2006-09-06 09:05:23 UTC (rev 1287)
+++ xwiki-sandbox/formeditor/main.js	2006-09-06 16:08:14 UTC (rev 1288)
@@ -3,13 +3,17 @@
 var selectedCell;
 var cellWidth;
 var newFieldsCounter;
-
-function init(availableFields, xWikiClassName) {
+var descriptor;
+var inputForm;
+function init(availableFields, xWikiClassName, oldForm, inputDescriptor) {
 	cellCounter = 0;
 	groupsCounter = 0;
 	selectedCell = null;
 	cellWidth = 140;
 	newFieldsCounter = 0;
+	descriptor = inputDescriptor;
+	inputForm = oldForm;
+	
 
 	var fieldContainers = document.getElementsByClassName('fieldContainer');
 	$("fields").xWikiClassName = xWikiClassName;
@@ -25,7 +29,7 @@
 			if (availableFields.length <= fieldsCellCounter)
 				break;
 			var td = document.createElement('td');
-			td.style.width = 100;
+			td.style.width = "100px";
 			var d = document.createElement('div');
 			d.className = 'fieldContainer';
 			d.draggable = new Draggable(d, {revert: true});
@@ -39,11 +43,12 @@
 			d.fieldType = availableFields[fieldsCellCounter].type;
 			d.fieldName = availableFields[fieldsCellCounter].name;
 			d.fieldPrettyName = availableFields[fieldsCellCounter].prettyName;
+			d.id = d.fieldName + "|" + d.isPrettyName;
 			td.appendChild(d);
 			trw.appendChild(td);
 
 			var td = document.createElement('td');
-			td.style.width = 100;
+			td.style.width = "100px";
 			var d = document.createElement('div');
 			d.className = 'fieldContainer';
 			d.draggable = new Draggable(d, {revert: true});
@@ -53,14 +58,22 @@
 			d.appendChild(document.createElement('br'));
 			d.appendChild(document.createTextNode(availableFields[fieldsCellCounter].name))
 			d.fieldModel = availableFields[fieldsCellCounter].fieldModel;
+			d.isPrettyName = false;
 			d.fieldType = availableFields[fieldsCellCounter].type;
 			d.fieldName = availableFields[fieldsCellCounter].name;
 			d.fieldPrettyName = availableFields[fieldsCellCounter].prettyName;
+			d.id = d.fieldName + "|" + d.isPrettyName;
 			td.appendChild(d);
 			trw.appendChild(td);
 			
 			fieldsCellCounter++;
 		}
+		Droppables.add(tbdFields, {accept: ['fieldContainer'], 
+									onDrop: function(droppedElement) {
+										if (droppedElement.parentNode.className == 'divCell')
+											emptyCell();
+									}
+								  });
 	}
 
 	var arrNewFields = [{type: 'String'},
@@ -83,7 +96,7 @@
 			if (arrNewFields.length <= fieldsCellCounter)
 				break;
 			var td = document.createElement('td');
-			td.style.width = 100;
+			td.style.width = "100px";
 			var d = document.createElement('div');
 			d.className = 'newFieldContainer';
 			d.draggable = new Draggable(d, {revert: true});
@@ -95,6 +108,17 @@
 			fieldsCellCounter++;
 		}
 	}
+
+	if (oldForm != null) {
+		var versionNum = inputForm.getElementsByTagName('version')[0].innerHTML;
+		if (parseFloat(versionNum) == parseFloat(descriptor.version)) {
+			loadForm();
+		}
+		else {
+			alert("IMPORTANT! The form you wish to edit has been changed outside the XWiki FormEditor.\n \
+					Any saving of the form from the FormEditor will create new version of the form and outer changes will be deleted.");
+		}
+	}
 }
 
 function displayParams() {
@@ -106,10 +130,8 @@
 	$('div' + val + 'Properties').style.display = 'inline';
 }
 
-function createTable() {
+function createTable(colsCount, rowsCount) {
 	var divForm = $("divForm");
-	var colsCount = parseInt($("colsCount").value);
-	var rowsCount = parseInt($("rowsCount").value);
 	if (colsCount > 6) {
 		alert('Too many columns!')
 		return;
@@ -122,27 +144,27 @@
 	rowsCount = rowsCount == "" ? 1 : rowsCount;
 
 	var divGroup = document.createElement("div");
-	var divPresText = document.createElement("div");
+	var divPresText = document.createTextNode("New presentation text");
 	var fstTable = document.createElement("fieldset");
 	var title = document.createElement("legend");
 	var divTable = document.createElement("div");
 	divTable.colsCount = colsCount;
 	divTable.rowsCount = rowsCount;
 
-	divGroup.appendChild(document.createElement("hr"));
+//	divGroup.appendChild(document.createElement("hr"));
 	fstTable.appendChild(title);
 	fstTable.appendChild(divTable);
 	divGroup.appendChild(divPresText);
 	divGroup.appendChild(fstTable);
 
 	divGroup.className = "group";
-	divPresText.className = "groupPresentationText";
+//	divPresText.className = "groupPresentationText";
 	fstTable.className = "fstTable";
 	title.className = "groupTitle";
 	divTable.className = "divTable";
 
 	title.innerHTML = "New Group " + groupsCounter++;
-	divPresText.innerHTML = "New presentation text";
+//	divPresText.innerHTML = "New presentation text";
 
 	divForm.appendChild(divGroup);
 	divTable.style.width = Number(colsCount * cellWidth) + "px";
@@ -164,14 +186,17 @@
 			d.style.height = "95%"
 			d.style.width = Number(100 / colsCount * 0.98) + "%";
 			d.style.margin = "0px";
+			d.spannedCount = 1;
 			divRow.appendChild(d);
 			Droppables.add(d, {accept: ['fieldContainer', 'newFieldContainer'], onDrop: onFieldDrop, hoverclass: "divCellHover"})
 			d.onclick = selectCell;
 		}
 	}
+	divGroup.appendChild(document.createElement('br'));
 	$('velocityZone').style.display = 'none';
 	$('previewForm').style.display = 'none';
 	$('divForm').style.display = 'inline';
+	return divGroup;
 }
 
 function onFieldDrop(droppedElement, cell) {
@@ -206,21 +231,20 @@
 	}
 	
 	if (droppedElement.className == 'fieldContainer') {
-		if (droppedElement.fieldModel.size > 15 
-			|| (droppedElement.fieldModel.cols != null 
-				&& droppedElement.fieldModel.cols > 15)
-			&& !cell.isSpanned) {
-			alert('This field is bigger than the selected cell.\n Please increase the cell size by spanning.')
-			return;
-//			selectGivenCell(cell);
-//			spanGivenCell(cell);
-		}
+//		if (droppedElement.fieldModel.size > 15 
+//			|| (droppedElement.fieldModel.cols != null 
+//				&& droppedElement.fieldModel.cols > 15)
+//			&& !cell.isSpanned) {
+//			alert('This field is bigger than the selected cell.\n Please increase the cell size by spanning.')
+//			return;
+////			selectGivenCell(cell);
+////			spanGivenCell(cell);
+//		}
 		var tmp = document.createElement('img');
 		tmp.className = 'fieldContainer';
 		tmp.src = droppedElement.firstChild.src;
 		cell.isOccupied = true;
 		cell.innerHTML = '';
-//		cell.appendChild(tmp);
 		// pomera polje iz fields boxa
 		if (droppedElement.parentNode != null) {
 			droppedElement.parentNode.isOccupied = false;
@@ -311,14 +335,14 @@
 	var groups = document.getElementsByClassName('group');
 	var titles = document.getElementsByClassName('groupTitle');
 	var tmpdivs = document.getElementsByTagName('div');
-	var presTexts = [];
-	var presTexts = document.getElementsByClassName('groupPresentationText');
+//	var presTexts = [];
+//	var presTexts = document.getElementsByClassName('groupPresentationText');
 	var tables = document.getElementsByClassName('divTable');
 
 	for (var i = 0; i < groups.length; i++) {
 		var group = groups[i];
 		var divGroup = document.createElement("div");
-		var divPresText = document.createElement("div");
+		var divPresText = document.createTextNode('');
 		var fstTable = document.createElement("fieldset");
 		var title = document.createElement("legend");
 		var divTable = document.createElement("table");
@@ -372,9 +396,10 @@
 		divGroup.appendChild(fstTable);
 
 		title.innerHTML = titles[i].innerHTML;
-		divPresText.innerHTML = presTexts[i].innerHTML;
+		divPresText.data = getPresentationTextFromGroup(groups[i]);
+//		divPresText.innerHTML = presTexts[i].innerHTML;
 
-		divPreview.appendChild(document.createElement("hr"));
+//		divPreview.appendChild(document.createElement("hr"));
 		divPreview.appendChild(divGroup);
 	}
 	$('velocityZone').style.display = 'none';
@@ -446,7 +471,7 @@
 
 	var groups = document.getElementsByClassName('group');
 	var titles = document.getElementsByClassName('groupTitle');
-	var presTexts = document.getElementsByClassName('groupPresentationText');
+//	var presTexts = document.getElementsByClassName('groupPresentationText');
 	var tables = document.getElementsByClassName('divTable');
 	$('velocityCode').innerHTML = '';
 	var s = '';
@@ -456,11 +481,25 @@
 	s += '\n';
 	s += '#set($class = $xwiki.getDocument($classname).xWikiClass)';
 	s += '\n';
+	
+	s += '<div id="formVariables" style="display: none" >';
+	s += '\n';
+	var vers = String(descriptor.version);
+	var ind1 = vers.indexOf('.') + 1;
+	var vers1 = vers.substring(0, ind1);
+	vers = vers.substring(ind1);
+	vers = parseInt(vers) + 1;
+	vers = vers1 + vers;
+	s += '<version>' + vers + '</version>'
+	s += '\n';
+	s += '</div>';
+	s += '\n';
+	
 	for (var i = 0; i < groups.length; i++) {
 		s += '\n';
 		s += '<hr>';
 		s += '\n';
-		s += '<div>' + presTexts[i].innerHTML + '</div>'; // divPresText, end divPresText
+		s += getPresentationTextFromGroup(groups[i]); // divPresText, end divPresText
 		s += '\n';
 		var group = groups[i];
 		s += '<fieldset style="width: 0px">'; //fstTable
@@ -518,6 +557,8 @@
 	$('velocityZone').style.display = 'inline';
 	$('previewForm').style.display = 'none';
 	$('divForm').style.display = 'none';
+	
+//	generateFormModel();
 }
 
 function viewMode() {
@@ -560,4 +601,149 @@
 		tds[tds.length-1].parentNode.appendChild(td);
 	}
 	return true;
+}
+
+function generateFormModel() {
+	var velocityZone = $('velocityZone');
+//	if (velocityZone.style.display != 'none')
+//		return;
+
+	var groups = document.getElementsByClassName('group');
+	var titles = document.getElementsByClassName('groupTitle');
+	var presTexts = document.getElementsByClassName('groupPresentationText');
+	var tables = document.getElementsByClassName('divTable');
+	var s = '';
+	s += 'XWikiClassName:"' + $('fields').xWikiClassName + '"';
+	s += '\n';
+	for (var i = 0; i < groups.length; i++) {
+		s += '\n';
+		s += 'Horizontal break width: null';
+		s += '\n';
+		s += 'Presentation Text: "' + presTexts[i].innerHTML + '"'; // divPresText, end divPresText
+		s += '\n';
+		var group = groups[i];
+		s += 'Fieldset'; //fstTable
+		s += '\n';
+		s += 'Title text: "' + titles[i].innerHTML + '"'; // title, end title
+		s += '\n';
+		s += 'Table width: "' + Number(tables[i].colsCount * cellWidth) + '"'; // divTable
+		s += '\n';
+
+		var tmpDivs = tables[i].getElementsByTagName('div');
+		var rows = [];
+		for (var j = 0; j < tmpDivs.length; j++) {
+			if (tmpDivs[j].parentNode == tables[i])
+			rows.push(tmpDivs[j]);
+		}
+
+		for (var j = 0; j < rows.length; j++) {
+			s += 'Table row height: "' + rows[j].offsetHeight + '"'; // trw
+			s += '\n';
+			if (rows[j].nextSibling != null && rows[j].nextSibling.nodeName == "HR") {
+				s += 'Horizontal break width: "' + Number(tables[i].colsCount * 100) + '"'
+				s += '\n';
+			}
+			for (var k = 0; k < rows[j].childNodes.length; k++) {
+				var defaultWidth = 100 / tables[i].colsCount;
+				var tmpCellWidth = parseInt(rows[j].childNodes[k].style.width);
+				var colspan = Math.ceil(tmpCellWidth / defaultWidth);
+				s += 'Table cell colspan=: "' + colspan + '"'; // td
+				s += '\n';
+				if (rows[j].childNodes[k].isOccupied) {
+					if (rows[j].childNodes[k].firstChild.fieldType == "TextLabel") {
+						s += 'Pretty name: "' + rows[j].childNodes[k].firstChild.fieldName + '"'
+					}
+					else {
+						s += 'Field: "' + rows[j].childNodes[k].firstChild.fieldName + '"';
+					}
+				}
+				else {
+					s += rows[j].childNodes[k].innerHTML;
+				}
+				s += '\n';
+//				s += '</td>'; // end td
+	//			s += '\n';
+			}
+		//	s += "</tr>" // end trw
+			//s += '\n';
+		}
+
+//		s += '</tbody></table>'
+	//	s += '\n';
+		//s += '</fieldset>'; // end fstTable
+		s += '\n';
+	}
+	s += '\n';
+	alert(s);
+
+	$('velocityZone').style.display = 'inline';
+	$('previewForm').style.display = 'none';
+	$('divForm').style.display = 'none';
+}
+
+function loadForm() {
+	var groups = inputForm.getElementsByTagName('fieldset');
+	for (var i = 0; i < groups.length; i++) {
+		var trs = groups[i].getElementsByTagName('tr');
+		var maxTds = 0;
+		for (var j = 0; j < trs.length; j++) {
+			var tds = trs[j].getElementsByTagName('td');
+			var colspan = 0;
+			for (var k = 0; k < tds.length; k++) {
+				colspan += parseInt(tds[k].getAttribute('colspan'));
+			}
+			if (colspan > maxTds)
+				maxTds = colspan;
+		}
+		var divGroup = createTable(maxTds, trs.length);
+		var trs = groups[i].getElementsByTagName('tr');
+		for (var j = 0; j < trs.length; j++) {
+			if (trs[j].getElementsByTagName('hr').length != 0) {
+				var hrs = trs[j].getElementsByTagName('hr');
+				for (var k = 0; k < hrs.length; k++) {
+					var cellId = j * maxTds  + 1;
+					var cell = $(cellId.toString());
+					addSeparatorForGivenCell(cell);
+				}
+			}
+			var tds = trs[j].getElementsByTagName('td');
+			var prevColspan = 0;
+			for (var k = 0; k < tds.length; k++) {
+				var cellId = j * maxTds + k + 1 + prevColspan;
+				var cell = $(cellId.toString());
+				var html = tds[k].innerHTML;
+				var colspan = parseInt(tds[k].getAttribute('colspan'));
+				if (colspan > 1) {
+					for (var a = 1; a < colspan; a++) {
+						spanGivenCell(cell);
+					}
+					prevColspan = colspan - 1;
+				}
+				if (html == null || html == '' ) 
+					continue;
+				var ind1 = html.indexOf('("') + 2;
+				var ind2 = html.indexOf('")');
+				var name = html.substring(ind1, ind2);
+				if (html.indexOf('$doc') == -1) {
+					// pretty name
+					var id = name + "|" + "true";
+					var field = $(id);
+				}
+				else {
+					// field
+					var id = name + "|" + "false";
+					var field = $(id);
+				}
+				onFieldDrop(field, cell);
+			}
+		}
+	}
+}
+
+function mouseOverEditBoxField(evt) {
+	evt.target.className = 'editingTextHover';
+}
+
+function mouseOutEditBoxField(evt) {
+	evt.target.className = 'editingText';
 }
\ No newline at end of file

Added: xwiki-sandbox/formeditor/scriptaculous.js
===================================================================
--- xwiki-sandbox/formeditor/scriptaculous.js	2006-09-06 09:05:23 UTC (rev 1287)
+++ xwiki-sandbox/formeditor/scriptaculous.js	2006-09-06 16:08:14 UTC (rev 1288)
@@ -0,0 +1,47 @@
+// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+// 
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+var Scriptaculous = {
+  Version: '1.6.1',
+  require: function(libraryName) {
+    // inserting via DOM fails in Safari 2.0, so brute force approach
+    document.write('<script type="text/javascript" src="'+libraryName+'"></script>');
+  },
+  load: function() {
+    if((typeof Prototype=='undefined') || 
+       (typeof Element == 'undefined') || 
+       (typeof Element.Methods=='undefined') ||
+       parseFloat(Prototype.Version.split(".")[0] + "." +
+                  Prototype.Version.split(".")[1]) < 1.5)
+       throw("script.aculo.us requires the Prototype JavaScript framework >= 1.5.0");
+    
+    $A(document.getElementsByTagName("script")).findAll( function(s) {
+      return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))
+    }).each( function(s) {
+      var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,'');
+      var includes = s.src.match(/\?.*load=([a-z,]*)/);
+      (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider').split(',').each(
+       function(include) { Scriptaculous.require(path+include+'.js') });
+    });
+  }
+}
+
+Scriptaculous.load();
\ No newline at end of file

Modified: xwiki-sandbox/formeditor/styles.css
===================================================================
--- xwiki-sandbox/formeditor/styles.css	2006-09-06 09:05:23 UTC (rev 1287)
+++ xwiki-sandbox/formeditor/styles.css	2006-09-06 16:08:14 UTC (rev 1288)
@@ -1,8 +1,8 @@
 .rightBoxes {
-	float: left;
+/*	float: left; */
 	width: 230px;
 	background-color: white;
-	margin-left: -185px;
+/*	margin-left: -185px; */
 }
 
 .fieldContainer {
@@ -53,6 +53,11 @@
 	color: black;
 	text-decoration: none;
 }
+.editingTextHover{
+	color: black;
+	text-decoration: none;
+	cursor: pointer;
+}
 .editingFields {
 }
 .settingsFields {





More information about the Xwiki-notifications mailing list