You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2006/10/08 21:54:16 UTC
svn commit: r454197 [27/29] - in /incubator/roller/trunk/web:
WEB-INF/classes/ roller-ui/authoring/editors/
roller-ui/authoring/editors/xinha/ roller-ui/authoring/editors/xinha/conf/
roller-ui/authoring/editors/xinha/contrib/ roller-ui/authoring/editor...
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/it.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/it.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/it.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/it.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,79 @@
+// I18N constants
+// LANG: "it", ENCODING: UTF-8
+// Author: Fabio Rotondo <fa...@rotondo.it>
+{
+ "Align": "Allinea",
+ "All four sides": "Tutti e quattro i lati",
+ "Background": "Sfondo",
+ "Baseline": "Allineamento",
+ "Border": "Bordo",
+ "Borders": "Bordi",
+ "Bottom": "Basso",
+ "Style [CSS]": "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",
+ "Delete cell": "Cancella cella",
+ "Insert cell after": "Inserisci cella dopo",
+ "Insert cell before": "Inserisci cella prima",
+ "Merge cells": "Unisci celle",
+ "Cell properties": "ProprietÃÂ della cella",
+ "Split cell": "Dividi cella",
+ "Delete column": "Cancella colonna",
+ "Insert column after": "Inserisci colonna dopo",
+ "Insert column before": "Inserisci colonna prima",
+ "Split column": "Dividi colonna",
+ "Delete row": "Cancella riga",
+ "Insert row before": "Inserisci riga prima",
+ "Insert row after": "Inserisci riga dopo",
+ "Row properties": "ProprietÃÂ della riga",
+ "Split row": "Dividi riga",
+ "Table properties": "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",
+ "HTMLArea cowardly refuses to delete the last cell in row.": "HTMLArea si rifiuta codardamente di cancellare l'ultima cella nella riga.",
+ "HTMLArea cowardly refuses to delete the last column in table.": "HTMLArea si rifiuta codardamente di cancellare l'ultima colonna nella tabella.",
+ "HTMLArea cowardly refuses to delete the last row in table.": "HTMLArea si rifiuta codardamente di cancellare l'ultima riga nella tabella.",
+ "percent": "percento",
+ "pixels": "pixels"
+};
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/nb.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/nb.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/nb.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/nb.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,80 @@
+// I18N constants
+// LANG: "nb", ENCODING: UTF-8
+// Author: Mihai Bazon, <mi...@yahoo.com>
+// translated into Norwegian: ses@online.no 11.11.03
+{
+ "Align": "Juster",
+ "All four sides": "Alle fire sider",
+ "Background": "Bakgrund",
+ "Baseline": "Grunnlinje",
+ "Border": "Kantlinje",
+ "Borders": "Kantlinjer",
+ "Bottom": "Bunn",
+ "Style [CSS]": "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",
+ "Delete cell": "Slett celle",
+ "Insert cell after": "Sett inn celle etter",
+ "Insert cell before": "Sett inn celle foran",
+ "Merge cells": "Slå sammen celler",
+ "Cell properties": "Egenskaper for celle",
+ "Split cell": "Del celle",
+ "Delete column": "Slett kolonne",
+ "Insert column after": "Skyt inn kolonne etter",
+ "Insert column before": "Skyt inn kolonne før",
+ "Split column": "Del kolonne",
+ "Delete row": "Slett rad",
+ "Insert row before": "Skyt inn rad foran",
+ "Insert row after": "Skyt inn rad etter",
+ "Row properties": "Egenskaper for rad",
+ "Split row": "Del rad",
+ "Table properties": "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",
+ "HTMLArea cowardly refuses to delete the last cell in row.": "HTMLArea nekter å slette siste cellen i tabellen.",
+ "HTMLArea cowardly refuses to delete the last column in table.": "HTMLArea nekter å slette siste kolonnen i tabellen.",
+ "HTMLArea cowardly refuses to delete the last row in table.": "HTMLArea nekter å slette siste raden i tabellen.",
+ "percent": "prosent",
+ "pixels": "billedpunkter"
+};
\ No newline at end of file
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/nl.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/nl.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/nl.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/nl.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,79 @@
+// I18N constants
+// LANG: "nl", ENCODING: UTF-8
+// Author: Michel Weegeerink (info@mmc-shop.nl), http://mmc-shop.nl
+{
+ "Align": "Uitlijning",
+ "All four sides": "Alle 4 zijden",
+ "Background": "Achtergrond",
+ "Baseline": "Basis",
+ "Border": "Rand",
+ "Borders": "Randen",
+ "Bottom": "Onder",
+ "Style [CSS]": "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",
+ "Delete cell": "Cel verwijderen",
+ "Insert cell after": "Voeg cel toe achter",
+ "Insert cell before": "Voeg cel toe voor",
+ "Merge cells": "Cellen samenvoegen",
+ "Cell properties": "Celeigenschappen",
+ "Split cell": "Cel splitsen",
+ "Delete column": "Kolom verwijderen",
+ "Insert column after": "Kolom invoegen achter",
+ "Insert column before": "Kolom invoegen voor",
+ "Split column": "Kolom splitsen",
+ "Delete row": "Rij verwijderen",
+ "Insert row before": "Rij invoegen boven",
+ "Insert row after": "Rij invoegen onder",
+ "Row properties": "Rij eigenschappen",
+ "Split row": "Rij splitsen",
+ "Table properties": "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",
+ "HTMLArea cowardly refuses to delete the last cell in row.": "HTMLArea kan de laatste cel in deze tabel niet verwijderen.",
+ "HTMLArea cowardly refuses to delete the last column in table.": "HTMLArea kan de laatste kolom in deze tabel niet verwijderen.",
+ "HTMLArea cowardly refuses to delete the last row in table.": "HTMLArea kan de laatste rij in deze tabel niet verwijderen.",
+ "percent": "procent",
+ "pixels": "pixels"
+};
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/no.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/no.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/no.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/no.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,80 @@
+// I18N constants
+// LANG: "no", ENCODING: UTF-8
+// Author: Mihai Bazon, <mi...@yahoo.com>
+// translated into Norwegian: ses@online.no 11.11.03
+{
+ "Align": "Juster",
+ "All four sides": "Alle fire sider",
+ "Background": "Bakgrund",
+ "Baseline": "Grunnlinje",
+ "Border": "Kantlinje",
+ "Borders": "Kantlinjer",
+ "Bottom": "Bunn",
+ "Style [CSS]": "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",
+ "Delete cell": "Slett celle",
+ "Insert cell after": "Sett inn celle etter",
+ "Insert cell before": "Sett inn celle foran",
+ "Merge cells": "Slå sammen celler",
+ "Cell properties": "Egenskaper for celle",
+ "Split cell": "Del celle",
+ "Delete column": "Slett kolonne",
+ "Insert column after": "Skyt inn kolonne etter",
+ "Insert column before": "Skyt inn kolonne før",
+ "Split column": "Del kolonne",
+ "Delete row": "Slett rad",
+ "Insert row before": "Skyt inn rad foran",
+ "Insert row after": "Skyt inn rad etter",
+ "Row properties": "Egenskaper for rad",
+ "Split row": "Del rad",
+ "Table properties": "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",
+ "HTMLArea cowardly refuses to delete the last cell in row.": "HTMLArea nekter å slette siste cellen i tabellen.",
+ "HTMLArea cowardly refuses to delete the last column in table.": "HTMLArea nekter å slette siste kolonnen i tabellen.",
+ "HTMLArea cowardly refuses to delete the last row in table.": "HTMLArea nekter å slette siste raden i tabellen.",
+ "percent": "prosent",
+ "pixels": "billedpunkter"
+};
\ No newline at end of file
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/pl.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/pl.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/pl.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/pl.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,83 @@
+// I18N constants
+// LANG: "pl", ENCODING: UTF-8
+// translated: Krzysztof Kotowicz koto@webworkers.pl
+{
+ "Align": "Wyrównanie",
+ "All four sides": "Wszystkie 4 strony",
+ "Background": "TÅo",
+ "Baseline": "Linia bazowa",
+ "Border": "Ramka",
+ "Borders": "Ramki",
+ "Bottom": "DóÅ",
+ "Style [CSS]": "Styl [CSS]",
+ "CSS Style": "Styl CSS",
+ "Caption": "Podpis",
+ "Cell Properties": "WÅaÅciwoÅci komórki",
+ "Center": "Årodek",
+ "Char": "Znak",
+ "Collapsed borders": "Ramki skolapsowane",
+ "Color": "Kolor",
+ "Description": "Opis",
+ "FG Color": "Kolor czcionek",
+ "Float": "OpÅywanie",
+ "Frames": "Ramki zewn.",
+ "Frame and borders": "Obramowania",
+ "Height": "WysokoÅÄ",
+ "How many columns would you like to merge?": "Ile kolumn chcesz scaliÄ?",
+ "How many rows would you like to merge?": "Ile wierszy chcesz scaliÄ?",
+ "Image URL": "URL obrazka",
+ "Justify": "Wyjustuj",
+ "Layout": "Layout",
+ "Left": "Lewo",
+ "Margin": "Margines",
+ "Middle": "Årodek",
+ "No rules": "Bez wewnÄtrzych",
+ "No sides": "Bez ramek",
+ "None": "Brak",
+ "Padding": "WciÄcia",
+ "Please click into some cell": "Kliknij w jakÄ
Å komórkÄ",
+ "Right": "Prawo",
+ "Row Properties": "WÅaÅciwoÅci wiersza",
+ "Rules will appear between all rows and columns": "Linie bÄdÄ
widoczne pomiÄdzy kolumnami i wierszami",
+ "Rules will appear between columns only": "Linie bÄdÄ
widoczne tylko pomiÄdzy kolumnami",
+ "Rules will appear between rows only": "Linie bÄdÄ
widoczne tylko pomiÄdzy wierszami",
+ "Rules": "Linie wewn.",
+ "Spacing and padding": "Spacjowanie",
+ "Spacing": "OdstÄp",
+ "Summary": "Podsumowanie",
+ "Delete cell": "UsuÅ komórkÄ",
+ "Insert cell after": "Wstaw komórkÄ po",
+ "Insert cell before": "Wstaw komórkÄ przed",
+ "Merge cells": "Scal komórki",
+ "Cell properties": "WÅaÅciwoÅci komórki",
+ "Split cell": "Rozdziel komórkÄ",
+ "Delete column": "UsuÅ kolumnÄ",
+ "Insert column after": "Wstaw kolumnÄ po",
+ "Insert column before": "Wstaw kolumnÄ przed",
+ "Split column": "Rozdziel kolumnÄ",
+ "Delete row": "UsuÅ wiersz",
+ "Insert row before": "Wstaw wiersz przed",
+ "Insert row after": "Wstaw wiersz po",
+ "Row properties": "WÅaÅciwoÅci wiersza",
+ "Split row": "Rozdziel wiersz",
+ "Table properties": "WÅaÅciwoÅci tabeli",
+ "Table Properties": "WÅaÅciwoÅci tabeli",
+ "Text align": "Wyr. w poziomie",
+ "The bottom side only": "Tylko dolna linia",
+ "The left-hand side only": "Tylko lewa linia",
+ "The right and left sides only": "Lewa i prawa linia",
+ "The right-hand side only": "Tylko prawa linia",
+ "The top and bottom sides only": "Górna i dolna linia",
+ "The top side only": "Tylko górna linia",
+ "Top": "Góra",
+ "Unset color": "UsuÅ kolor",
+ "Vertical align": "Wyr. w pionie",
+ "Width": "SzerokoÅÄ",
+ "HTMLArea cowardly refuses to delete the last cell in row.": "Nie możesz skasowaÄ ostatniej komórki w wierszu.",
+ "HTMLArea cowardly refuses to delete the last column in table.": "Nie możesz skasowaÄ ostatniej kolumny w tabeli.",
+ "HTMLArea cowardly refuses to delete the last row in table.": "Nie możesz skasowaÄ ostatniego wiersza w tabeli.",
+ "percent": "%",
+ "pixels": "pikseli",
+ "OK": "OK",
+ "Cancel": "Anuluj"
+};
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/ro.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/ro.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/ro.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/ro.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,79 @@
+// I18N constants
+// LANG: "ro", ENCODING: UTF-8
+// Author: Mihai Bazon, http://dynarch.com/mishoo
+{
+ "Align": "Aliniere",
+ "All four sides": "Toate pÄrÅ£ile",
+ "Background": "Fundal",
+ "Baseline": "Baseline",
+ "Border": "Chenar",
+ "Borders": "Chenare",
+ "Bottom": "Jos",
+ "Style [CSS]": "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",
+ "Delete cell": "Återge celula",
+ "Insert cell after": "InsereazÄ o celulÄ la dreapta",
+ "Insert cell before": "InsereazÄ o celulÄ la stânga",
+ "Merge cells": "UneÅte celulele",
+ "Cell properties": "ProprietÄÅ£ile celulei",
+ "Split cell": "Ãmparte celula",
+ "Delete column": "Återge coloana",
+ "Insert column after": "InsereazÄ o coloanÄ la dreapta",
+ "Insert column before": "InsereazÄ o coloanÄ la stânga",
+ "Split column": "Ãmparte coloana",
+ "Delete row": "Återge rândul",
+ "Insert row before": "InsereazÄ un rând înainte",
+ "Insert row after": "InsereazÄ un rând dupÄ",
+ "Row properties": "ProprietÄÅ£ile rândului",
+ "Split row": "Ãmparte rândul",
+ "Table properties": "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",
+ "HTMLArea cowardly refuses to delete the last cell in row.": "HTMLArea refuzÄ cu laÅitate sÄ ÅteargÄ ultima celulÄ din rând.",
+ "HTMLArea cowardly refuses to delete the last column in table.": "HTMLArea refuzÄ cu laÅitate sÄ ÅteargÄ ultima coloamÄ din tabela.",
+ "HTMLArea cowardly refuses to delete the last row in table.": "HTMLArea refuzÄ cu laÅitate sÄ ÅteargÄ ultimul rând din tabela.",
+ "percent": "procente",
+ "pixels": "pixeli"
+};
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/ru.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/ru.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/ru.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/ru.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,79 @@
+// I18N constants
+// LANG: "ru", ENCODING: UTF-8
+// Author: Andrei Blagorazumov, a@fnr.ru
+{
+ "Align": "ÐÑÑавнивание",
+ "All four sides": "ÐÑе 4 ÑÑоÑонÑ",
+ "Background": "Фон",
+ "Baseline": "ÐÐ°Ð·Ð¾Ð²Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ",
+ "Border": "Рамка",
+ "Borders": "Рамки",
+ "Bottom": "Ðиз",
+ "Style [CSS]": "СÑÐ¸Ð»Ñ [CSS]",
+ "Caption": "Ðаголовок",
+ "Cell Properties": "СвойÑÑва ÑÑеек",
+ "Center": "ЦенÑÑ",
+ "Char": "Символ",
+ "Collapsed borders": "ÐакладÑваÑÑиеÑÑ Ñамки",
+ "Color": "ЦвеÑ",
+ "Description": "ÐпиÑание",
+ "FG Color": "Ð¦Ð²ÐµÑ Ð¿ÐµÑеднего плана",
+ "Float": "ÐбÑекание",
+ "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": "ÐÐµÑ ÑÑоÑон",
+ "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": "Сводка",
+ "Delete cell": "УдалиÑÑ ÑÑейкÑ",
+ "Insert cell after": "ÐÑÑавиÑÑ ÑÑÐµÐ¹ÐºÑ Ð¿Ð¾Ñле",
+ "Insert cell before": "ÐÑÑавиÑÑ ÑÑÐµÐ¹ÐºÑ Ð´Ð¾",
+ "Merge cells": "ÐбÑединиÑÑ ÑÑейки",
+ "Cell properties": "СвойÑÑва ÑÑеек",
+ "Split cell": "РазделиÑÑ ÑÑейкÑ",
+ "Delete column": "УдалиÑÑ ÑÑолбеÑ",
+ "Insert column after": "ÐÑÑавиÑÑ ÑÑÐ¾Ð»Ð±ÐµÑ Ð¿Ð¾Ñле",
+ "Insert column before": "ÐÑÑавиÑÑ ÑÑÐ¾Ð»Ð±ÐµÑ Ð´Ð¾",
+ "Split column": "РазделиÑÑ ÑÑолбеÑ",
+ "Delete row": "УдалиÑÑ ÑÑÑокÑ",
+ "Insert row before": "ÐÑÑавиÑÑ ÑÑÑÐ¾ÐºÑ Ð´Ð¾",
+ "Insert row after": "ÐÑÑавиÑÑ ÑÑÑÐ¾ÐºÑ Ð¿Ð¾Ñле",
+ "Row properties": "СвойÑÑва ÑÑÑоки",
+ "Split row": "РазделиÑÑ ÑÑÑокÑ",
+ "Table properties": "СвойÑÑва ÑаблиÑ",
+ "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": "ШиÑина",
+ "HTMLArea cowardly refuses to delete the last cell in row.": "HTMLArea оÑказалаÑÑ ÑдалÑÑÑ Ð¿Ð¾ÑледнÑÑ ÑÑÐµÐ¹ÐºÑ Ð² ÑÑÑоке.",
+ "HTMLArea cowardly refuses to delete the last column in table.": "HTMLArea оÑказалаÑÑ ÑдалÑÑÑ Ð¿Ð¾Ñледний ÑÑÐ¾Ð»Ð±ÐµÑ Ð² ÑаблиÑе.",
+ "HTMLArea cowardly refuses to delete the last row in table.": "HTMLArea оÑказалаÑÑ ÑдалÑÑÑ Ð¿Ð¾ÑледнÑÑ ÑÑÑÐ¾ÐºÑ Ð² ÑаблиÑе.",
+ "percent": "пÑоÑенÑов",
+ "pixels": "пикÑелей"
+};
\ No newline at end of file
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/sv.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/sv.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/sv.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/sv.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,79 @@
+// I18N constants
+// LANG: "sv" (Swedish), ENCODING: UTF-8
+// translated into Swedish: Erik Dalén, <da...@jpl.se>
+{
+ "Align": "Justera",
+ "All four sides": "Alla fyra sidor",
+ "Background": "Bakgrund",
+ "Baseline": "Baslinje",
+ "Border": "Kantlinje",
+ "Borders": "Kantlinjer",
+ "Bottom": "Botten",
+ "Style [CSS]": "Stil [CSS]",
+ "Caption": "Ãverskrift",
+ "Cell Properties": "Cellegenskaper",
+ "Center": "Centrera",
+ "Char": "Tecken",
+ "Collapsed borders": "Osynliga kantlinjer",
+ "Color": "Färg",
+ "Description": "Beskrivning",
+ "FG Color": "Förgrundsfärg",
+ "Float": "Flytande",
+ "Frames": "ramar",
+ "Height": "Höjd",
+ "How many columns would you like to merge?": "Hur många kolumner vill du slå samman?",
+ "How many rows would you like to merge?": "Hur många rader vill du slå samman?",
+ "Image URL": "Bildens URL",
+ "Justify": "Justera",
+ "Layout": "Layout",
+ "Left": "Venster",
+ "Margin": "Marginal",
+ "Middle": "Mitten",
+ "No rules": "Ingen linjal",
+ "No sides": "Inga sidor",
+ "None": "Ingen",
+ "Padding": "Luft",
+ "Please click into some cell": "Klicka i valfri cell",
+ "Right": "Höger",
+ "Row Properties": "Egenskaper for rad",
+ "Rules will appear between all rows and columns": "Linjaler kommer att synas mellan alla rader och kolumner",
+ "Rules will appear between columns only": "Linjaler kommer enbart synas mellan kolumner",
+ "Rules will appear between rows only": "Linjaler kommer enbart synas mellan rader",
+ "Rules": "Linjaler",
+ "Spacing and padding": "Mellanrum och luft",
+ "Spacing": "Mellanrum",
+ "Summary": "Sammandrag",
+ "Delete cell": "Radera cell",
+ "Insert cell after": "Infoga cell efter",
+ "Insert cell before": "Infoga cell före",
+ "Merge cells": "Slå samman celler",
+ "Cell properties": "Egenskaper for cell",
+ "Split cell": "Dela cell",
+ "Delete column": "Radera kolumn",
+ "Insert column after": "Infoga kolumn efter",
+ "Insert column before": "Infoga kolumn före",
+ "Split column": "Dela kolumn",
+ "Delete row": "Radera rad",
+ "Insert row before": "Infoga rad före",
+ "Insert row after": "Infoga rad efter",
+ "Row properties": "Egenskaper för rad",
+ "Split row": "Dela rad",
+ "Table properties": "Tabellegenskaper",
+ "Table Properties": "Tabellegenskaper",
+ "Text align": "Justera text",
+ "The bottom side only": "Nederkanten enbart",
+ "The left-hand side only": "Vänstersidan enbart",
+ "The right and left sides only": "Höger- och vänstersidan enbart",
+ "The right-hand side only": "Högersidan enbart",
+ "The top and bottom sides only": "Ãver- och nederkanten enbart",
+ "The top side only": "Ãverkanten enbart",
+ "Top": "Ãverkant",
+ "Unset color": "Obestämd färg",
+ "Vertical align": "Vertikal justering",
+ "Width": "Bredd",
+ "HTMLArea cowardly refuses to delete the last cell in row.": "Xinha nekar att radera sista cellen i tabellen.",
+ "HTMLArea cowardly refuses to delete the last column in table.": "Xinha nekar att radera sista kolumnen i tabellen.",
+ "HTMLArea cowardly refuses to delete the last row in table.": "Xinha nekar att radera sista raden i tabellen.",
+ "percent": "procent",
+ "pixels": "bildpunkter"
+};
Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/lang/sv.js
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/table-operations.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/table-operations.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/table-operations.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/TableOperations/table-operations.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,1181 @@
+// 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 584 2006-09-23 13:05:01Z gocher $
+
+// 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 bl = TableOperations.btnList;
+ var self = this;
+
+ // register the toolbar buttons provided by this plugin
+
+ // Remove existing inserttable and toggleborders, we will replace it in our group
+ cfg.removeToolbarElement(' inserttable toggleborders ');
+
+ var toolbar = ["linebreak", "inserttable", "toggleborders"];
+
+ for (var i = 0; i < bl.length; ++i) {
+ var btn = bl[i];
+ if (!btn) {
+ toolbar.push("separator");
+ } else {
+ var id = "TO-" + btn[0];
+ cfg.registerButton(id, HTMLArea._lc(btn[2], "TableOperations"), 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"
+};
+
+TableOperations.prototype._lc = function(string) {
+ return HTMLArea._lc(string, 'TableOperations');
+};
+
+/************************
+ * 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 = 0; i < ancestors.length; ++i) {
+ 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() {
+ // retrieve existing values
+ var table = this.getClosest("table");
+ // this.editor.selectNodeContents(table);
+ // this.editor.updateToolbar();
+
+ var dialog = new PopupWin(this.editor, HTMLArea._lc("Table Properties", "TableOperations"), function(dialog, params) {
+ TableOperations.processStyle(params, table);
+ for (var i in params) {
+ if(typeof params[i] == 'function') continue;
+ 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'>" + HTMLArea._lc("Table Properties", "TableOperations") + "\
+</div> \
+<table style='width:100%'> \
+ <tr> \
+ <td> \
+ <fieldset><legend>" + HTMLArea._lc("Description", "TableOperations") + "</legend> \
+ <table style='width:100%'> \
+ <tr> \
+ <td class='label'>" + HTMLArea._lc("Caption", "TableOperations") + ":</td> \
+ <td class='value'><input type='text' name='f_caption' value='" + f_caption + "'/></td> \
+ </tr><tr> \
+ <td class='label'>" + HTMLArea._lc("Summary", "TableOperations") + ":</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>" + HTMLArea._lc("Spacing and padding", "TableOperations") + "</legend> \
+ <table style='width:100%'> \
+"+// <tr> \
+// <td class='label'>" + HTMLArea._lc("Width", "TableOperations") + ":</td> \
+// <td><input type='text' name='f_width' value='" + f_width + "' size='5' /> \
+// <select name='f_unit'> \
+// <option value='%'" + selected(f_unit == "percent") + ">" + HTMLArea._lc("percent", "TableOperations") + "</option> \
+// <option value='px'" + selected(f_unit == "pixels") + ">" + HTMLArea._lc("pixels", "TableOperations") + "</option> \
+// </select> " + HTMLArea._lc("Align", "TableOperations") + ": \
+// <select name='f_align'> \
+// <option value='left'" + selected(f_align == "left") + ">" + HTMLArea._lc("Left", "TableOperations") + "</option> \
+// <option value='center'" + selected(f_align == "center") + ">" + HTMLArea._lc("Center", "TableOperations") + "</option> \
+// <option value='right'" + selected(f_align == "right") + ">" + HTMLArea._lc("Right", "TableOperations") + "</option> \
+// </select> \
+// </td> \
+// </tr> \
+" <tr> \
+ <td class='label'>" + HTMLArea._lc("Spacing", "TableOperations") + ":</td> \
+ <td><input type='text' name='f_spacing' size='5' value='" + f_spacing + "' /> " + HTMLArea._lc("Padding", "TableOperations") + ":\
+ <input type='text' name='f_padding' size='5' value='" + f_padding + "' /> " + HTMLArea._lc("pixels", "TableOperations") + "\
+ </td> \
+ </tr> \
+ </table> \
+ </fieldset> \
+ </td> \
+ </tr> \
+ <tr> \
+ <td> \
+ <fieldset><legend>" + HTMLArea._lc("Frame and borders", "TableOperations") + "</legend> \
+ <table width='100%'> \
+ <tr> \
+ <td class='label'>" + HTMLArea._lc("Borders", "TableOperations") + ":</td> \
+ <td><input name='f_borders' type='text' size='5' value='" + f_borders + "' /> " + HTMLArea._lc("pixels", "TableOperations") + "</td> \
+ </tr> \
+ <tr> \
+ <td class='label'>" + HTMLArea._lc("Frames", "TableOperations") + ":</td> \
+ <td> \
+ <select name='f_frames'> \
+ <option value='void'" + selected(f_frames == "void") + ">" + HTMLArea._lc("No sides", "TableOperations") + "</option> \
+ <option value='above'" + selected(f_frames == "above") + ">" + HTMLArea._lc("The top side only", "TableOperations") + "</option> \
+ <option value='below'" + selected(f_frames == "below") + ">" + HTMLArea._lc("The bottom side only", "TableOperations") + "</option> \
+ <option value='hsides'" + selected(f_frames == "hsides") + ">" + HTMLArea._lc("The top and bottom sides only", "TableOperations") + "</option> \
+ <option value='vsides'" + selected(f_frames == "vsides") + ">" + HTMLArea._lc("The right and left sides only", "TableOperations") + "</option> \
+ <option value='lhs'" + selected(f_frames == "lhs") + ">" + HTMLArea._lc("The left-hand side only", "TableOperations") + "</option> \
+ <option value='rhs'" + selected(f_frames == "rhs") + ">" + HTMLArea._lc("The right-hand side only", "TableOperations") + "</option> \
+ <option value='box'" + selected(f_frames == "box") + ">" + HTMLArea._lc("All four sides", "TableOperations") + "</option> \
+ </select> \
+ </td> \
+ </tr> \
+ <tr> \
+ <td class='label'>" + HTMLArea._lc("Rules", "TableOperations") + ":</td> \
+ <td> \
+ <select name='f_rules'> \
+ <option value='none'" + selected(f_rules == "none") + ">" + HTMLArea._lc("No rules", "TableOperations") + "</option> \
+ <option value='rows'" + selected(f_rules == "rows") + ">" + HTMLArea._lc("Rules will appear between rows only", "TableOperations") + "</option> \
+ <option value='cols'" + selected(f_rules == "cols") + ">" + HTMLArea._lc("Rules will appear between columns only", "TableOperations") + "</option> \
+ <option value='all'" + selected(f_rules == "all") + ">" + HTMLArea._lc("Rules will appear between all rows and columns", "TableOperations") + "</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) {
+ // 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, cell ? HTMLArea._lc("Cell Properties", "TableOperations") : HTMLArea._lc("Row Properties", "TableOperations"), function(dialog, params) {
+ TableOperations.processStyle(params, element);
+ for (var i in params) {
+ if(typeof params[i] == 'function') continue;
+ 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'>" + HTMLArea._lc(cell ? "Cell Properties" : "Row Properties", "TableOperations") + "</div> \
+<table style='width:100%'> \
+ <tr> \
+ <td id='--HA-layout'> \
+"+// <fieldset><legend>" + HTMLArea._lc("Layout", "TableOperations") + "</legend> \
+// <table style='width:100%'> \
+// <tr> \
+// <td class='label'>" + HTMLArea._lc("Align", "TableOperations") + ":</td> \
+// <td> \
+// <select name='f_align'> \
+// <option value='left'" + selected(f_align == "left") + ">" + HTMLArea._lc("Left", "TableOperations") + "</option> \
+// <option value='center'" + selected(f_align == "center") + ">" + HTMLArea._lc("Center", "TableOperations") + "</option> \
+// <option value='right'" + selected(f_align == "right") + ">" + HTMLArea._lc("Right", "TableOperations") + "</option> \
+// <option value='char'" + selected(f_align == "char") + ">" + HTMLArea._lc("Char", "TableOperations") + "</option> \
+// </select> \
+// " + HTMLArea._lc("Char", "TableOperations") + ": \
+// <input type='text' style='font-family: monospace; text-align: center' name='f_char' size='1' value='" + f_char + "' /> \
+// </td> \
+// </tr><tr> \
+// <td class='label'>" + HTMLArea._lc("Vertical align", "TableOperations") + ":</td> \
+// <td> \
+// <select name='f_valign'> \
+// <option value='top'" + selected(f_valign == "top") + ">" + HTMLArea._lc("Top", "TableOperations") + "</option> \
+// <option value='middle'" + selected(f_valign == "middle") + ">" + HTMLArea._lc("Middle", "TableOperations") + "</option> \
+// <option value='bottom'" + selected(f_valign == "bottom") + ">" + HTMLArea._lc("Bottom", "TableOperations") + "</option> \
+// <option value='baseline'" + selected(f_valign == "baseline") + ">" + HTMLArea._lc("Baseline", "TableOperations") + "</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 />" : "";
+
+ // 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(HTMLArea._lc("HTMLArea cowardly refuses to delete the last row in table.", "TableOperations"));
+ 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;
+ var lastColumn = (td.parentNode.cells.length == index + 1);
+ for (var i = rows.length; --i >= 0;) {
+ var tr = rows[i];
+ var otd = editor._doc.createElement("td");
+ otd.innerHTML = mozbr;
+ if (lastColumn && HTMLArea.is_ie)
+ {
+ tr.insertBefore(otd);
+ }
+ else
+ {
+ var ref = tr.cells[index + (/after/.test(button_id) ? 1 : 0)];
+ 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(HTMLArea._lc("HTMLArea cowardly refuses to delete the last column in table.", "TableOperations"));
+ 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(HTMLArea._lc("HTMLArea cowardly refuses to delete the last cell in row.", "TableOperations"));
+ 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(HTMLArea._lc("Please click into some cell", "TableOperations"));
+ break;
+ }
+ var tr = td.parentElement;
+ var no_cols = prompt(HTMLArea._lc("How many columns would you like to merge?", "TableOperations"), 2);
+ if (!no_cols) {
+ // cancelled
+ break;
+ }
+ var no_rows = prompt(HTMLArea._lc("How many rows would you like to merge?", "TableOperations"), 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", "Table properties"],
+ null, // separator
+
+ // ROWS
+ ["row-prop", "tr", "Row properties"],
+ ["row-insert-above", "tr", "Insert row before"],
+ ["row-insert-under", "tr", "Insert row after"],
+ ["row-delete", "tr", "Delete row"],
+ ["row-split", "td[rowSpan!=1]", "Split row"],
+ null,
+
+ // COLS
+ ["col-insert-before", "td", "Insert column before"],
+ ["col-insert-after", "td", "Insert column after"],
+ ["col-delete", "td", "Delete column"],
+ ["col-split", "td[colSpan!=1]", "Split column"],
+ null,
+
+ // CELLS
+ ["cell-prop", "td", "Cell properties"],
+ ["cell-insert-before", "td", "Insert cell before"],
+ ["cell-insert-after", "td", "Insert cell after"],
+ ["cell-delete", "td", "Delete cell"],
+ ["cell-merge", "tr", "Merge cells"],
+ ["cell-split", "td[colSpan!=1,rowSpan!=1]", "Split cell"]
+ ];
+
+
+
+//// 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) {
+ if(typeof params[i] == 'function') continue;
+ 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 if (val == "-") {
+ style.textAlign = "";
+ } else {
+ style.textAlign = val;
+ }
+ break;
+ case "f_st_verticalAlign":
+ element.vAlign = "";
+ if (val == "-") {
+ style.verticalAlign = "";
+
+ } else {
+ 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 = HTMLArea._lc("Unset color", "TableOperations");
+ 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 fieldset = doc.createElement("fieldset");
+ var legend = doc.createElement("legend");
+ fieldset.appendChild(legend);
+ legend.innerHTML = HTMLArea._lc("Layout", "TableOperations");
+ 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 = HTMLArea._lc("Float", "TableOperations") + ":";
+ td = doc.createElement("td");
+ tr.appendChild(td);
+ select = doc.createElement("select");
+ td.appendChild(select);
+ select.name = "f_st_float";
+ options = ["None", "Left", "Right"];
+ for (var i = 0; i < options.length; ++i) {
+ var Val = options[i];
+ var val = options[i].toLowerCase();
+ option = doc.createElement("option");
+ option.innerHTML = HTMLArea._lc(Val, "TableOperations");
+ 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 = HTMLArea._lc("Width", "TableOperations") + ":";
+ 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 = HTMLArea._lc("percent", "TableOperations");
+ option.value = "%";
+ option.selected = /%/.test(el.style.width);
+ select.appendChild(option);
+ option = doc.createElement("option");
+ option.innerHTML = HTMLArea._lc("pixels", "TableOperations");
+ 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(HTMLArea._lc("Text align", "TableOperations") + ":"));
+ 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 (var i = 0; i < options.length; ++i) {
+ var Val = options[i];
+ var val = Val.toLowerCase();
+ option = doc.createElement("option");
+ option.value = val;
+ option.innerHTML = HTMLArea._lc(Val, "TableOperations");
+ option.selected = ((el.style.textAlign.toLowerCase() == val) || (el.style.textAlign == "" && 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 = HTMLArea._lc("Height", "TableOperations") + ":";
+ 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 = HTMLArea._lc("percent", "TableOperations");
+ option.value = "%";
+ option.selected = /%/.test(el.style.height);
+ select.appendChild(option);
+ option = doc.createElement("option");
+ option.innerHTML = HTMLArea._lc("pixels", "TableOperations");
+ 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(HTMLArea._lc("Vertical align", "TableOperations") + ":"));
+ select = doc.createElement("select");
+ select.name = "f_st_verticalAlign";
+ select.style.marginLeft = "0.5em";
+ td.appendChild(select);
+ options = ["Top", "Middle", "Bottom", "Baseline", "-"];
+ for (var i = 0; i < options.length; ++i) {
+ var Val = options[i];
+ var val = Val.toLowerCase();
+ option = doc.createElement("option");
+ option.value = val;
+ option.innerHTML = HTMLArea._lc(Val, "TableOperations");
+ option.selected = ((el.style.verticalAlign.toLowerCase() == val) || (el.style.verticalAlign == "" && 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 fieldset = doc.createElement("fieldset");
+ var legend = doc.createElement("legend");
+ fieldset.appendChild(legend);
+ legend.innerHTML = HTMLArea._lc("CSS Style", "TableOperations");
+ 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 = HTMLArea._lc("Background", "TableOperations") + ":";
+ 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(HTMLArea._lc("Image URL", "TableOperations") + ": "));
+ 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 = HTMLArea._lc("FG Color", "TableOperations") + ":";
+ 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 = HTMLArea._lc("Border", "TableOperations") + ":";
+ 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 (var i in options) {
+ if(typeof options[i] == 'function') continue;
+ 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 (var i = 0; i < borderFields.length; ++i) {
+ 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 = HTMLArea._lc("pixels", "TableOperations");
+ 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 = HTMLArea._lc("Collapsed borders", "TableOperations");
+ td.appendChild(label);
+ }
+
+// tr = doc.createElement("tr");
+// tbody.appendChild(tr);
+// td = doc.createElement("td");
+// td.className = "label";
+// tr.appendChild(td);
+// td.innerHTML = HTMLArea._lc("Margin", "TableOperations") + ":";
+// 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(HTMLArea._lc("Padding", "TableOperations") + ":"));
+
+// 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(HTMLArea._lc("pixels", "TableOperations")));
+
+ return fieldset;
+};
+
+//// END GENERIC CODE -------------------------------------------------------
\ No newline at end of file
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/img/ed_template.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/img/ed_template.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/img/ed_template.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/img/layout_01.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/img/layout_01.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/img/layout_01.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/img/layout_02.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/img/layout_02.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/img/layout_02.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/img/layout_03.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/img/layout_03.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/img/layout_03.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/de.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/de.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/de.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/de.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,7 @@
+// I18N constants
+// LANG: "de", ENCODING: UTF-8 | ISO-8859-1
+// Author: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de
+{
+ "Insert template" : "Template einfügen",
+ "Cancel" : "Abbrechen"
+};
\ No newline at end of file
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/fr.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/fr.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/fr.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/fr.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,6 @@
+// I18N constants
+// LANG: "fr", ENCODING: UTF-8
+{
+ "Insert template": "Insérer un template",
+ "Cancel": "Annulation"
+};
\ No newline at end of file
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/it.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/it.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/it.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/it.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,6 @@
+// I18N constants
+// LANG: "it", ENCODING: UTF-8 | ISO-8859-1
+{
+ "Insert template" : "Inserisca il template",
+ "Cancel" : "Annullamento"
+};
\ No newline at end of file
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/nb.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/nb.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/nb.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/nb.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,7 @@
+// I18N constants
+// LANG: "nb", ENCODING: UTF-8
+// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com
+{
+ "Insert template": "Sett inn template",
+ "Cancel": "Avbryt"
+};
\ No newline at end of file
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/no.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/no.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/no.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/lang/no.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,7 @@
+// I18N constants
+// LANG: "no", ENCODING: UTF-8
+// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com
+{
+ "Insert template": "Sett inn template",
+ "Cancel": "Avbryt"
+};
\ No newline at end of file
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/popups/template.html
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/popups/template.html?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/popups/template.html (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/popups/template.html Sun Oct 8 12:53:13 2006
@@ -0,0 +1,52 @@
+<html>
+<head>
+<title>Insert template</title>
+ <link rel="stylesheet" type="text/css" href="../../../popups/popup.css" />
+ <script type="text/javascript" src="../../../popups/popup.js"></script>
+
+<script type="text/javascript">
+function Init() {
+ __dlg_translate("Template");
+ __dlg_init();
+ window.resizeTo(400, 200);
+ document.getElementById("cancel").focus();
+}
+
+function onOK(sel) {
+ // pass data back to the calling window
+ var param = new Object();
+ param["templ"] = sel;
+ __dlg_close(param);
+ return false;
+}
+
+function onCancel() {
+ __dlg_close(null);
+ return false;
+}
+</script>
+</head>
+
+<body class="dialog" onload="Init()">
+<div class="title">Insert template</div>
+<form>
+ <table border="0" cellspacing="0" cellpadding="5">
+ <tr>
+ <td align="center" valign="top"><a href="javascript:;" onClick="onOK('1');">
+ <img src="../img/layout_01.gif" alt="" width="106" height="68" border="0" /></a>
+ </td>
+ <td align="center" valign="top"><a href="javascript:;" onClick="onOK('2');">
+ <img src="../img/layout_02.gif" alt="" width="106" height="68" border="0" /></a>
+ </td>
+ <td align="center" valign="top"><a href="javascript:;" onClick="onOK('3');">
+ <img src="../img/layout_03.gif" alt="" width="106" height="68" border="0" /></a><br/>
+ </td>
+ </tr>
+ </table>
+
+ <div id="buttons">
+ <button type="button" name="cancel" id="cancel" onclick="return onCancel();">Cancel</button>
+ </div>
+</form>
+</body>
+</html>
\ No newline at end of file
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/template.css
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/template.css?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/template.css (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/template.css Sun Oct 8 12:53:13 2006
@@ -0,0 +1,3 @@
+div {
+ border: 1px dotted ActiveBorder;
+}
\ No newline at end of file
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/template.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/template.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/template.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Template/template.js Sun Oct 8 12:53:13 2006
@@ -0,0 +1,115 @@
+// Template plugin for HTMLArea
+// Implementation by Udo Schmal based on HTMLArea 3.0
+// Original Author - Udo Schmal www.Schaffrath-NeueMedien.de
+//
+// (c) Udo Schmal & Schaffrath NeueMedien 2004
+// Distributed under the same terms as HTMLArea itself.
+// This notice MUST stay intact for use (see license.txt).
+
+function Template(editor) {
+ this.editor = editor;
+ var cfg = editor.config;
+ var self = this;
+
+ // register the toolbar buttons provided by this plugin
+ cfg.registerButton({
+ id : "template",
+ tooltip : HTMLArea._lc("Insert template","Template"),
+ image : editor.imgURL("ed_template.gif", "Template"),
+ textMode : false,
+ action : function(editor) {
+ self.buttonPress(editor);
+ }
+ });
+ cfg.addToolbarElement("template", "inserthorizontalrule", 1);
+}
+
+Template._pluginInfo = {
+ name : "Template",
+ version : "1.0",
+ developer : "Udo Schmal",
+ developer_url : "http://www.schaffrath-neuemedien.de/",
+ c_owner : "Udo Schmal & Schaffrath NeueMedien",
+ license : "htmlArea"
+};
+
+Template.prototype.onGenerate = function() {
+ var style_id = "Template-style"
+ var style = this.editor._doc.getElementById(style_id);
+ if (style == null) {
+ style = this.editor._doc.createElement("link");
+ style.id = style_id;
+ style.rel = 'stylesheet';
+ style.href = _editor_url + 'plugins/Template/template.css';
+ this.editor._doc.getElementsByTagName("HEAD")[0].appendChild(style);
+ }
+};
+
+Template.prototype.buttonPress = function(editor) {
+ editor._popupDialog( "plugin://Template/template", function( obj ) {
+ if ( !obj ) {//user must have pressed Cancel
+ return false;
+ }
+
+ var bodys = editor._doc.getElementsByTagName("body");
+ var body = bodys[0];
+
+ function getElement(x) {
+ var result = editor._doc.getElementById(x);
+ if (!result) {
+ result = editor._doc.createElement("div");
+ result.id = x;
+ result.innerHTML = x;
+ body.appendChild(result);
+ }
+ if (result.style)
+ result.removeAttribute("style");
+ return result;
+ }
+
+ var content = getElement("content");
+ var menu1 = getElement("menu1");
+ var menu2 = getElement("menu2");
+ var menu3 = getElement("menu3");
+ switch (obj["templ"]) {
+ case "1": menu1.style.position = "absolute";
+ menu1.style.right = "0px";
+ menu1.style.width = "28%";
+ menu1.style.backgroundColor = "#e1ddd9";
+ menu1.style.padding = "2px 20px";
+ content.style.position = "absolute";
+ content.style.left = "0px";
+ content.style.width = "70%";
+ content.style.backgroundColor = "#fff";
+ menu2.style.visibility = "hidden";
+ menu3.style.visibility = "hidden";
+ break;
+ case "2": menu1.style.position = "absolute";
+ menu1.style.left = "0px";
+ menu1.style.width = "28%";
+ menu1.style.height = "100%";
+ menu1.style.backgroundColor = "#e1ddd9";
+ content.style.position = "absolute";
+ content.style.right = "0px";
+ content.style.width = "70%";
+ content.style.backgroundColor = "#fff";
+ menu2.style.visibility = "hidden";
+ menu3.style.visibility = "hidden";
+ break
+ case "3": menu1.style.position = "absolute";
+ menu1.style.left = "0px";
+ menu1.style.width = "28%";
+ menu1.style.backgroundColor = "#e1ddd9";
+ menu2.style.position = "absolute";
+ menu2.style.right = "0px";
+ menu2.style.width = "28%";
+ menu2.style.backgroundColor = "#e1ddd9";
+ content.style.position = "absolute";
+ content.style.right = "30%";
+ content.style.width = "60%";
+ content.style.backgroundColor = "#fff";
+ menu3.style.visibility = "hidden";
+ break
+ }
+ }, null);
+};
\ No newline at end of file
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/UnFormat/img/unformat.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/UnFormat/img/unformat.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.