Espace de nom de départ : Html2Ods
This commit is contained in:
parent
1716825d9f
commit
d8eb327bab
@ -19,7 +19,7 @@ td {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.grandecellule {
|
.grandecellule {
|
||||||
font-size: 1.4rem;
|
font-size: 1.4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -29,7 +29,6 @@ td {
|
|||||||
|
|
||||||
cell.Header {
|
cell.Header {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
background-color: #2244aa;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cell.Grande ~ .essai {
|
cell.Grande ~ .essai {
|
||||||
@ -40,10 +39,25 @@ cell.Grande ~ .essai {
|
|||||||
|
|
||||||
cell.EncorePlusGrande ~ .grandecellule {
|
cell.EncorePlusGrande ~ .grandecellule {
|
||||||
font-size: 18pt;
|
font-size: 18pt;
|
||||||
|
background-color: #ddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cell.Heritage + cell.Bold {
|
||||||
|
padding: 0.3cm;
|
||||||
|
border: 0.75pt solid #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
column.Longue ~ .longuecolonne {
|
column.Longue ~ .longuecolonne {
|
||||||
width: 7cm;
|
width: 12cm;
|
||||||
|
}
|
||||||
|
|
||||||
|
column.Moyenne ~ .moyennecolonne {
|
||||||
|
width: 8cm;
|
||||||
|
}
|
||||||
|
|
||||||
|
column.Courte {
|
||||||
|
width: 4cm;
|
||||||
}
|
}
|
||||||
|
|
||||||
row.Entete {
|
row.Entete {
|
||||||
|
@ -14,12 +14,13 @@
|
|||||||
<script type="text/javascript" src="../src/js/opendocument/OpenDocument.Style.js"></script>
|
<script type="text/javascript" src="../src/js/opendocument/OpenDocument.Style.js"></script>
|
||||||
<script type="text/javascript" src="../src/js/opendocument/OpenDocument.StyleManager.js"></script>
|
<script type="text/javascript" src="../src/js/opendocument/OpenDocument.StyleManager.js"></script>
|
||||||
<script type="text/javascript" src="../src/js/opendocument/OpenDocument.OdsConverter.js"></script>
|
<script type="text/javascript" src="../src/js/opendocument/OpenDocument.OdsConverter.js"></script>
|
||||||
|
<script type="text/javascript" src="../src/js/Html2Ods.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
function fodsLink() {
|
function fodsLink() {
|
||||||
let link = document.getElementById("link");
|
let link = document.getElementById("link");
|
||||||
link.href = URL.createObjectURL(
|
link.href = URL.createObjectURL(
|
||||||
OpenDocument.OdsConverter.convertToBlob("table")
|
Html2Ods.blob("table")
|
||||||
);
|
);
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
URL.revokeObjectURL(link.href);
|
URL.revokeObjectURL(link.href);
|
||||||
@ -28,7 +29,7 @@ function fodsLink() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function fodsContent() {
|
function fodsContent() {
|
||||||
document.getElementById("text").innerText = OpenDocument.OdsConverter.convertToXml("table");
|
document.getElementById("text").innerText = Html2Ods.xml("table");
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
@ -44,9 +45,9 @@ function fodsContent() {
|
|||||||
data-od-fixed-columns="1">
|
data-od-fixed-columns="1">
|
||||||
<col data-od-style="Longue">
|
<col data-od-style="Longue">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col>
|
<col data-od-style="Courte">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<colgroup span="2" class="longuecolonne">
|
<colgroup span="2" class="moyennecolonne">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
<tr data-od-style="Entete">
|
<tr data-od-style="Entete">
|
||||||
@ -70,18 +71,17 @@ function fodsContent() {
|
|||||||
<div data-od-hidden="true">
|
<div data-od-hidden="true">
|
||||||
Caché dans OD
|
Caché dans OD
|
||||||
</div> Test à des lignes vides </td>
|
</div> Test à des lignes vides </td>
|
||||||
<td>Cellule 1.4</td>
|
<td data-od-style="Heritage">Cellule 1.4</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2" data-od-style="EncorePlusGrande">Cellule 2.1 (Très grande)</td>
|
<td data-od-style="EncorePlusGrande">Cellule 2.1 (Très grande)</td>
|
||||||
<!--<td>Cellule 2.2</td>-->
|
<!--<td>Cellule 2.2</td>-->
|
||||||
<td data-od-style="Bold">Cellule 2.3</td>
|
<td data-od-style="Bold">Cellule 2.3</td>
|
||||||
<td data-od-type="number" class="grandecellule">-160</td>
|
<td data-od-type="number" class="grandecellule">-160</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Cellule 3.1</td>
|
<td colspan="2">Cellule 3.1</td>
|
||||||
<td>Cellule 3.2</td>
|
<td data-od-type="currency" data-od-text="1250">1100 €</td>
|
||||||
<td data-od-type="currency" data-text="1000">1000 €</td>
|
|
||||||
<td data-od-type="currency" data-od-currency="USD" data-text="-1315" class="essai">-$2500</td>
|
<td data-od-type="currency" data-od-currency="USD" data-text="-1315" class="essai">-$2500</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
12
src/js/Html2Ods.js
Normal file
12
src/js/Html2Ods.js
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/* global OpenDocument */
|
||||||
|
|
||||||
|
var Html2Ods = {};
|
||||||
|
|
||||||
|
|
||||||
|
Html2Ods.blob = function (table, options) {
|
||||||
|
return OpenDocument.OdsConverter.convertToBlob(table, options);
|
||||||
|
};
|
||||||
|
|
||||||
|
Html2Ods.xml = function (table, options) {
|
||||||
|
return OpenDocument.OdsConverter.convertToXml(table, options);
|
||||||
|
};
|
@ -123,7 +123,11 @@ OpenDocument.OdsConverter.prototype.convert = function (table, options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function _getCellText(cellElement) {
|
function _getCellText(cellElement) {
|
||||||
let cellText = cellElement.dataset[textDataAttribute];
|
let cellText = cellElement.dataset["odText"];
|
||||||
|
if (cellText) {
|
||||||
|
return cellText;
|
||||||
|
}
|
||||||
|
cellText = cellElement.dataset[textDataAttribute];
|
||||||
if (cellText) {
|
if (cellText) {
|
||||||
return cellText;
|
return cellText;
|
||||||
}
|
}
|
||||||
@ -281,7 +285,7 @@ OpenDocument.OdsConverter.readTableColumns = function(table, styleManager) {
|
|||||||
let columnName = OpenDocument.COLUMNSTYLE_PREFIX + columnNumber;
|
let columnName = OpenDocument.COLUMNSTYLE_PREFIX + columnNumber;
|
||||||
columnNumber++;
|
columnNumber++;
|
||||||
let columnStyle = new OpenDocument.Style("column", columnName);
|
let columnStyle = new OpenDocument.Style("column", columnName);
|
||||||
let originalStyleName = col.dataset["odStyle"];
|
let originalStyleName = _getColumnStyleName(col);
|
||||||
if (originalStyleName) {
|
if (originalStyleName) {
|
||||||
let originalStyle = styleManager.getStyle("column-named", originalStyleName);
|
let originalStyle = styleManager.getStyle("column-named", originalStyleName);
|
||||||
if (originalStyle) {
|
if (originalStyle) {
|
||||||
@ -296,6 +300,20 @@ OpenDocument.OdsConverter.readTableColumns = function(table, styleManager) {
|
|||||||
result.push(new OpenDocument.Elements.TableColumn(columnName, col.span, "Standard"));
|
result.push(new OpenDocument.Elements.TableColumn(columnName, col.span, "Standard"));
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
|
|
||||||
|
function _getColumnStyleName(col) {
|
||||||
|
let styleName = col.dataset["odStyle"];;
|
||||||
|
if (styleName) {
|
||||||
|
return styleName;
|
||||||
|
}
|
||||||
|
styleName = styleManager.getMatchingStyleName("column", col);
|
||||||
|
if (styleName) {
|
||||||
|
return styleName;
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -302,10 +302,11 @@ OpenDocument.StyleManager.readStyleSheet = function (styleManager, styleSheet) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function _parseClass(classToken) {
|
function _parseClass(classToken) {
|
||||||
if (!classToken.startsWith('.')) {
|
let dotIndex = classToken.indexOf('.');
|
||||||
|
if (dotIndex === -1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return classToken.substring(1);
|
return classToken.substring(dotIndex + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user