function main(page: IPage, portlet: ITableSheetPortlet) {
let span = appendCollapseElement(portlet, "A1");
let collapsed = false;
span.addEventListener('click', function () {
let spanText = collapsed ? "-" : "+";
span.setHtml(spanText);
hideColumns(portlet, 1, 4, !collapsed);
collapsed = !collapsed;
});
}
function appendCollapseElement(portlet: ITableSheetPortlet, cellName: string) {
let cell = portlet.getCell(cellName);
let text = cell.getText() || "";
cell.setText("");
let span = document.createElement("span");
span.innerHTML = "-";
span.style.cursor = "pointer";
let s = cell.appendChild(span);
cell.appendChild(document.createTextNode(" " + text));
return s;
}
function hideColumns(portlet: ITableSheetPortlet,
from: number, to: number, hidden: boolean) {
for (let c = from; c < to; c++) {
var column = portlet.getColumn(c);
column.setVisible(!hidden)
}
}