[ Index ]
 

Code source de Seagull 0.6.1

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/tinyfck/plugins/table/jscripts/ -> row.js (source)

   1  function init() {
   2      tinyMCEPopup.resizeToInnerSize();
   3  
   4      document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
   5      document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
   6  
   7      var inst = tinyMCE.selectedInstance;
   8      var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
   9      var formObj = document.forms[0];
  10      var st = tinyMCE.parseStyle(tinyMCE.getAttrib(trElm, "style"));
  11  
  12      // Get table row data

  13      var rowtype = trElm.parentNode.nodeName.toLowerCase();
  14      var align = tinyMCE.getAttrib(trElm, 'align');
  15      var valign = tinyMCE.getAttrib(trElm, 'valign');
  16      var height = trimSize(getStyle(trElm, 'height', 'height'));
  17      var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(trElm, 'class'), false);
  18      var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor'));
  19      var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
  20      var id = tinyMCE.getAttrib(trElm, 'id');
  21      var lang = tinyMCE.getAttrib(trElm, 'lang');
  22      var dir = tinyMCE.getAttrib(trElm, 'dir');
  23  
  24      // Setup form

  25      addClassesToList('class', 'table_row_styles');
  26      formObj.bgcolor.value = bgcolor;
  27      formObj.backgroundimage.value = backgroundimage;
  28      formObj.height.value = height;
  29      formObj.id.value = id;
  30      formObj.lang.value = lang;
  31      formObj.style.value = tinyMCE.serializeStyle(st);
  32      selectByValue(formObj, 'align', align);
  33      selectByValue(formObj, 'valign', valign);
  34      selectByValue(formObj, 'class', className);
  35      selectByValue(formObj, 'rowtype', rowtype);
  36      selectByValue(formObj, 'dir', dir);
  37  
  38      // Resize some elements

  39      if (isVisible('backgroundimagebrowser'))
  40          document.getElementById('backgroundimage').style.width = '180px';
  41  
  42      updateColor('bgcolor_pick', 'bgcolor');
  43  }
  44  
  45  function updateAction() {
  46      tinyMCEPopup.restoreSelection();
  47  
  48      var inst = tinyMCE.selectedInstance;
  49      var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
  50      var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
  51      var formObj = document.forms[0];
  52      var action = getSelectValue(formObj, 'action');
  53  
  54      inst.execCommand('mceBeginUndoLevel');
  55  
  56      switch (action) {
  57          case "row":
  58              updateRow(trElm);
  59              break;
  60  
  61          case "all":
  62              var rows = tableElm.getElementsByTagName("tr");
  63  
  64              for (var i=0; i<rows.length; i++)
  65                  updateRow(rows[i], true);
  66  
  67              break;
  68  
  69          case "odd":
  70          case "even":
  71              var rows = tableElm.getElementsByTagName("tr");
  72  
  73              for (var i=0; i<rows.length; i++) {
  74                  if ((i % 2 == 0 && action == "odd") || (i % 2 != 0 && action == "even"))
  75                      updateRow(rows[i], true, true);
  76              }
  77  
  78              break;
  79      }
  80  
  81      tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
  82      tinyMCE.triggerNodeChange();
  83      inst.execCommand('mceEndUndoLevel');
  84      tinyMCEPopup.close();
  85  }
  86  
  87  function updateRow(tr_elm, skip_id, skip_parent) {
  88      var inst = tinyMCE.selectedInstance;
  89      var formObj = document.forms[0];
  90      var curRowType = tr_elm.parentNode.nodeName.toLowerCase();
  91      var rowtype = getSelectValue(formObj, 'rowtype');
  92      var doc = inst.getDoc();
  93  
  94      // Update row element

  95      if (!skip_id)
  96          tr_elm.setAttribute('id', formObj.id.value);
  97  
  98      tr_elm.setAttribute('align', getSelectValue(formObj, 'align'));
  99      tr_elm.setAttribute('vAlign', getSelectValue(formObj, 'valign'));
 100      tr_elm.setAttribute('lang', formObj.lang.value);
 101      tr_elm.setAttribute('dir', getSelectValue(formObj, 'dir'));
 102      tr_elm.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
 103      tinyMCE.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));
 104  
 105      // Clear deprecated attributes

 106      tr_elm.setAttribute('background', '');
 107      tr_elm.setAttribute('bgColor', '');
 108      tr_elm.setAttribute('height', '');
 109  
 110      // Set styles

 111      tr_elm.style.height = getCSSSize(formObj.height.value);
 112      tr_elm.style.backgroundColor = formObj.bgcolor.value;
 113  
 114      if (formObj.backgroundimage.value != "")
 115          tr_elm.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
 116      else
 117          tr_elm.style.backgroundImage = '';
 118  
 119      // Setup new rowtype

 120      if (curRowType != rowtype && !skip_parent) {
 121          // first, clone the node we are working on

 122          var newRow = tr_elm.cloneNode(1);
 123  
 124          // next, find the parent of its new destination (creating it if necessary)

 125          var theTable = tinyMCE.getParentElement(tr_elm, "table");
 126          var dest = rowtype;
 127          var newParent = null;
 128          for (var i = 0; i < theTable.childNodes.length; i++) {
 129              if (theTable.childNodes[i].nodeName.toLowerCase() == dest)
 130                  newParent = theTable.childNodes[i];
 131          }
 132  
 133          if (newParent == null) {
 134              newParent = doc.createElement(dest);
 135  
 136              if (dest == "thead")
 137                  theTable.insertBefore(newParent, theTable.firstChild);
 138              else
 139                  theTable.appendChild(newParent);
 140          }
 141  
 142          // append the row to the new parent

 143          newParent.appendChild(newRow);
 144  
 145          // remove the original

 146          tr_elm.parentNode.removeChild(tr_elm);
 147  
 148          // set tr_elm to the new node

 149          tr_elm = newRow;
 150      }
 151  }
 152  
 153  function changedBackgroundImage() {
 154      var formObj = document.forms[0];
 155      var st = tinyMCE.parseStyle(formObj.style.value);
 156  
 157      st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
 158  
 159      formObj.style.value = tinyMCE.serializeStyle(st);
 160  }
 161  
 162  function changedStyle() {
 163      var formObj = document.forms[0];
 164      var st = tinyMCE.parseStyle(formObj.style.value);
 165  
 166      if (st['background-image'])
 167          formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
 168      else
 169          formObj.backgroundimage.value = '';
 170  
 171      if (st['height'])
 172          formObj.height.value = trimSize(st['height']);
 173  
 174      if (st['background-color']) {
 175          formObj.bgcolor.value = st['background-color'];
 176          updateColor('bgcolor_pick','bgcolor');
 177      }
 178  }
 179  
 180  function changedSize() {
 181      var formObj = document.forms[0];
 182      var st = tinyMCE.parseStyle(formObj.style.value);
 183  
 184      var height = formObj.height.value;
 185      if (height != "")
 186          st['height'] = getCSSSize(height);
 187      else
 188          st['height'] = "";
 189  
 190      formObj.style.value = tinyMCE.serializeStyle(st);
 191  }
 192  
 193  function changedColor() {
 194      var formObj = document.forms[0];
 195      var st = tinyMCE.parseStyle(formObj.style.value);
 196  
 197      st['background-color'] = formObj.bgcolor.value;
 198  
 199      formObj.style.value = tinyMCE.serializeStyle(st);
 200  }


Généré le : Fri Mar 30 01:27:52 2007 par Balluche grâce à PHPXref 0.7