`, *Standard* sinon)
### Éléments `` ou ` | `
@@ -86,21 +88,24 @@ Le nombre de propriétés acceptées est limitée et dépend du type d'élément
- `font-size` : taille de la police
- `font-style` : style de la police (*italic*)
- `font-weight` : graisse de la police (*bold*)
+- `overflow-wrap` : passage à la ligne si la valeurs est *break-words* ou *anywhere*
- `padding` : remplissage (les déclinaisons en `padding-top`, `padding-left`, etc. sont possibles)
- `text-align` : alignement horizontal du texte
- `vertical-align` : alignement vertical du texte
### Styles prédéfinis
-L'exportation propose des styles prédéfinis qui peuvent être directement utilisés dans les attributs `data-od-style` sans besoin de les déclarer dans le CSS :
+L'exportation propose des styles prédéfinis qui peuvent être directement utilisés dans les attributs `data-od-style` d'une cellule sans besoin de les déclarer dans le CSS :
- `Bold` : Texte en gras
- `BoldItalic` : Texte en gras et italique
-- `Header` : Entête de colonne, appliqué par défaut aux éléments ` | `
+- `Header` : Entête de colonne, appliqué par défaut aux éléments ` | ` et ` | `
- `Italic` : Texte en italique
- `Standard` : Style appliqué par défaut aux éléments ` | `, sans indication particulière
-Ces styles peuvent être surchargés par le CSS.
+Les lignes ont également comme style par défaut `Header` (si la ligne fait partie d'un ``) ou `Standard`.
+
+Ces styles peuvent être surchargés par le CSS. Même si le nom est le même, `cell.Standard` et `row.Standard` sont deux styles différents.
### Parenté entre les styles
diff --git a/demos/dev.css b/demos/dev.css
index f78c28f..eaf9a5b 100644
--- a/demos/dev.css
+++ b/demos/dev.css
@@ -68,3 +68,12 @@ row.Entete {
height: 2cm;
background-color: #ff00ff;
}
+
+cell.LongTexte {
+ vertical-align: top;
+ overflow-wrap: break-word;
+}
+
+row.HauteurFixe {
+ height: 0.45cm;
+}
diff --git a/demos/dev.html b/demos/dev.html
index b7704b2..0892653 100644
--- a/demos/dev.html
+++ b/demos/dev.html
@@ -93,6 +93,10 @@ function fodsContent() {
Classe 1 |
Classe 2 |
+
+ |
+ Exemple de texte long avec plusieurs paragraphes Et qui ne déborde pas quelque soit la longueur (la hauteur est réglée au niveau de l'élement <tr> parent |
+
diff --git a/src/js/opendocument/OpenDocument.OdsConverter.js b/src/js/opendocument/OpenDocument.OdsConverter.js
index 6191102..263073c 100644
--- a/src/js/opendocument/OpenDocument.OdsConverter.js
+++ b/src/js/opendocument/OpenDocument.OdsConverter.js
@@ -326,7 +326,11 @@ OpenDocument.OdsConverter.default_getRowStyleName = function (row, styleManager)
if (styleName) {
return styleName;
}
- return "";
+ if ((row.parentNode.tagName) && (row.parentNode.tagName.toLowerCase() === "thead")) {
+ return "Header";
+ } else {
+ return "Standard";
+ }
};
OpenDocument.OdsConverter.default_getCellStyleName = function (cell, styleManager) {
diff --git a/src/js/opendocument/OpenDocument.Style.js b/src/js/opendocument/OpenDocument.Style.js
index 5e8285c..062cdc5 100644
--- a/src/js/opendocument/OpenDocument.Style.js
+++ b/src/js/opendocument/OpenDocument.Style.js
@@ -28,12 +28,25 @@ OpenDocument.Style.prototype.putStyleProperty = function (stylePropertyDef, valu
case "color":
value = OpenDocument.Style.formatColor(value);
break;
+ case "wrap":
+ value = _convertWrap();
+ break;
}
var property = {
name: propertyName,
value: value
};
this.propertiesMaps.get(stylePropertyDef.category).set(propertyName, property);
+
+ function _convertWrap() {
+ switch(value) {
+ case "anywhere":
+ case "break-word":
+ return "wrap";
+ default:
+ return "no-wrap";
+ }
+ }
};
OpenDocument.Style.prototype.setParent = function (parentStyleName) {
@@ -132,6 +145,12 @@ OpenDocument.Style.getStylePropertyDef = function (type, name) {
return "column-width";
}
break;
+ case "cell":
+ switch(name) {
+ case "overflow-wrap":
+ return "wrap-option";
+ }
+ break;
}
return name;
}
@@ -234,6 +253,11 @@ OpenDocument.Style.STYLEPROPERTYDEFS = {
"vertical-align": {
name: "style:vertical-align",
category: "table-cell"
+ },
+ "wrap-option": {
+ name: "fo:wrap-option",
+ category: "table-cell",
+ format: "wrap"
}
};
diff --git a/src/js/opendocument/OpenDocument.StyleManager.js b/src/js/opendocument/OpenDocument.StyleManager.js
index 7672980..fcc35f3 100644
--- a/src/js/opendocument/OpenDocument.StyleManager.js
+++ b/src/js/opendocument/OpenDocument.StyleManager.js
@@ -396,5 +396,19 @@ OpenDocument.StyleManager.DEFAULT_STYLES = [
"text-align": "center",
"vertical-align": "middle"
}
+ },
+ {
+ type: "row",
+ name: "Standard",
+ parent: "",
+ properties: {
+ }
+ },
+ {
+ type: "row",
+ name: "Header",
+ parent: "",
+ properties: {
+ }
}
];
|