You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by so...@apache.org on 2006/06/12 01:24:58 UTC
svn commit: r413547 [10/15] - in /lenya/branches/revolution/1.3.x: ./
src/java/org/apache/lenya/cms/cocoon/components/modules/input/
src/java/org/apache/lenya/cms/cocoon/components/source/
src/java/org/apache/lenya/cms/cocoon/components/source/impl/ sr...
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/de.js
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/de.js?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/de.js (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/de.js Sun Jun 11 16:24:48 2006
@@ -0,0 +1,81 @@
+// I18N constants
+
+// LANG: "de", ENCODING: UTF-8 | ISO-8859-1
+// Author: broxx, <br...@broxx.com>
+
+TableOperations.I18N = {
+ "Align": "Ausrichten",
+ "All four sides": "Alle 4 Seiten",
+ "Background": "Hintergrund",
+ "Baseline": "Basislinie",
+ "Border": "Rand",
+ "Borders": "Raender",
+ "Bottom": "Unten",
+ "CSS Style": "Style [CSS]",
+ "Caption": "Ueberschrift",
+ "Cell Properties": "Zellen",
+ "Center": "Zentrieren",
+ "Char": "Zeichen",
+ "Collapsed borders": "Collapsed borders",
+ "Color": "Farbe",
+ "Description": "Beschreibung",
+ "FG Color": "FG Farbe",
+ "Float": "Ausrichtung",
+ "Frames": "Rahmen",
+ "Height": "Hoehe",
+ "How many columns would you like to merge?": "Wieviele Spalten willst du verbinden?",
+ "How many rows would you like to merge?": "Wieviele Zeilen willst du verbinden?",
+ "Image URL": "Bild URL",
+ "Justify": "Justieren",
+ "Layout": "Layout",
+ "Left": "Links",
+ "Margin": "Rand",
+ "Middle": "Mitte",
+ "No rules": "Keine Balken",
+ "No sides": "Keine Seiten",
+ "None": "Keine",
+ "Padding": "Auffuellung",
+ "Please click into some cell": "Waehle eine Zelle",
+ "Right": "Rechts",
+ "Row Properties": "Reihen",
+ "Rules will appear between all rows and columns": "Balken zwischen Reihen und Spalten",
+ "Rules will appear between columns only": "Balken zwischen Spalten",
+ "Rules will appear between rows only": "Balken zwischen Reihen",
+ "Rules": "Balken",
+ "Spacing and padding": "Abstaende",
+ "Spacing": "Abstand",
+ "Summary": "Zusammenfassung",
+ "TO-cell-delete": "Zelle loeschen",
+ "TO-cell-insert-after": "Zelle einfuegen nach",
+ "TO-cell-insert-before": "Zelle einfuegen bevor",
+ "TO-cell-merge": "Zellen zusammenfuegen",
+ "TO-cell-prop": "Zelleinstellungen",
+ "TO-cell-split": "Zellen aufteilen",
+ "TO-col-delete": "Spalte loeschen",
+ "TO-col-insert-after": "Spalte einfuegen nach",
+ "TO-col-insert-before": "Spalte einfuegen bevor",
+ "TO-col-split": "Spalte aufteilen",
+ "TO-row-delete": "Reihe loeschen",
+ "TO-row-insert-above": "Reihe einfuegen vor",
+ "TO-row-insert-under": "Reihe einfuegen nach",
+ "TO-row-prop": "Reiheneinstellungen",
+ "TO-row-split": "Reihen aufteilen",
+ "TO-table-prop": "Tabelle",
+ "Table Properties": "Tabelle",
+ "Text align": "Ausrichtung",
+ "The bottom side only": "Nur untere Seite",
+ "The left-hand side only": "Nur linke Seite",
+ "The right and left sides only": "Nur linke und rechte Seite",
+ "The right-hand side only": "Nur rechte Seite",
+ "The top and bottom sides only": "Nur obere und untere Seite",
+ "The top side only": "Nur obere Seite",
+ "Top": "Oben",
+ "Unset color": "Farbe",
+ "Vertical align": "Ausrichtung",
+ "Width": "Breite",
+ "not-del-last-cell": "Letzte Zelle in dieser Reihe!",
+ "not-del-last-col": "Letzte Spalte in dieser Tabelle!",
+ "not-del-last-row": "Letzte Reihe in dieser Tabelle",
+ "percent": "%",
+ "pixels": "pixels"
+};
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/de.js
------------------------------------------------------------------------------
svn:eol-style = native
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/el.js
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/el.js?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/el.js (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/el.js Sun Jun 11 16:24:48 2006
@@ -0,0 +1,81 @@
+// I18N constants
+
+// LANG: "el", ENCODING: UTF-8 | ISO-8859-7
+// Author: Dimitris Glezos, dimitris@glezos.com
+
+TableOperations.I18N = {
+ "Align": "ΣÏοίÏηÏη",
+ "All four sides": "Îαι οι 4 ÏλεÏ
ÏÎÏ",
+ "Background": "ΦÏνÏο",
+ "Baseline": "Baseline",
+ "Border": "ΠεÏίγÏαμμα",
+ "Borders": "ΠεÏιγÏάμμαÏα",
+ "Bottom": "ÎάÏÏ Î¼ÎÏοÏ",
+ "CSS Style": "ΣÏÏ
λ [CSS]",
+ "Caption": "ÎεζάνÏα",
+ "Cell Properties": "ÎδιÏÏηÏÎµÏ ÎελιοÏ",
+ "Center": "ÎÎνÏÏο",
+ "Char": "ΧαÏακÏήÏαÏ",
+ "Collapsed borders": "ΣÏ
μÏÏÏ
γμÎνα ÏεÏιγÏάμμαÏα",
+ "Color": "ΧÏÏμα",
+ "Description": "ΠεÏιγÏαÏή",
+ "FG Color": "ΧÏÏμα ανÏικειμÎνÏν",
+ "Float": "Float",
+ "Frames": "Frames",
+ "Height": "ÎÏοÏ",
+ "How many columns would you like to merge?": "Î ÏÏÎµÏ ÏÏÎ®Î»ÎµÏ Î¸ÎλεÏε να ενÏÏεÏε;",
+ "How many rows would you like to merge?": "Î ÏÏÎµÏ Î³ÏαμμÎÏ Î¸ÎλεÏε να ενÏÏεÏε;",
+ "Image URL": "URL εικÏναÏ",
+ "Justify": "ΠλήÏÎ·Ï ÏÏοίÏηÏη",
+ "Layout": "ÎιάÏαξη",
+ "Left": "ÎÏιÏÏεÏά",
+ "Margin": "ΠεÏιθÏÏιο",
+ "Middle": "ÎÎνÏÏο",
+ "No rules": "ΧÏÏÎ¯Ï ÎÏαμμÎÏ",
+ "No sides": "No sides",
+ "None": "ΤίÏοÏα",
+ "Padding": "ÎÏοÏή",
+ "Please click into some cell": "ÎάνÏε κλικ μÎÏα Ïε κάÏοιο κελί",
+ "Right": "Îεξιά",
+ "Row Properties": "ÎδιÏÏηÏÎµÏ ÎÏαμμήÏ",
+ "Rules will appear between all rows and columns": "ÎÏαμμÎÏ Î¸Î± εμÏανίζονÏαι μεÏÎ±Î¾Ï ÏλÏν ÏÏν γÏαμμÏν και ÏÏηλÏν",
+ "Rules will appear between columns only": "ÎÏαμμÎÏ Î¸Î± εμÏανίζονÏαι μÏνο μεÏÎ±Î¾Ï ÏÏηλÏν",
+ "Rules will appear between rows only": "ÎÏαμμÎÏ Î¸Î± εμÏανίζονÏαι μÏνο μεÏÎ±Î¾Ï Î³ÏαμμÏν",
+ "Rules": "ÎÏαμμÎÏ",
+ "Spacing and padding": "ÎÏοÏÏάÏÎµÎ¹Ï ÎºÎ±Î¹ εÏοÏÎÏ",
+ "Spacing": "ÎÏοÏÏάÏειÏ",
+ "Summary": "ΣÏνοÏη",
+ "TO-cell-delete": "ÎιαγÏαÏή κελιοÏ",
+ "TO-cell-insert-after": "ÎιÏαγÏγή ÎºÎµÎ»Î¹Î¿Ï Î¼ÎµÏά",
+ "TO-cell-insert-before": "ÎιÏαγÏγή ÎºÎµÎ»Î¹Î¿Ï ÏÏιν",
+ "TO-cell-merge": "ΣÏ
γÏÏνεÏ
Ïη κελιÏν",
+ "TO-cell-prop": "ÎδιÏÏηÏÎµÏ ÎºÎµÎ»Î¹Î¿Ï",
+ "TO-cell-split": "ÎιαίÏεÏη κελιοÏ",
+ "TO-col-delete": "ÎιαγÏαÏή ÏÏήληÏ",
+ "TO-col-insert-after": "ÎιÏαγÏγή ÏÏÎ®Î»Î·Ï Î¼ÎµÏά",
+ "TO-col-insert-before": "ÎιÏαγÏγή ÏÏÎ®Î»Î·Ï ÏÏιν",
+ "TO-col-split": "ÎιαίÏεÏη ÏÏήληÏ",
+ "TO-row-delete": "ÎιαγÏαÏή γÏαμμήÏ",
+ "TO-row-insert-above": "ÎιÏαγÏγή γÏÎ±Î¼Î¼Î®Ï Î¼ÎµÏά",
+ "TO-row-insert-under": "ÎιÏαγÏγή γÏÎ±Î¼Î¼Î®Ï ÏÏιν",
+ "TO-row-prop": "ÎδιÏÏηÏÎµÏ Î³ÏαμμήÏ",
+ "TO-row-split": "ÎιαίÏεÏη γÏαμμήÏ",
+ "TO-table-prop": "ÎδιÏÏηÏÎµÏ Ïίνακα",
+ "Table Properties": "ÎδιÏÏηÏÎµÏ Ïίνακα",
+ "Text align": "ΣÏοίÏηÏη κειμÎνοÏ
",
+ "The bottom side only": "ΠκάÏÏ ÏλεÏ
Ïά μÏνο",
+ "The left-hand side only": "ΠαÏιÏÏεÏή ÏλεÏ
Ïά μÏνο",
+ "The right and left sides only": "Îι δεξιÎÏ ÎºÎ±Î¹ αÏιÏÏεÏÎÏ ÏλεÏ
ÏÎÏ Î¼Ïνο",
+ "The right-hand side only": "Πδεξιά ÏλεÏ
Ïά μÏνο",
+ "The top and bottom sides only": "Îι ÏÎ¬Î½Ï ÎºÎ±Î¹ κάÏÏ ÏλεÏ
ÏÎÏ Î¼Ïνο",
+ "The top side only": "Î ÏÎ¬Î½Ï ÏλεÏ
Ïά μÏνο",
+ "Top": "ΠάνÏ",
+ "Unset color": "ÎναίÏεÏη ÏÏÏμαÏοÏ",
+ "Vertical align": "ÎαÏακÏÏÏ
Ïη ÏÏοίÏηÏη",
+ "Width": "ΠλάÏοÏ",
+ "not-del-last-cell": "Îεν μÏοÏεί να διαγÏαÏεί Ïο ÏελεÏ
Ïαίο κελί Ïε μια γÏαμμή.",
+ "not-del-last-col": "Îεν μÏοÏεί να διαγÏαÏεί η ÏελεÏ
Ïαία ÏÏήλη Ïε Îνα Ïίνακα.",
+ "not-del-last-row": "Îεν μÏοÏεί να διαγÏαÏεί η ÏελεÏ
Ïαία γÏαμμή Ïε Îνα Ïίνακα.",
+ "percent": "ÏÎ¿Î¹Ï ÎµÎºÎ±ÏÏν",
+ "pixels": "pixels"
+};
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/el.js
------------------------------------------------------------------------------
svn:eol-style = native
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/en.js
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/en.js?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/en.js (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/en.js Sun Jun 11 16:24:48 2006
@@ -0,0 +1,90 @@
+// I18N constants
+
+// LANG: "en", ENCODING: UTF-8 | ISO-8859-1
+// Author: Mihai Bazon, http://dynarch.com/mishoo
+
+// FOR TRANSLATORS:
+//
+// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
+// (at least a valid email address)
+//
+// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
+// (if this is not possible, please include a comment
+// that states what encoding is necessary.)
+
+TableOperations.I18N = {
+ "Align": "Align",
+ "All four sides": "All four sides",
+ "Background": "Background",
+ "Baseline": "Baseline",
+ "Border": "Border",
+ "Borders": "Borders",
+ "Bottom": "Bottom",
+ "CSS Style": "Style [CSS]",
+ "Caption": "Caption",
+ "Cell Properties": "Cell Properties",
+ "Center": "Center",
+ "Char": "Char",
+ "Collapsed borders": "Collapsed borders",
+ "Color": "Color",
+ "Description": "Description",
+ "FG Color": "FG Color",
+ "Float": "Float",
+ "Frames": "Frames",
+ "Height": "Height",
+ "How many columns would you like to merge?": "How many columns would you like to merge?",
+ "How many rows would you like to merge?": "How many rows would you like to merge?",
+ "Image URL": "Image URL",
+ "Justify": "Justify",
+ "Layout": "Layout",
+ "Left": "Left",
+ "Margin": "Margin",
+ "Middle": "Middle",
+ "No rules": "No rules",
+ "No sides": "No sides",
+ "None": "None",
+ "Padding": "Padding",
+ "Please click into some cell": "Please click into some cell",
+ "Right": "Right",
+ "Row Properties": "Row Properties",
+ "Rules will appear between all rows and columns": "Rules will appear between all rows and columns",
+ "Rules will appear between columns only": "Rules will appear between columns only",
+ "Rules will appear between rows only": "Rules will appear between rows only",
+ "Rules": "Rules",
+ "Spacing and padding": "Spacing and padding",
+ "Spacing": "Spacing",
+ "Summary": "Summary",
+ "TO-cell-delete": "Delete cell",
+ "TO-cell-insert-after": "Insert cell after",
+ "TO-cell-insert-before": "Insert cell before",
+ "TO-cell-merge": "Merge cells",
+ "TO-cell-prop": "Cell properties",
+ "TO-cell-split": "Split cell",
+ "TO-col-delete": "Delete column",
+ "TO-col-insert-after": "Insert column after",
+ "TO-col-insert-before": "Insert column before",
+ "TO-col-split": "Split column",
+ "TO-row-delete": "Delete row",
+ "TO-row-insert-above": "Insert row before",
+ "TO-row-insert-under": "Insert row after",
+ "TO-row-prop": "Row properties",
+ "TO-row-split": "Split row",
+ "TO-table-prop": "Table properties",
+ "Table Properties": "Table Properties",
+ "Text align": "Text align",
+ "The bottom side only": "The bottom side only",
+ "The left-hand side only": "The left-hand side only",
+ "The right and left sides only": "The right and left sides only",
+ "The right-hand side only": "The right-hand side only",
+ "The top and bottom sides only": "The top and bottom sides only",
+ "The top side only": "The top side only",
+ "Top": "Top",
+ "Unset color": "Unset color",
+ "Vertical align": "Vertical align",
+ "Width": "Width",
+ "not-del-last-cell": "HTMLArea cowardly refuses to delete the last cell in row.",
+ "not-del-last-col": "HTMLArea cowardly refuses to delete the last column in table.",
+ "not-del-last-row": "HTMLArea cowardly refuses to delete the last row in table.",
+ "percent": "percent",
+ "pixels": "pixels"
+};
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/en.js
------------------------------------------------------------------------------
svn:eol-style = native
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/fi.js
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/fi.js?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/fi.js (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/fi.js Sun Jun 11 16:24:48 2006
@@ -0,0 +1,66 @@
+TableOperations.I18N = {
+ "Align": "Kohdistus",
+ "All four sides": "Kaikki neljä sivua",
+ "Background": "Tausta",
+ "Baseline": "Takaraja",
+ "Border": "Reuna",
+ "Borders": "Reunat",
+ "Bottom": "Alle",
+ "CSS Style": "Tyyli [CSS]",
+ "Caption": "Otsikko",
+ "Cell Properties": "Solun asetukset",
+ "Center": "Keskelle",
+ "Char": "Merkki",
+ "Collapsed borders": "Luhistetut reunat",
+ "Color": "Väri",
+ "Description": "Kuvaus",
+ "FG Color": "FG Väri",
+ "Frames": "Kehykset",
+ "Image URL": "Kuvan osoite",
+ "Layout": "Sommittelu",
+ "Left": "Vasen",
+ "Margin": "Marginaali",
+ "Middle": "Keskelle",
+ "No rules": "Ei viivoja",
+ "No sides": "Ei sivuja",
+ "Padding": "Palstantäyte",
+ "Right": "Oikea",
+ "Row Properties": "Rivin asetukset",
+ "Rules will appear between all rows and columns": "Viivat jokaisen rivin ja sarakkeen välillä",
+ "Rules will appear between columns only": "Viivat ainoastaan sarakkeiden välillä",
+ "Rules will appear between rows only": "Viivat ainoastaan rivien välillä",
+ "Rules": "Viivat",
+ "Spacing": "Palstatila",
+ "Summary": "Yhteenveto",
+ "TO-cell-delete": "Poista solu",
+ "TO-cell-insert-after": "Lisää solu perään",
+ "TO-cell-insert-before": "Lisää solu ennen",
+ "TO-cell-merge": "Yhdistä solut",
+ "TO-cell-prop": "Solun asetukset",
+ "TO-cell-split": "Jaa solu",
+ "TO-col-delete": "Poista sarake",
+ "TO-col-insert-after": "Lisää sarake perään",
+ "TO-col-insert-before": "Lisää sarake ennen",
+ "TO-col-split": "Jaa sarake",
+ "TO-row-delete": "Poista rivi",
+ "TO-row-insert-above": "Lisää rivi yläpuolelle",
+ "TO-row-insert-under": "Lisää rivi alapuolelle",
+ "TO-row-prop": "Rivin asetukset",
+ "TO-row-split": "Jaa rivi",
+ "TO-table-prop": "Taulukon asetukset",
+ "Top": "Ylös",
+ "Table Properties": "Taulukon asetukset",
+ "The bottom side only": "Ainoastaan alapuolelle",
+ "The left-hand side only": "Ainoastaan vasenreuna",
+ "The right and left sides only": "Oikea- ja vasenreuna",
+ "The right-hand side only": "Ainoastaan oikeareuna",
+ "The top and bottom sides only": "Ylä- ja alapuoli.",
+ "The top side only": "Ainoastaan yläpuoli",
+ "Vertical align": "Vertikaali kohdistus",
+ "Width": "Leveys",
+ "not-del-last-cell": "Ei voida poistaa viimeistä solua rivistä.",
+ "not-del-last-col": "Ei voida poistaa viimeistä saraketta taulusta.",
+ "not-del-last-row": "Ei voida poistaa viimeistä riviä taulusta.",
+ "percent": "prosenttia",
+ "pixels": "pikseliä"
+};
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/fi.js
------------------------------------------------------------------------------
svn:eol-style = native
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/hu.js
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/hu.js?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/hu.js (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/hu.js Sun Jun 11 16:24:48 2006
@@ -0,0 +1,63 @@
+// I18N constants
+
+// LANG: "hu", ENCODING: UTF-8
+// Author: Miklós Somogyi, <so...@vnet.hu>
+
+// FOR TRANSLATORS:
+//
+// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
+// (at least a valid email address)
+//
+// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
+// (if this is not possible, please include a comment
+// that states what encoding is necessary.)
+
+HTMLArea.I18N = {
+
+ // the following should be the filename without .js extension
+ // it will be used for automatically load plugin language.
+ lang: "hu",
+
+ tooltips: {
+ bold: "Félkövér",
+ italic: "DÅlt",
+ underline: "Aláhúzott",
+ strikethrough: "Ãthúzott",
+ subscript: "Alsó index",
+ superscript: "FelsÅ index",
+ justifyleft: "Balra zárt",
+ justifycenter: "Középre zárt",
+ justifyright: "Jobbra zárt",
+ justifyfull: "Sorkizárt",
+ orderedlist: "Számozott lista",
+ unorderedlist: "Számozatlan lista",
+ outdent: "Behúzás csökkentése",
+ indent: "Behúzás növelése",
+ forecolor: "KarakterszÃn",
+ hilitecolor: "HáttérszÃn",
+ horizontalrule: "Elválasztó vonal",
+ createlink: "Hiperhivatkozás beszúrása",
+ insertimage: "Kép beszúrása",
+ inserttable: "Táblázat beszúrása",
+ htmlmode: "HTML forrás be/ki",
+ popupeditor: "SzerkesztŠkülön ablakban",
+ about: "Névjegy",
+ showhelp: "Súgó",
+ textindicator: "Aktuális stÃlus",
+ undo: "Visszavonás",
+ redo: "Ãjra végrehajtás",
+ cut: "Kivágás",
+ copy: "Másolás",
+ paste: "Beillesztés"
+ },
+
+ buttons: {
+ "ok": "Rendben",
+ "cancel": "Mégsem"
+ },
+
+ msg: {
+ "Path": "Hierarchia",
+ "TEXT_MODE": "Forrás mód. Visszaváltás [<>] gomb"
+ }
+};
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/hu.js
------------------------------------------------------------------------------
svn:eol-style = native
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/it.js
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/it.js?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/it.js (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/it.js Sun Jun 11 16:24:48 2006
@@ -0,0 +1,81 @@
+// I18N constants
+
+// LANG: "it", ENCODING: UTF-8 | ISO-8859-1
+// Author: Fabio Rotondo <fa...@rotondo.it>
+
+TableOperations.I18N = {
+ "Align": "Allinea",
+ "All four sides": "Tutti e quattro i lati",
+ "Background": "Sfondo",
+ "Baseline": "Allineamento",
+ "Border": "Bordo",
+ "Borders": "Bordi",
+ "Bottom": "Basso",
+ "CSS Style": "Stile [CSS]",
+ "Caption": "Titolo",
+ "Cell Properties": "Proprietà della Cella",
+ "Center": "Centra",
+ "Char": "Carattere",
+ "Collapsed borders": "Bordi chiusi",
+ "Color": "Colore",
+ "Description": "Descrizione",
+ "FG Color": "Colore Principale",
+ "Float": "Fluttuante",
+ "Frames": "Frames",
+ "Height": "Altezza",
+ "How many columns would you like to merge?": "Quante colonne vuoi unire?",
+ "How many rows would you like to merge?": "Quante righe vuoi unire?",
+ "Image URL": "URL dell'Immagine",
+ "Justify": "Justifica",
+ "Layout": "Layout",
+ "Left": "Sinistra",
+ "Margin": "Margine",
+ "Middle": "Centrale",
+ "No rules": "Nessun righello",
+ "No sides": "Nessun lato",
+ "None": "Nulla",
+ "Padding": "Padding",
+ "Please click into some cell": "Per favore, clicca in una cella",
+ "Right": "Destra",
+ "Row Properties": "Proprietà della Riga",
+ "Rules will appear between all rows and columns": "Le linee appariranno tra tutte le righe e colonne",
+ "Rules will appear between columns only": "Le linee appariranno solo tra le colonne",
+ "Rules will appear between rows only": "Le linee appariranno solo tra le righe",
+ "Rules": "Linee",
+ "Spacing and padding": "Spaziatura e Padding",
+ "Spacing": "Spaziatura",
+ "Summary": "Sommario",
+ "TO-cell-delete": "Cancella cella",
+ "TO-cell-insert-after": "Inserisci cella dopo",
+ "TO-cell-insert-before": "Inserisci cella prima",
+ "TO-cell-merge": "Unisci celle",
+ "TO-cell-prop": "Proprietà della cella",
+ "TO-cell-split": "Dividi cella",
+ "TO-col-delete": "Cancella colonna",
+ "TO-col-insert-after": "Inserisci colonna dopo",
+ "TO-col-insert-before": "Inserisci colonna prima",
+ "TO-col-split": "Dividi colonna",
+ "TO-row-delete": "Cancella riga",
+ "TO-row-insert-above": "Inserisci riga prima",
+ "TO-row-insert-under": "Inserisci riga dopo",
+ "TO-row-prop": "Proprietà della riga",
+ "TO-row-split": "Dividi riga",
+ "TO-table-prop": "Proprietà della Tabella",
+ "Table Properties": "Proprietà della Tabella",
+ "Text align": "Allineamento del Testo",
+ "The bottom side only": "Solo la parte inferiore",
+ "The left-hand side only": "Solo la parte sinistra",
+ "The right and left sides only": "Solo destra e sinistra",
+ "The right-hand side only": "Solo la parte destra",
+ "The top and bottom sides only": "Solo sopra e sotto",
+ "The top side only": "Solo la parte sopra",
+ "Top": "Alto",
+ "Unset color": "Rimuovi colore",
+ "Vertical align": "Allineamento verticale",
+ "Width": "Larghezza",
+ "not-del-last-cell": "HTMLArea si rifiuta codardamente di cancellare l'ultima cella nella riga.",
+ "not-del-last-col": "HTMLArea si rifiuta codardamente di cancellare l'ultima colonna nella tabella.",
+ "not-del-last-row": "HTMLArea si rifiuta codardamente di cancellare l'ultima riga nella tabella.",
+ "percent": "percento",
+ "pixels": "pixels"
+};
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/it.js
------------------------------------------------------------------------------
svn:eol-style = native
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/makefile.xml
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/makefile.xml?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/makefile.xml (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/makefile.xml Sun Jun 11 16:24:48 2006
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<files>
+ <file name="*.js" />
+</files>
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/makefile.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/nl.js
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/nl.js?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/nl.js (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/nl.js Sun Jun 11 16:24:48 2006
@@ -0,0 +1,90 @@
+// I18N constants
+
+// LANG: "nl", ENCODING: UTF-8 | ISO-8859-1
+// Author: Michel Weegeerink (info@mmc-shop.nl), http://mmc-shop.nl
+
+// FOR TRANSLATORS:
+//
+// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
+// (at least a valid email address)
+//
+// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
+// (if this is not possible, please include a comment
+// that states what encoding is necessary.)
+
+TableOperations.I18N = {
+ "Align": "Uitlijning",
+ "All four sides": "Alle 4 zijden",
+ "Background": "Achtergrond",
+ "Baseline": "Basis",
+ "Border": "Rand",
+ "Borders": "Randen",
+ "Bottom": "Onder",
+ "CSS Style": "CSS Style",
+ "Caption": "Opmerking",
+ "Cell Properties": "Celeigenschappen",
+ "Center": "Centreren",
+ "Char": "Karakter",
+ "Collapsed borders": "Geen randen",
+ "Color": "Kleur",
+ "Description": "Omschrijving",
+ "FG Color": "Voorgrond",
+ "Float": "Zwevend",
+ "Frames": "Frames",
+ "Height": "Hoogte",
+ "How many columns would you like to merge?": "Hoeveel kolommen wilt u samenvoegen?",
+ "How many rows would you like to merge?": "Hoeveel rijen wilt u samenvoegen?",
+ "Image URL": "Afbeelding URL",
+ "Justify": "Uitvullen",
+ "Layout": "Opmaak",
+ "Left": "Links",
+ "Margin": "Marge",
+ "Middle": "Midden",
+ "No rules": "Geen regels",
+ "No sides": "Geen zijlijnen",
+ "None": "Geen",
+ "Padding": "Celmarge",
+ "Please click into some cell": "Klik in een cel a.u.b.",
+ "Right": "Rechts",
+ "Row Properties": "Rijeigenschappen",
+ "Rules will appear between all rows and columns": "Regels verschijnen tussen alle rijen en kolommen",
+ "Rules will appear between columns only": "Regels verschijnen enkel tussen de kolommen",
+ "Rules will appear between rows only": "Regels verschijnen enkel tussen de rijen",
+ "Rules": "Regels",
+ "Spacing and padding": "Celmarge en afstand tussen cellen",
+ "Spacing": "marge",
+ "Summary": "Overzicht",
+ "TO-cell-delete": "Cel verwijderen",
+ "TO-cell-insert-after": "Voeg cel toe achter",
+ "TO-cell-insert-before": "Voeg cel toe voor",
+ "TO-cell-merge": "Cellen samenvoegen",
+ "TO-cell-prop": "Celeigenschappen",
+ "TO-cell-split": "Cel splitsen",
+ "TO-col-delete": "Kolom verwijderen",
+ "TO-col-insert-after": "Kolom invoegen achter",
+ "TO-col-insert-before": "Kolom invoegen voor",
+ "TO-col-split": "Kolom splitsen",
+ "TO-row-delete": "Rij verwijderen",
+ "TO-row-insert-above": "Rij invoegen boven",
+ "TO-row-insert-under": "Rij invoegen onder",
+ "TO-row-prop": "Rij eigenschappen",
+ "TO-row-split": "Rij splitsen",
+ "TO-table-prop": "Tabel eigenschappen",
+ "Table Properties": "Tabel eigenschappen",
+ "Text align": "Text uitlijning",
+ "The bottom side only": "Enkel aan de onderkant",
+ "The left-hand side only": "Enkel aan de linkerkant",
+ "The right and left sides only": "Enkel aan de linker en rechterkant",
+ "The right-hand side only": "Enkel aan de rechterkant",
+ "The top and bottom sides only": "Enkel aan de bovenen onderkant",
+ "The top side only": "Enkel aan de bovenkant",
+ "Top": "Boven",
+ "Unset color": "Wis kleur",
+ "Vertical align": "Vertikale uitlijning",
+ "Width": "Breedte",
+ "not-del-last-cell": "HTMLArea kan de laatste cel in deze tabel niet verwijderen.",
+ "not-del-last-col": "HTMLArea kan de laatste kolom in deze tabel niet verwijderen.",
+ "not-del-last-row": "HTMLArea kan de laatste rij in deze tabel niet verwijderen.",
+ "percent": "procent",
+ "pixels": "pixels"
+};
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/nl.js
------------------------------------------------------------------------------
svn:eol-style = native
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/no.js
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/no.js?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/no.js (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/no.js Sun Jun 11 16:24:48 2006
@@ -0,0 +1,91 @@
+// I18N constants
+
+// LANG: "en", ENCODING: UTF-8 | ISO-8859-1
+// Author: Mihai Bazon, <mi...@infoiasi.ro>
+// translated into Norwegia: ses@online.no 11.11.03
+
+// FOR TRANSLATORS:
+//
+// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
+// (at least a valid email address)
+//
+// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
+// (if this is not possible, please include a comment
+// that states what encoding is necessary.)
+
+TableOperations.I18N = {
+ "Align": "Juster",
+ "All four sides": "Alle fire sider",
+ "Background": "Bakgrund",
+ "Baseline": "Grunnlinje",
+ "Border": "Kantlinje",
+ "Borders": "Kantlinjer",
+ "Bottom": "Bunn",
+ "CSS Style": "Stil [CSS]",
+ "Caption": "Overskrift",
+ "Cell Properties": "Celleegenskaper",
+ "Center": "Sentrer",
+ "Char": "Tegn",
+ "Collapsed borders": "Fjern kantlinjer",
+ "Color": "Farge",
+ "Description": "Beskrivelse",
+ "FG Color": "FG farge",
+ "Float": "Flytende",
+ "Frames": "rammer",
+ "Height": "Høyde",
+ "How many columns would you like to merge?": "Hvor mange kolonner vil du slå sammen?",
+ "How many rows would you like to merge?": "Hvor mange rader vil du slå sammen?",
+ "Image URL": "Bildets URL",
+ "Justify": "Juster",
+ "Layout": "Layout",
+ "Left": "Venstre",
+ "Margin": "Marg",
+ "Middle": "Midten",
+ "No rules": "Ingen linjal",
+ "No sides": "Ingen sider",
+ "None": "Ingen",
+ "Padding": "Luft",
+ "Please click into some cell": "Klikk i en eller annen celle",
+ "Right": "Høyre",
+ "Row Properties": "Egenskaper for rad",
+ "Rules will appear between all rows and columns": "Linjer vil synes mellom alle rader og kolonner",
+ "Rules will appear between columns only": "Linjer vil synes kun mellom kolonner",
+ "Rules will appear between rows only": "Linjer vil synes kun mellom rader",
+ "Rules": "Linjer",
+ "Spacing and padding": "Luft",
+ "Spacing": "Luft",
+ "Summary": "Sammendrag",
+ "TO-cell-delete": "Slett celle",
+ "TO-cell-insert-after": "Sett inn celle etter",
+ "TO-cell-insert-before": "Sett inn celle foran",
+ "TO-cell-merge": "Slå sammen celler",
+ "TO-cell-prop": "Egenskaper for celle",
+ "TO-cell-split": "Del celle",
+ "TO-col-delete": "Slett kolonne",
+ "TO-col-insert-after": "Skyt inn kolonne etter",
+ "TO-col-insert-before": "Skyt inn kolonne før",
+ "TO-col-split": "Del kolonne",
+ "TO-row-delete": "Slett rad",
+ "TO-row-insert-above": "Skyt inn rad foran",
+ "TO-row-insert-under": "Skyt inn rad etter",
+ "TO-row-prop": "Egenskaper for rad",
+ "TO-row-split": "Del rad",
+ "TO-table-prop": "Tabellegenskaper",
+ "Table Properties": "Tabellegenskaper",
+ "Text align": "Juster tekst",
+ "The bottom side only": "Bunnen kun",
+ "The left-hand side only": "Venstresiden kun",
+ "The right and left sides only": "Høyre- og venstresiden kun",
+ "The right-hand side only": "Høyresiden kun",
+ "The top and bottom sides only": "The top and bottom sides only",
+ "The top side only": "Overkanten kun",
+ "Top": "Overkant",
+ "Unset color": "Ikke-bestemt farge",
+ "Vertical align": "Vertikal justering",
+ "Width": "Bredde",
+ "not-del-last-cell": "HTMLArea nekter å slette siste cellen i tabellen.",
+ "not-del-last-col": "HTMLArea nekter å slette siste kolonnen i tabellen.",
+ "not-del-last-row": "HTMLArea nekter å slette siste raden i tabellen.",
+ "percent": "prosent",
+ "pixels": "billedpunkter"
+};
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/no.js
------------------------------------------------------------------------------
svn:eol-style = native
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/ro.js
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/ro.js?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/ro.js (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/ro.js Sun Jun 11 16:24:48 2006
@@ -0,0 +1,90 @@
+// I18N constants
+
+// LANG: "ro", ENCODING: UTF-8
+// Author: Mihai Bazon, http://dynarch.com/mishoo
+
+// FOR TRANSLATORS:
+//
+// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
+// (at least a valid email address)
+//
+// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
+// (if this is not possible, please include a comment
+// that states what encoding is necessary.)
+
+TableOperations.I18N = {
+ "Align": "Aliniere",
+ "All four sides": "Toate pÄrÅ£ile",
+ "Background": "Fundal",
+ "Baseline": "Baseline",
+ "Border": "Chenar",
+ "Borders": "Chenare",
+ "Bottom": "Jos",
+ "CSS Style": "Stil [CSS]",
+ "Caption": "Titlu de tabel",
+ "Cell Properties": "ProprietÄÅ£ile celulei",
+ "Center": "Centru",
+ "Char": "Caracter",
+ "Collapsed borders": "Chenare asimilate",
+ "Color": "Culoare",
+ "Description": "Descriere",
+ "FG Color": "Culoare text",
+ "Float": "Poziţie",
+ "Frames": "Chenare",
+ "Height": "ÃnÄlÅ£imea",
+ "How many columns would you like to merge?": "Câte coloane vrei sÄ uneÅti?",
+ "How many rows would you like to merge?": "Câte linii vrei sÄ uneÅti?",
+ "Image URL": "URL-ul imaginii",
+ "Justify": "Justify",
+ "Layout": "Aranjament",
+ "Left": "Stânga",
+ "Margin": "Margine",
+ "Middle": "Mijloc",
+ "No rules": "FÄrÄ linii",
+ "No sides": "FÄrÄ pÄrÅ£i",
+ "None": "Nimic",
+ "Padding": "Spaţiere",
+ "Please click into some cell": "VÄ rog sÄ daÅ£i click într-o celulÄ",
+ "Right": "Dreapta",
+ "Row Properties": "ProprietÄÅ£ile liniei",
+ "Rules will appear between all rows and columns": "Vor apÄrea linii între toate rândurile Åi coloanele",
+ "Rules will appear between columns only": "Vor apÄrea doar linii verticale",
+ "Rules will appear between rows only": "Vor apÄrea doar linii orizontale",
+ "Rules": "Linii",
+ "Spacing and padding": "Spaţierea",
+ "Spacing": "Ãntre celule",
+ "Summary": "Sumar",
+ "TO-cell-delete": "Återge celula",
+ "TO-cell-insert-after": "InsereazÄ o celulÄ la dreapta",
+ "TO-cell-insert-before": "InsereazÄ o celulÄ la stânga",
+ "TO-cell-merge": "UneÅte celulele",
+ "TO-cell-prop": "ProprietÄÅ£ile celulei",
+ "TO-cell-split": "Ãmparte celula",
+ "TO-col-delete": "Återge coloana",
+ "TO-col-insert-after": "InsereazÄ o coloanÄ la dreapta",
+ "TO-col-insert-before": "InsereazÄ o coloanÄ la stânga",
+ "TO-col-split": "Ãmparte coloana",
+ "TO-row-delete": "Återge rândul",
+ "TO-row-insert-above": "InsereazÄ un rând înainte",
+ "TO-row-insert-under": "InsereazÄ un rând dupÄ",
+ "TO-row-prop": "ProprietÄÅ£ile rândului",
+ "TO-row-split": "Ãmparte rândul",
+ "TO-table-prop": "ProprietÄÅ£ile tabelei",
+ "Table Properties": "ProprietÄÅ£ile tabelei",
+ "Text align": "Aliniere",
+ "The bottom side only": "Doar partea de jos",
+ "The left-hand side only": "Doar partea din stânga",
+ "The right and left sides only": "Partea din stânga Åi cea din dreapta",
+ "The right-hand side only": "Doar partea din dreapta",
+ "The top and bottom sides only": "Partea de sus si cea de jos",
+ "The top side only": "Doar partea de sus",
+ "Top": "Sus",
+ "Unset color": "DezactiveazÄ culoarea",
+ "Vertical align": "Aliniere pe verticalÄ",
+ "Width": "LÄÅ£ime",
+ "not-del-last-cell": "HTMLArea refuzÄ cu laÅitate sÄ ÅteargÄ ultima celulÄ din rând.",
+ "not-del-last-col": "HTMLArea refuzÄ cu laÅitate sÄ ÅteargÄ ultima coloamÄ din tabela.",
+ "not-del-last-row": "HTMLArea refuzÄ cu laÅitate sÄ ÅteargÄ ultimul rând din tabela.",
+ "percent": "procente",
+ "pixels": "pixeli"
+};
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/lang/ro.js
------------------------------------------------------------------------------
svn:eol-style = native
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/makefile.xml
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/makefile.xml?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/makefile.xml (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/makefile.xml Sun Jun 11 16:24:48 2006
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<files>
+ <file name="*.{js,html,cgi,css}" />
+
+ <dir name="lang" />
+ <dir name="img" />
+</files>
+
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/makefile.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/table-operations.js
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/table-operations.js?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/table-operations.js (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/table-operations.js Sun Jun 11 16:24:48 2006
@@ -0,0 +1,1160 @@
+// Table Operations Plugin for HTMLArea-3.0
+// Implementation by Mihai Bazon. Sponsored by http://www.bloki.com
+//
+// htmlArea v3.0 - Copyright (c) 2002 interactivetools.com, inc.
+// This notice MUST stay intact for use (see license.txt).
+//
+// A free WYSIWYG editor replacement for <textarea> fields.
+// For full source code and docs, visit http://www.interactivetools.com/
+//
+// Version 3.0 developed by Mihai Bazon for InteractiveTools.
+// http://dynarch.com/mishoo
+//
+// $Id: table-operations.js 30938 2004-07-29 19:08:16Z vgritsenko $
+
+// Object that will encapsulate all the table operations provided by
+// HTMLArea-3.0 (except "insert table" which is included in the main file)
+function TableOperations(editor) {
+ this.editor = editor;
+
+ var cfg = editor.config;
+ var tt = TableOperations.I18N;
+ var bl = TableOperations.btnList;
+ var self = this;
+
+ // register the toolbar buttons provided by this plugin
+ var toolbar = ["linebreak"];
+ for (var i in bl) {
+ var btn = bl[i];
+ if (!btn) {
+ toolbar.push("separator");
+ } else {
+ var id = "TO-" + btn[0];
+ cfg.registerButton(id, tt[id], editor.imgURL(btn[0] + ".gif", "TableOperations"), false,
+ function(editor, id) {
+ // dispatch button press event
+ self.buttonPress(editor, id);
+ }, btn[1]);
+ toolbar.push(id);
+ }
+ }
+
+ // add a new line in the toolbar
+ cfg.toolbar.push(toolbar);
+};
+
+TableOperations._pluginInfo = {
+ name : "TableOperations",
+ version : "1.0",
+ developer : "Mihai Bazon",
+ developer_url : "http://dynarch.com/mishoo/",
+ c_owner : "Mihai Bazon",
+ sponsor : "Zapatec Inc.",
+ sponsor_url : "http://www.bloki.com",
+ license : "htmlArea"
+};
+
+/************************
+ * UTILITIES
+ ************************/
+
+// retrieves the closest element having the specified tagName in the list of
+// ancestors of the current selection/caret.
+TableOperations.prototype.getClosest = function(tagName) {
+ var editor = this.editor;
+ var ancestors = editor.getAllAncestors();
+ var ret = null;
+ tagName = ("" + tagName).toLowerCase();
+ for (var i in ancestors) {
+ var el = ancestors[i];
+ if (el.tagName.toLowerCase() == tagName) {
+ ret = el;
+ break;
+ }
+ }
+ return ret;
+};
+
+// this function requires the file PopupDiv/PopupWin to be loaded from browser
+TableOperations.prototype.dialogTableProperties = function() {
+ var i18n = TableOperations.I18N;
+ // retrieve existing values
+ var table = this.getClosest("table");
+ // this.editor.selectNodeContents(table);
+ // this.editor.updateToolbar();
+
+ var dialog = new PopupWin(this.editor, i18n["Table Properties"], function(dialog, params) {
+ TableOperations.processStyle(params, table);
+ for (var i in params) {
+ var val = params[i];
+ switch (i) {
+ case "f_caption":
+ if (/\S/.test(val)) {
+ // contains non white-space characters
+ var caption = table.getElementsByTagName("caption")[0];
+ if (!caption) {
+ caption = dialog.editor._doc.createElement("caption");
+ table.insertBefore(caption, table.firstChild);
+ }
+ caption.innerHTML = val;
+ } else {
+ // search for caption and delete it if found
+ var caption = table.getElementsByTagName("caption")[0];
+ if (caption) {
+ caption.parentNode.removeChild(caption);
+ }
+ }
+ break;
+ case "f_summary":
+ table.summary = val;
+ break;
+ case "f_width":
+ table.style.width = ("" + val) + params.f_unit;
+ break;
+ case "f_align":
+ table.align = val;
+ break;
+ case "f_spacing":
+ table.cellSpacing = val;
+ break;
+ case "f_padding":
+ table.cellPadding = val;
+ break;
+ case "f_borders":
+ table.border = val;
+ break;
+ case "f_frames":
+ table.frame = val;
+ break;
+ case "f_rules":
+ table.rules = val;
+ break;
+ }
+ }
+ // various workarounds to refresh the table display (Gecko,
+ // what's going on?! do not disappoint me!)
+ dialog.editor.forceRedraw();
+ dialog.editor.focusEditor();
+ dialog.editor.updateToolbar();
+ var save_collapse = table.style.borderCollapse;
+ table.style.borderCollapse = "collapse";
+ table.style.borderCollapse = "separate";
+ table.style.borderCollapse = save_collapse;
+ },
+
+ // this function gets called when the dialog needs to be initialized
+ function (dialog) {
+
+ var f_caption = "";
+ var capel = table.getElementsByTagName("caption")[0];
+ if (capel) {
+ f_caption = capel.innerHTML;
+ }
+ var f_summary = table.summary;
+ var f_width = parseInt(table.style.width);
+ isNaN(f_width) && (f_width = "");
+ var f_unit = /%/.test(table.style.width) ? 'percent' : 'pixels';
+ var f_align = table.align;
+ var f_spacing = table.cellSpacing;
+ var f_padding = table.cellPadding;
+ var f_borders = table.border;
+ var f_frames = table.frame;
+ var f_rules = table.rules;
+
+ function selected(val) {
+ return val ? " selected" : "";
+ };
+
+ // dialog contents
+ dialog.content.style.width = "400px";
+ dialog.content.innerHTML = " \
+<div class='title'\
+ style='background: url(" + dialog.baseURL + dialog.editor.imgURL("table-prop.gif", "TableOperations") + ") #fff 98% 50% no-repeat'>" + i18n["Table Properties"] + "\
+</div> \
+<table style='width:100%'> \
+ <tr> \
+ <td> \
+ <fieldset><legend>" + i18n["Description"] + "</legend> \
+ <table style='width:100%'> \
+ <tr> \
+ <td class='label'>" + i18n["Caption"] + ":</td> \
+ <td class='value'><input type='text' name='f_caption' value='" + f_caption + "'/></td> \
+ </tr><tr> \
+ <td class='label'>" + i18n["Summary"] + ":</td> \
+ <td class='value'><input type='text' name='f_summary' value='" + f_summary + "'/></td> \
+ </tr> \
+ </table> \
+ </fieldset> \
+ </td> \
+ </tr> \
+ <tr><td id='--HA-layout'></td></tr> \
+ <tr> \
+ <td> \
+ <fieldset><legend>" + i18n["Spacing and padding"] + "</legend> \
+ <table style='width:100%'> \
+"+// <tr> \
+// <td class='label'>" + i18n["Width"] + ":</td> \
+// <td><input type='text' name='f_width' value='" + f_width + "' size='5' /> \
+// <select name='f_unit'> \
+// <option value='%'" + selected(f_unit == "percent") + ">" + i18n["percent"] + "</option> \
+// <option value='px'" + selected(f_unit == "pixels") + ">" + i18n["pixels"] + "</option> \
+// </select> " + i18n["Align"] + ": \
+// <select name='f_align'> \
+// <option value='left'" + selected(f_align == "left") + ">" + i18n["Left"] + "</option> \
+// <option value='center'" + selected(f_align == "center") + ">" + i18n["Center"] + "</option> \
+// <option value='right'" + selected(f_align == "right") + ">" + i18n["Right"] + "</option> \
+// </select> \
+// </td> \
+// </tr> \
+" <tr> \
+ <td class='label'>" + i18n["Spacing"] + ":</td> \
+ <td><input type='text' name='f_spacing' size='5' value='" + f_spacing + "' /> " + i18n["Padding"] + ":\
+ <input type='text' name='f_padding' size='5' value='" + f_padding + "' /> " + i18n["pixels"] + "\
+ </td> \
+ </tr> \
+ </table> \
+ </fieldset> \
+ </td> \
+ </tr> \
+ <tr> \
+ <td> \
+ <fieldset><legend>Frame and borders</legend> \
+ <table width='100%'> \
+ <tr> \
+ <td class='label'>" + i18n["Borders"] + ":</td> \
+ <td><input name='f_borders' type='text' size='5' value='" + f_borders + "' /> " + i18n["pixels"] + "</td> \
+ </tr> \
+ <tr> \
+ <td class='label'>" + i18n["Frames"] + ":</td> \
+ <td> \
+ <select name='f_frames'> \
+ <option value='void'" + selected(f_frames == "void") + ">" + i18n["No sides"] + "</option> \
+ <option value='above'" + selected(f_frames == "above") + ">" + i18n["The top side only"] + "</option> \
+ <option value='below'" + selected(f_frames == "below") + ">" + i18n["The bottom side only"] + "</option> \
+ <option value='hsides'" + selected(f_frames == "hsides") + ">" + i18n["The top and bottom sides only"] + "</option> \
+ <option value='vsides'" + selected(f_frames == "vsides") + ">" + i18n["The right and left sides only"] + "</option> \
+ <option value='lhs'" + selected(f_frames == "lhs") + ">" + i18n["The left-hand side only"] + "</option> \
+ <option value='rhs'" + selected(f_frames == "rhs") + ">" + i18n["The right-hand side only"] + "</option> \
+ <option value='box'" + selected(f_frames == "box") + ">" + i18n["All four sides"] + "</option> \
+ </select> \
+ </td> \
+ </tr> \
+ <tr> \
+ <td class='label'>" + i18n["Rules"] + ":</td> \
+ <td> \
+ <select name='f_rules'> \
+ <option value='none'" + selected(f_rules == "none") + ">" + i18n["No rules"] + "</option> \
+ <option value='rows'" + selected(f_rules == "rows") + ">" + i18n["Rules will appear between rows only"] + "</option> \
+ <option value='cols'" + selected(f_rules == "cols") + ">" + i18n["Rules will appear between columns only"] + "</option> \
+ <option value='all'" + selected(f_rules == "all") + ">" + i18n["Rules will appear between all rows and columns"] + "</option> \
+ </select> \
+ </td> \
+ </tr> \
+ </table> \
+ </fieldset> \
+ </td> \
+ </tr> \
+ <tr> \
+ <td id='--HA-style'></td> \
+ </tr> \
+</table> \
+";
+ var st_prop = TableOperations.createStyleFieldset(dialog.doc, dialog.editor, table);
+ var p = dialog.doc.getElementById("--HA-style");
+ p.appendChild(st_prop);
+ var st_layout = TableOperations.createStyleLayoutFieldset(dialog.doc, dialog.editor, table);
+ p = dialog.doc.getElementById("--HA-layout");
+ p.appendChild(st_layout);
+ dialog.modal = true;
+ dialog.addButtons("ok", "cancel");
+ dialog.showAtElement(dialog.editor._iframe, "c");
+ });
+};
+
+// this function requires the file PopupDiv/PopupWin to be loaded from browser
+TableOperations.prototype.dialogRowCellProperties = function(cell) {
+ var i18n = TableOperations.I18N;
+ // retrieve existing values
+ var element = this.getClosest(cell ? "td" : "tr");
+ var table = this.getClosest("table");
+ // this.editor.selectNodeContents(element);
+ // this.editor.updateToolbar();
+
+ var dialog = new PopupWin(this.editor, i18n[cell ? "Cell Properties" : "Row Properties"], function(dialog, params) {
+ TableOperations.processStyle(params, element);
+ for (var i in params) {
+ var val = params[i];
+ switch (i) {
+ case "f_align":
+ element.align = val;
+ break;
+ case "f_char":
+ element.ch = val;
+ break;
+ case "f_valign":
+ element.vAlign = val;
+ break;
+ }
+ }
+ // various workarounds to refresh the table display (Gecko,
+ // what's going on?! do not disappoint me!)
+ dialog.editor.forceRedraw();
+ dialog.editor.focusEditor();
+ dialog.editor.updateToolbar();
+ var save_collapse = table.style.borderCollapse;
+ table.style.borderCollapse = "collapse";
+ table.style.borderCollapse = "separate";
+ table.style.borderCollapse = save_collapse;
+ },
+
+ // this function gets called when the dialog needs to be initialized
+ function (dialog) {
+
+ var f_align = element.align;
+ var f_valign = element.vAlign;
+ var f_char = element.ch;
+
+ function selected(val) {
+ return val ? " selected" : "";
+ };
+
+ // dialog contents
+ dialog.content.style.width = "400px";
+ dialog.content.innerHTML = " \
+<div class='title'\
+ style='background: url(" + dialog.baseURL + dialog.editor.imgURL(cell ? "cell-prop.gif" : "row-prop.gif", "TableOperations") + ") #fff 98% 50% no-repeat'>" + i18n[cell ? "Cell Properties" : "Row Properties"] + "</div> \
+<table style='width:100%'> \
+ <tr> \
+ <td id='--HA-layout'> \
+"+// <fieldset><legend>" + i18n["Layout"] + "</legend> \
+// <table style='width:100%'> \
+// <tr> \
+// <td class='label'>" + i18n["Align"] + ":</td> \
+// <td> \
+// <select name='f_align'> \
+// <option value='left'" + selected(f_align == "left") + ">" + i18n["Left"] + "</option> \
+// <option value='center'" + selected(f_align == "center") + ">" + i18n["Center"] + "</option> \
+// <option value='right'" + selected(f_align == "right") + ">" + i18n["Right"] + "</option> \
+// <option value='char'" + selected(f_align == "char") + ">" + i18n["Char"] + "</option> \
+// </select> \
+// " + i18n["Char"] + ": \
+// <input type='text' style='font-family: monospace; text-align: center' name='f_char' size='1' value='" + f_char + "' /> \
+// </td> \
+// </tr><tr> \
+// <td class='label'>" + i18n["Vertical align"] + ":</td> \
+// <td> \
+// <select name='f_valign'> \
+// <option value='top'" + selected(f_valign == "top") + ">" + i18n["Top"] + "</option> \
+// <option value='middle'" + selected(f_valign == "middle") + ">" + i18n["Middle"] + "</option> \
+// <option value='bottom'" + selected(f_valign == "bottom") + ">" + i18n["Bottom"] + "</option> \
+// <option value='baseline'" + selected(f_valign == "baseline") + ">" + i18n["Baseline"] + "</option> \
+// </select> \
+// </td> \
+// </tr> \
+// </table> \
+// </fieldset> \
+" </td> \
+ </tr> \
+ <tr> \
+ <td id='--HA-style'></td> \
+ </tr> \
+</table> \
+";
+ var st_prop = TableOperations.createStyleFieldset(dialog.doc, dialog.editor, element);
+ var p = dialog.doc.getElementById("--HA-style");
+ p.appendChild(st_prop);
+ var st_layout = TableOperations.createStyleLayoutFieldset(dialog.doc, dialog.editor, element);
+ p = dialog.doc.getElementById("--HA-layout");
+ p.appendChild(st_layout);
+ dialog.modal = true;
+ dialog.addButtons("ok", "cancel");
+ dialog.showAtElement(dialog.editor._iframe, "c");
+ });
+};
+
+// this function gets called when some button from the TableOperations toolbar
+// was pressed.
+TableOperations.prototype.buttonPress = function(editor, button_id) {
+ this.editor = editor;
+ var mozbr = HTMLArea.is_gecko ? "<br />" : "";
+ var i18n = TableOperations.I18N;
+
+ // helper function that clears the content in a table row
+ function clearRow(tr) {
+ var tds = tr.getElementsByTagName("td");
+ for (var i = tds.length; --i >= 0;) {
+ var td = tds[i];
+ td.rowSpan = 1;
+ td.innerHTML = mozbr;
+ }
+ };
+
+ function splitRow(td) {
+ var n = parseInt("" + td.rowSpan);
+ var nc = parseInt("" + td.colSpan);
+ td.rowSpan = 1;
+ tr = td.parentNode;
+ var itr = tr.rowIndex;
+ var trs = tr.parentNode.rows;
+ var index = td.cellIndex;
+ while (--n > 0) {
+ tr = trs[++itr];
+ var otd = editor._doc.createElement("td");
+ otd.colSpan = td.colSpan;
+ otd.innerHTML = mozbr;
+ tr.insertBefore(otd, tr.cells[index]);
+ }
+ editor.forceRedraw();
+ editor.updateToolbar();
+ };
+
+ function splitCol(td) {
+ var nc = parseInt("" + td.colSpan);
+ td.colSpan = 1;
+ tr = td.parentNode;
+ var ref = td.nextSibling;
+ while (--nc > 0) {
+ var otd = editor._doc.createElement("td");
+ otd.rowSpan = td.rowSpan;
+ otd.innerHTML = mozbr;
+ tr.insertBefore(otd, ref);
+ }
+ editor.forceRedraw();
+ editor.updateToolbar();
+ };
+
+ function splitCell(td) {
+ var nc = parseInt("" + td.colSpan);
+ splitCol(td);
+ var items = td.parentNode.cells;
+ var index = td.cellIndex;
+ while (nc-- > 0) {
+ splitRow(items[index++]);
+ }
+ };
+
+ function selectNextNode(el) {
+ var node = el.nextSibling;
+ while (node && node.nodeType != 1) {
+ node = node.nextSibling;
+ }
+ if (!node) {
+ node = el.previousSibling;
+ while (node && node.nodeType != 1) {
+ node = node.previousSibling;
+ }
+ }
+ if (!node) {
+ node = el.parentNode;
+ }
+ editor.selectNodeContents(node);
+ };
+
+ switch (button_id) {
+ // ROWS
+
+ case "TO-row-insert-above":
+ case "TO-row-insert-under":
+ var tr = this.getClosest("tr");
+ if (!tr) {
+ break;
+ }
+ var otr = tr.cloneNode(true);
+ clearRow(otr);
+ tr.parentNode.insertBefore(otr, /under/.test(button_id) ? tr.nextSibling : tr);
+ editor.forceRedraw();
+ editor.focusEditor();
+ break;
+ case "TO-row-delete":
+ var tr = this.getClosest("tr");
+ if (!tr) {
+ break;
+ }
+ var par = tr.parentNode;
+ if (par.rows.length == 1) {
+ alert(i18n["not-del-last-row"]);
+ break;
+ }
+ // set the caret first to a position that doesn't
+ // disappear.
+ selectNextNode(tr);
+ par.removeChild(tr);
+ editor.forceRedraw();
+ editor.focusEditor();
+ editor.updateToolbar();
+ break;
+ case "TO-row-split":
+ var td = this.getClosest("td");
+ if (!td) {
+ break;
+ }
+ splitRow(td);
+ break;
+
+ // COLUMNS
+
+ case "TO-col-insert-before":
+ case "TO-col-insert-after":
+ var td = this.getClosest("td");
+ if (!td) {
+ break;
+ }
+ var rows = td.parentNode.parentNode.rows;
+ var index = td.cellIndex;
+ for (var i = rows.length; --i >= 0;) {
+ var tr = rows[i];
+ var ref = tr.cells[index + (/after/.test(button_id) ? 1 : 0)];
+ var otd = editor._doc.createElement("td");
+ otd.innerHTML = mozbr;
+ tr.insertBefore(otd, ref);
+ }
+ editor.focusEditor();
+ break;
+ case "TO-col-split":
+ var td = this.getClosest("td");
+ if (!td) {
+ break;
+ }
+ splitCol(td);
+ break;
+ case "TO-col-delete":
+ var td = this.getClosest("td");
+ if (!td) {
+ break;
+ }
+ var index = td.cellIndex;
+ if (td.parentNode.cells.length == 1) {
+ alert(i18n["not-del-last-col"]);
+ break;
+ }
+ // set the caret first to a position that doesn't disappear
+ selectNextNode(td);
+ var rows = td.parentNode.parentNode.rows;
+ for (var i = rows.length; --i >= 0;) {
+ var tr = rows[i];
+ tr.removeChild(tr.cells[index]);
+ }
+ editor.forceRedraw();
+ editor.focusEditor();
+ editor.updateToolbar();
+ break;
+
+ // CELLS
+
+ case "TO-cell-split":
+ var td = this.getClosest("td");
+ if (!td) {
+ break;
+ }
+ splitCell(td);
+ break;
+ case "TO-cell-insert-before":
+ case "TO-cell-insert-after":
+ var td = this.getClosest("td");
+ if (!td) {
+ break;
+ }
+ var tr = td.parentNode;
+ var otd = editor._doc.createElement("td");
+ otd.innerHTML = mozbr;
+ tr.insertBefore(otd, /after/.test(button_id) ? td.nextSibling : td);
+ editor.forceRedraw();
+ editor.focusEditor();
+ break;
+ case "TO-cell-delete":
+ var td = this.getClosest("td");
+ if (!td) {
+ break;
+ }
+ if (td.parentNode.cells.length == 1) {
+ alert(i18n["not-del-last-cell"]);
+ break;
+ }
+ // set the caret first to a position that doesn't disappear
+ selectNextNode(td);
+ td.parentNode.removeChild(td);
+ editor.forceRedraw();
+ editor.updateToolbar();
+ break;
+ case "TO-cell-merge":
+ // !! FIXME: Mozilla specific !!
+ var sel = editor._getSelection();
+ var range, i = 0;
+ var rows = [];
+ var row = null;
+ var cells = null;
+ if (!HTMLArea.is_ie) {
+ try {
+ while (range = sel.getRangeAt(i++)) {
+ var td = range.startContainer.childNodes[range.startOffset];
+ if (td.parentNode != row) {
+ row = td.parentNode;
+ (cells) && rows.push(cells);
+ cells = [];
+ }
+ cells.push(td);
+ }
+ } catch(e) {/* finished walking through selection */}
+ rows.push(cells);
+ } else {
+ // Internet Explorer "browser"
+ var td = this.getClosest("td");
+ if (!td) {
+ alert(i18n["Please click into some cell"]);
+ break;
+ }
+ var tr = td.parentElement;
+ var no_cols = prompt(i18n["How many columns would you like to merge?"], 2);
+ if (!no_cols) {
+ // cancelled
+ break;
+ }
+ var no_rows = prompt(i18n["How many rows would you like to merge?"], 2);
+ if (!no_rows) {
+ // cancelled
+ break;
+ }
+ var cell_index = td.cellIndex;
+ while (no_rows-- > 0) {
+ td = tr.cells[cell_index];
+ cells = [td];
+ for (var i = 1; i < no_cols; ++i) {
+ td = td.nextSibling;
+ if (!td) {
+ break;
+ }
+ cells.push(td);
+ }
+ rows.push(cells);
+ tr = tr.nextSibling;
+ if (!tr) {
+ break;
+ }
+ }
+ }
+ var HTML = "";
+ for (i = 0; i < rows.length; ++i) {
+ // i && (HTML += "<br />");
+ var cells = rows[i];
+ for (var j = 0; j < cells.length; ++j) {
+ // j && (HTML += " ");
+ var cell = cells[j];
+ HTML += cell.innerHTML;
+ (i || j) && (cell.parentNode.removeChild(cell));
+ }
+ }
+ var td = rows[0][0];
+ td.innerHTML = HTML;
+ td.rowSpan = rows.length;
+ td.colSpan = rows[0].length;
+ editor.selectNodeContents(td);
+ editor.forceRedraw();
+ editor.focusEditor();
+ break;
+
+ // PROPERTIES
+
+ case "TO-table-prop":
+ this.dialogTableProperties();
+ break;
+
+ case "TO-row-prop":
+ this.dialogRowCellProperties(false);
+ break;
+
+ case "TO-cell-prop":
+ this.dialogRowCellProperties(true);
+ break;
+
+ default:
+ alert("Button [" + button_id + "] not yet implemented");
+ }
+};
+
+// the list of buttons added by this plugin
+TableOperations.btnList = [
+ // table properties button
+ ["table-prop", "table"],
+ null, // separator
+
+ // ROWS
+ ["row-prop", "tr"],
+ ["row-insert-above", "tr"],
+ ["row-insert-under", "tr"],
+ ["row-delete", "tr"],
+ ["row-split", "td[rowSpan!=1]"],
+ null,
+
+ // COLS
+ ["col-insert-before", "td"],
+ ["col-insert-after", "td"],
+ ["col-delete", "td"],
+ ["col-split", "td[colSpan!=1]"],
+ null,
+
+ // CELLS
+ ["cell-prop", "td"],
+ ["cell-insert-before", "td"],
+ ["cell-insert-after", "td"],
+ ["cell-delete", "td"],
+ ["cell-merge", "tr"],
+ ["cell-split", "td[colSpan!=1,rowSpan!=1]"]
+ ];
+
+
+
+//// GENERIC CODE [style of any element; this should be moved into a separate
+//// file as it'll be very useful]
+//// BEGIN GENERIC CODE -----------------------------------------------------
+
+TableOperations.getLength = function(value) {
+ var len = parseInt(value);
+ if (isNaN(len)) {
+ len = "";
+ }
+ return len;
+};
+
+// Applies the style found in "params" to the given element.
+TableOperations.processStyle = function(params, element) {
+ var style = element.style;
+ for (var i in params) {
+ var val = params[i];
+ switch (i) {
+ case "f_st_backgroundColor":
+ style.backgroundColor = val;
+ break;
+ case "f_st_color":
+ style.color = val;
+ break;
+ case "f_st_backgroundImage":
+ if (/\S/.test(val)) {
+ style.backgroundImage = "url(" + val + ")";
+ } else {
+ style.backgroundImage = "none";
+ }
+ break;
+ case "f_st_borderWidth":
+ style.borderWidth = val;
+ break;
+ case "f_st_borderStyle":
+ style.borderStyle = val;
+ break;
+ case "f_st_borderColor":
+ style.borderColor = val;
+ break;
+ case "f_st_borderCollapse":
+ style.borderCollapse = val ? "collapse" : "";
+ break;
+ case "f_st_width":
+ if (/\S/.test(val)) {
+ style.width = val + params["f_st_widthUnit"];
+ } else {
+ style.width = "";
+ }
+ break;
+ case "f_st_height":
+ if (/\S/.test(val)) {
+ style.height = val + params["f_st_heightUnit"];
+ } else {
+ style.height = "";
+ }
+ break;
+ case "f_st_textAlign":
+ if (val == "char") {
+ var ch = params["f_st_textAlignChar"];
+ if (ch == '"') {
+ ch = '\\"';
+ }
+ style.textAlign = '"' + ch + '"';
+ } else {
+ style.textAlign = val;
+ }
+ break;
+ case "f_st_verticalAlign":
+ style.verticalAlign = val;
+ break;
+ case "f_st_float":
+ style.cssFloat = val;
+ break;
+// case "f_st_margin":
+// style.margin = val + "px";
+// break;
+// case "f_st_padding":
+// style.padding = val + "px";
+// break;
+ }
+ }
+};
+
+// Returns an HTML element for a widget that allows color selection. That is,
+// a button that contains the given color, if any, and when pressed will popup
+// the sooner-or-later-to-be-rewritten select_color.html dialog allowing user
+// to select some color. If a color is selected, an input field with the name
+// "f_st_"+name will be updated with the color value in #123456 format.
+TableOperations.createColorButton = function(doc, editor, color, name) {
+ if (!color) {
+ color = "";
+ } else if (!/#/.test(color)) {
+ color = HTMLArea._colorToRgb(color);
+ }
+
+ var df = doc.createElement("span");
+ var field = doc.createElement("input");
+ field.type = "hidden";
+ df.appendChild(field);
+ field.name = "f_st_" + name;
+ field.value = color;
+ var button = doc.createElement("span");
+ button.className = "buttonColor";
+ df.appendChild(button);
+ var span = doc.createElement("span");
+ span.className = "chooser";
+ // span.innerHTML = " ";
+ span.style.backgroundColor = color;
+ button.appendChild(span);
+ button.onmouseover = function() { if (!this.disabled) { this.className += " buttonColor-hilite"; }};
+ button.onmouseout = function() { if (!this.disabled) { this.className = "buttonColor"; }};
+ span.onclick = function() {
+ if (this.parentNode.disabled) {
+ return false;
+ }
+ editor._popupDialog("select_color.html", function(color) {
+ if (color) {
+ span.style.backgroundColor = "#" + color;
+ field.value = "#" + color;
+ }
+ }, color);
+ };
+ var span2 = doc.createElement("span");
+ span2.innerHTML = "×";
+ span2.className = "nocolor";
+ span2.title = TableOperations.I18N["Unset color"];
+ button.appendChild(span2);
+ span2.onmouseover = function() { if (!this.parentNode.disabled) { this.className += " nocolor-hilite"; }};
+ span2.onmouseout = function() { if (!this.parentNode.disabled) { this.className = "nocolor"; }};
+ span2.onclick = function() {
+ span.style.backgroundColor = "";
+ field.value = "";
+ };
+ return df;
+};
+
+TableOperations.createStyleLayoutFieldset = function(doc, editor, el) {
+ var i18n = TableOperations.I18N;
+ var fieldset = doc.createElement("fieldset");
+ var legend = doc.createElement("legend");
+ fieldset.appendChild(legend);
+ legend.innerHTML = i18n["Layout"];
+ var table = doc.createElement("table");
+ fieldset.appendChild(table);
+ table.style.width = "100%";
+ var tbody = doc.createElement("tbody");
+ table.appendChild(tbody);
+
+ var tagname = el.tagName.toLowerCase();
+ var tr, td, input, select, option, options, i;
+
+ if (tagname != "td" && tagname != "tr" && tagname != "th") {
+ tr = doc.createElement("tr");
+ tbody.appendChild(tr);
+ td = doc.createElement("td");
+ td.className = "label";
+ tr.appendChild(td);
+ td.innerHTML = i18n["Float"] + ":";
+ td = doc.createElement("td");
+ tr.appendChild(td);
+ select = doc.createElement("select");
+ td.appendChild(select);
+ select.name = "f_st_float";
+ options = ["None", "Left", "Right"];
+ for (i in options) {
+ var Val = options[i];
+ var val = options[i].toLowerCase();
+ option = doc.createElement("option");
+ option.innerHTML = i18n[Val];
+ option.value = val;
+ option.selected = (("" + el.style.cssFloat).toLowerCase() == val);
+ select.appendChild(option);
+ }
+ }
+
+ tr = doc.createElement("tr");
+ tbody.appendChild(tr);
+ td = doc.createElement("td");
+ td.className = "label";
+ tr.appendChild(td);
+ td.innerHTML = i18n["Width"] + ":";
+ td = doc.createElement("td");
+ tr.appendChild(td);
+ input = doc.createElement("input");
+ input.type = "text";
+ input.value = TableOperations.getLength(el.style.width);
+ input.size = "5";
+ input.name = "f_st_width";
+ input.style.marginRight = "0.5em";
+ td.appendChild(input);
+ select = doc.createElement("select");
+ select.name = "f_st_widthUnit";
+ option = doc.createElement("option");
+ option.innerHTML = i18n["percent"];
+ option.value = "%";
+ option.selected = /%/.test(el.style.width);
+ select.appendChild(option);
+ option = doc.createElement("option");
+ option.innerHTML = i18n["pixels"];
+ option.value = "px";
+ option.selected = /px/.test(el.style.width);
+ select.appendChild(option);
+ td.appendChild(select);
+
+ select.style.marginRight = "0.5em";
+ td.appendChild(doc.createTextNode(i18n["Text align"] + ":"));
+ select = doc.createElement("select");
+ select.style.marginLeft = select.style.marginRight = "0.5em";
+ td.appendChild(select);
+ select.name = "f_st_textAlign";
+ options = ["Left", "Center", "Right", "Justify"];
+ if (tagname == "td") {
+ options.push("Char");
+ }
+ input = doc.createElement("input");
+ input.name = "f_st_textAlignChar";
+ input.size = "1";
+ input.style.fontFamily = "monospace";
+ td.appendChild(input);
+ for (i in options) {
+ var Val = options[i];
+ var val = Val.toLowerCase();
+ option = doc.createElement("option");
+ option.value = val;
+ option.innerHTML = i18n[Val];
+ option.selected = (el.style.textAlign.toLowerCase() == val);
+ select.appendChild(option);
+ }
+ function setCharVisibility(value) {
+ input.style.visibility = value ? "visible" : "hidden";
+ if (value) {
+ input.focus();
+ input.select();
+ }
+ };
+ select.onchange = function() { setCharVisibility(this.value == "char"); };
+ setCharVisibility(select.value == "char");
+
+ tr = doc.createElement("tr");
+ tbody.appendChild(tr);
+ td = doc.createElement("td");
+ td.className = "label";
+ tr.appendChild(td);
+ td.innerHTML = i18n["Height"] + ":";
+ td = doc.createElement("td");
+ tr.appendChild(td);
+ input = doc.createElement("input");
+ input.type = "text";
+ input.value = TableOperations.getLength(el.style.height);
+ input.size = "5";
+ input.name = "f_st_height";
+ input.style.marginRight = "0.5em";
+ td.appendChild(input);
+ select = doc.createElement("select");
+ select.name = "f_st_heightUnit";
+ option = doc.createElement("option");
+ option.innerHTML = i18n["percent"];
+ option.value = "%";
+ option.selected = /%/.test(el.style.height);
+ select.appendChild(option);
+ option = doc.createElement("option");
+ option.innerHTML = i18n["pixels"];
+ option.value = "px";
+ option.selected = /px/.test(el.style.height);
+ select.appendChild(option);
+ td.appendChild(select);
+
+ select.style.marginRight = "0.5em";
+ td.appendChild(doc.createTextNode(i18n["Vertical align"] + ":"));
+ select = doc.createElement("select");
+ select.name = "f_st_verticalAlign";
+ select.style.marginLeft = "0.5em";
+ td.appendChild(select);
+ options = ["Top", "Middle", "Bottom", "Baseline"];
+ for (i in options) {
+ var Val = options[i];
+ var val = Val.toLowerCase();
+ option = doc.createElement("option");
+ option.value = val;
+ option.innerHTML = i18n[Val];
+ option.selected = (el.style.verticalAlign.toLowerCase() == val);
+ select.appendChild(option);
+ }
+
+ return fieldset;
+};
+
+// Returns an HTML element containing the style attributes for the given
+// element. This can be easily embedded into any dialog; the functionality is
+// also provided.
+TableOperations.createStyleFieldset = function(doc, editor, el) {
+ var i18n = TableOperations.I18N;
+ var fieldset = doc.createElement("fieldset");
+ var legend = doc.createElement("legend");
+ fieldset.appendChild(legend);
+ legend.innerHTML = i18n["CSS Style"];
+ var table = doc.createElement("table");
+ fieldset.appendChild(table);
+ table.style.width = "100%";
+ var tbody = doc.createElement("tbody");
+ table.appendChild(tbody);
+
+ var tr, td, input, select, option, options, i;
+
+ tr = doc.createElement("tr");
+ tbody.appendChild(tr);
+ td = doc.createElement("td");
+ tr.appendChild(td);
+ td.className = "label";
+ td.innerHTML = i18n["Background"] + ":";
+ td = doc.createElement("td");
+ tr.appendChild(td);
+ var df = TableOperations.createColorButton(doc, editor, el.style.backgroundColor, "backgroundColor");
+ df.firstChild.nextSibling.style.marginRight = "0.5em";
+ td.appendChild(df);
+ td.appendChild(doc.createTextNode(i18n["Image URL"] + ": "));
+ input = doc.createElement("input");
+ input.type = "text";
+ input.name = "f_st_backgroundImage";
+ if (el.style.backgroundImage.match(/url\(\s*(.*?)\s*\)/)) {
+ input.value = RegExp.$1;
+ }
+ // input.style.width = "100%";
+ td.appendChild(input);
+
+ tr = doc.createElement("tr");
+ tbody.appendChild(tr);
+ td = doc.createElement("td");
+ tr.appendChild(td);
+ td.className = "label";
+ td.innerHTML = i18n["FG Color"] + ":";
+ td = doc.createElement("td");
+ tr.appendChild(td);
+ td.appendChild(TableOperations.createColorButton(doc, editor, el.style.color, "color"));
+
+ // for better alignment we include an invisible field.
+ input = doc.createElement("input");
+ input.style.visibility = "hidden";
+ input.type = "text";
+ td.appendChild(input);
+
+ tr = doc.createElement("tr");
+ tbody.appendChild(tr);
+ td = doc.createElement("td");
+ tr.appendChild(td);
+ td.className = "label";
+ td.innerHTML = i18n["Border"] + ":";
+ td = doc.createElement("td");
+ tr.appendChild(td);
+
+ var colorButton = TableOperations.createColorButton(doc, editor, el.style.borderColor, "borderColor");
+ var btn = colorButton.firstChild.nextSibling;
+ td.appendChild(colorButton);
+ // borderFields.push(btn);
+ btn.style.marginRight = "0.5em";
+
+ select = doc.createElement("select");
+ var borderFields = [];
+ td.appendChild(select);
+ select.name = "f_st_borderStyle";
+ options = ["none", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"];
+ var currentBorderStyle = el.style.borderStyle;
+ // Gecko reports "solid solid solid solid" for "border-style: solid".
+ // That is, "top right bottom left" -- we only consider the first
+ // value.
+ (currentBorderStyle.match(/([^\s]*)\s/)) && (currentBorderStyle = RegExp.$1);
+ for (i in options) {
+ var val = options[i];
+ option = doc.createElement("option");
+ option.value = val;
+ option.innerHTML = val;
+ (val == currentBorderStyle) && (option.selected = true);
+ select.appendChild(option);
+ }
+ select.style.marginRight = "0.5em";
+ function setBorderFieldsStatus(value) {
+ for (i in borderFields) {
+ var el = borderFields[i];
+ el.style.visibility = value ? "hidden" : "visible";
+ if (!value && (el.tagName.toLowerCase() == "input")) {
+ el.focus();
+ el.select();
+ }
+ }
+ };
+ select.onchange = function() { setBorderFieldsStatus(this.value == "none"); };
+
+ input = doc.createElement("input");
+ borderFields.push(input);
+ input.type = "text";
+ input.name = "f_st_borderWidth";
+ input.value = TableOperations.getLength(el.style.borderWidth);
+ input.size = "5";
+ td.appendChild(input);
+ input.style.marginRight = "0.5em";
+ var span = doc.createElement("span");
+ span.innerHTML = i18n["pixels"];
+ td.appendChild(span);
+ borderFields.push(span);
+
+ setBorderFieldsStatus(select.value == "none");
+
+ if (el.tagName.toLowerCase() == "table") {
+ // the border-collapse style is only for tables
+ tr = doc.createElement("tr");
+ tbody.appendChild(tr);
+ td = doc.createElement("td");
+ td.className = "label";
+ tr.appendChild(td);
+ input = doc.createElement("input");
+ input.type = "checkbox";
+ input.name = "f_st_borderCollapse";
+ input.id = "f_st_borderCollapse";
+ var val = (/collapse/i.test(el.style.borderCollapse));
+ input.checked = val ? 1 : 0;
+ td.appendChild(input);
+
+ td = doc.createElement("td");
+ tr.appendChild(td);
+ var label = doc.createElement("label");
+ label.htmlFor = "f_st_borderCollapse";
+ label.innerHTML = i18n["Collapsed borders"];
+ td.appendChild(label);
+ }
+
+// tr = doc.createElement("tr");
+// tbody.appendChild(tr);
+// td = doc.createElement("td");
+// td.className = "label";
+// tr.appendChild(td);
+// td.innerHTML = i18n["Margin"] + ":";
+// td = doc.createElement("td");
+// tr.appendChild(td);
+// input = doc.createElement("input");
+// input.type = "text";
+// input.size = "5";
+// input.name = "f_st_margin";
+// td.appendChild(input);
+// input.style.marginRight = "0.5em";
+// td.appendChild(doc.createTextNode(i18n["Padding"] + ":"));
+
+// input = doc.createElement("input");
+// input.type = "text";
+// input.size = "5";
+// input.name = "f_st_padding";
+// td.appendChild(input);
+// input.style.marginLeft = "0.5em";
+// input.style.marginRight = "0.5em";
+// td.appendChild(doc.createTextNode(i18n["pixels"]));
+
+ return fieldset;
+};
+
+//// END GENERIC CODE -------------------------------------------------------
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/TableOperations/table-operations.js
------------------------------------------------------------------------------
svn:eol-style = native
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/makefile.xml
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/makefile.xml?rev=413547&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/makefile.xml (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/makefile.xml Sun Jun 11 16:24:48 2006
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<files>
+ <dir name="SpellChecker" />
+ <dir name="TableOperations" />
+ <dir name="FullPage" />
+ <dir name="CSS" />
+ <dir name="ContextMenu" />
+</files>
Propchange: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/form/htmlarea/plugins/makefile.xml
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org