r1264 - xwiki-sandbox/formeditor
Nebojsa Miletic
mileticn at users.forge.objectweb.org
Mon Sep 4 04:27:22 CEST 2006
Author: mileticn
Date: 2006-09-04 04:27:21 +0200 (Mon, 04 Sep 2006)
New Revision: 1264
Added:
xwiki-sandbox/formeditor/editBoxFunctions.js
Log:
Added a file remotely
Added: xwiki-sandbox/formeditor/editBoxFunctions.js
===================================================================
--- xwiki-sandbox/formeditor/editBoxFunctions.js 2006-09-04 02:27:01 UTC (rev 1263)
+++ xwiki-sandbox/formeditor/editBoxFunctions.js 2006-09-04 02:27:21 UTC (rev 1264)
@@ -0,0 +1,203 @@
+// EDIT BOX FUNCTIONS (bez setera)
+function selectCell() {
+ selectGivenCell(this);
+}
+
+function selectGivenCell(cell) {
+ if (selectedCell != null) {
+ selectedCell.style.border = "solid 1px gray";
+ }
+ selectedCell = cell;
+ $('selectCellNote').style.display = 'none';
+ $('editingFields').style.display = 'block';
+ cell.style.border = "dashed 1px orange";
+
+ updateEditingFields(selectedCell);
+ updateFieldSettings(selectedCell);
+}
+
+function updateFieldSettings(cell) {
+ if (cell.firstChild == null || cell.firstChild.fieldModel == null)
+ return;
+ var fieldSettings = $('fieldSettings');
+ var tbdFieldSettings = $('tbdFieldSettings');
+ tbdFieldSettings.innerHTML = '';
+ var fieldModel = cell.firstChild.fieldModel;
+ for (var prop in fieldModel) {
+ if (prop == 'type')
+ continue;
+ var trw = document.createElement('tr');
+ var td = document.createElement('td');
+ td.innerHTML = prop;
+ trw.appendChild(td);
+ var td = document.createElement('td');
+ td.innerHTML = fieldModel[prop];
+ td.firstChild.className = 'settingsFields';
+ td.firstChild.disabled = 'disabled';
+ trw.appendChild(td);
+ tbdFieldSettings.appendChild(trw);
+ }
+ var button = document.createElement('input');
+ button.type = 'submit';
+ button.value = 'Change settings';
+ var trw = document.createElement('tr');
+ var td = document.createElement('td');
+ td.setAttribute('colspan', 2);
+ td.appendChild(button);
+ trw.appendChild(td);
+ tbdFieldSettings.appendChild(trw);
+
+}
+
+function updateEditingFields(cell) {
+ var group = getGroupFromCell(cell);
+ var titleObj = getTitleObjectFromGroup(group);
+ var titleText = getTitleTextFromTitleObject(titleObj);
+ $('editGroupTitleInput').value = titleText;
+
+ var presText = getPresentationTextFromGroup(group);
+ $('editPresentationTextInput').value = presText;
+
+ var row = getRowFromCell(cell);
+ var rowHeight = getRowHeight(row);
+ $("editRowHeightInput").value = rowHeight;
+
+ if (getSeparatorBelowRow(row) != null) {
+ $('editAddSeparator').style.display = 'none';
+ $('editRemoveSeparator').style.display = '';
+ }
+ else {
+ $('editAddSeparator').style.display = '';
+ $('editRemoveSeparator').style.display = 'none';
+ }
+
+ if (getFieldFromCell(cell) == null) {
+ $('editDeleteField').style.display = 'none';
+ $('editCellText').style.display = '';
+ $('editCellTextInput').value = getTextFromCell(selectedCell);
+ }
+ else {
+ $('editDeleteField').style.display = '';
+ $('editCellText').style.display = 'none';
+ }
+
+ if (selectedCell.nextSibling == null)
+ $('editSpanCell').style.display = 'none';
+ else
+ $('editSpanCell').style.display = '';
+
+ if (selectedCell.isSpanned) {
+// $('editSpanCell').style.display = 'none';
+ $('editSplitCell').style.display = '';
+ }
+ else {
+// $('editSpanCell').style.display = '';
+ $('editSplitCell').style.display = 'none';
+ }
+}
+
+function emptyCell(cell) {
+ if (cell == null)
+ cell = selectedCell;
+ var el = cell.firstChild;
+ cell.innerHTML = "";
+ cell.isOccupied = false;
+ // uzmi polje iz celije i stavi ga na prvo prazno mesto u fields box
+ putFieldInFieldsBox(el);
+
+ updateEditingFields(cell);
+}
+
+function addSeparator() {
+ if (selectedCell == null)
+ return;
+
+ var row = selectedCell.parentNode;
+ var hr = document.createElement("hr");
+ hr.style.cssFloat = "left";
+ hr.style.width = "100%";
+ if (row.nextSibling != null) {
+ row.parentNode.insertBefore(hr, row.nextSibling);
+ }
+ else {
+ row.parentNode.appendChild(hr);
+ }
+
+ updateEditingFields(selectedCell);
+}
+
+function removeSeparator() {
+ if (selectedCell == null)
+ return;
+ var row = getRowFromCell(selectedCell);
+ row.parentNode.removeChild(row.nextSibling);
+
+ updateEditingFields(selectedCell);
+}
+
+// CELL METHODS
+
+function spanCell() {
+ if (selectedCell == null)
+ return;
+ spanGivenCell(selectedCell);
+}
+
+function spanGivenCell(cell) {
+ var c1 = cell;
+ var c2 = c1.nextSibling;
+ if (c2 == null)
+ return;
+ var par = c1.parentNode;
+ par.removeChild(c2);
+ c1.style.width = parseFloat(c1.style.width) + parseFloat(c2.style.width) + "%";
+ c1.isSpanned = true;
+
+ updateEditingFields(cell);
+}
+
+function splitCell() {
+ if (selectedCell == null)
+ return;
+ var par = selectedCell.parentNode;
+ var group = getGroupFromCell(selectedCell);
+ var table = getTableFromGroup(group);
+ var row = getRowFromCell(selectedCell);
+
+ var newWidth1 = 100 / table.colsCount * 0.98;
+ var newWidth2 = parseFloat(selectedCell.style.width) - newWidth1;
+ selectedCell.style.width = newWidth2 + "%";
+
+ var d = document.createElement("div");
+ d.id = ++cellCounter;
+ d.className = "divCell";
+ d.style.height = "95%"
+ d.style.width = newWidth1 + "%";
+ d.style.margin = "0px";
+ Droppables.add(d, {accept: 'fieldContainer', onDrop: onFieldDrop, hoverclass: "divCellHover"})
+ d.onclick = selectCell;
+
+ // ako je celija na kraju reda, mora da se doda nova, ako nije, onda mora da se umetne
+ if (selectedCell.nextSibling == null)
+ par.appendChild(d);
+ else
+ par.insertBefore(d, selectedCell.nextSibling)
+
+ // ako ima jednak broj celija kao na pocetku, onda nije spanovana
+ if (table.colsCount != getColsCountFromRow(row))
+ selectedCell.isSpanned = true;
+ else
+ selectedCell.isSpanned = false;
+
+ updateEditingFields(selectedCell);
+}
+
+function deleteGroup() {
+ if (selectedCell == null)
+ return;
+ var group = getGroupFromCell(selectedCell);
+ group.parentNode.removeChild(group);
+
+ updateEditingFields(selectedCell);
+}
+
More information about the Xwiki-notifications
mailing list