Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,9 @@ interface UPivotTable : UWindow {
* Builds the pivot table;
*/
fun build()

/**
* Print to the PDF format.
*/
fun imprimer()
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,21 @@ package org.kopi.galite.visual.pivottable

import java.io.File
import java.net.MalformedURLException
import org.jetbrains.annotations.TestOnly

import org.vaadin.addons.componentfactory.PivotTable.*

import org.jetbrains.annotations.TestOnly
import org.kopi.galite.util.base.InconsistencyException
import org.kopi.galite.visual.*
import org.kopi.galite.visual.dsl.common.Trigger
import org.kopi.galite.visual.form.VConstants
import org.kopi.galite.visual.l10n.LocalizationManager
import org.kopi.galite.visual.dsl.common.Trigger
import org.vaadin.addons.componentfactory.PivotTable.*

/**
* Represents a pivot table model.
*/
abstract class VPivotTable internal constructor() : VWindow(), VConstants {
companion object {
const val TYP_PDF = 1

init {
WindowController.windowController.registerWindowBuilder(
Expand Down Expand Up @@ -272,6 +272,18 @@ abstract class VPivotTable internal constructor() : VWindow(), VConstants {
VHelpViewer().showHelp(genHelp())
}

/**
* Prints the report
*/
fun export(type: Int ) {
when (type) {
TYP_PDF -> {
(getDisplay() as UPivotTable).imprimer()
}
else -> throw InconsistencyException("Export type unknown")
}
}

// ----------------------------------------------------------------------
// Command
// ----------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,13 @@
*/
package org.kopi.galite.visual.ui.vaadin.pivottable

import org.vaadin.addons.componentfactory.PivotTable
import com.vaadin.flow.component.dependency.CssImport

import org.kopi.galite.visual.dsl.pivottable.Dimension.Position
import org.kopi.galite.visual.pivottable.MPivotTable
import org.kopi.galite.visual.pivottable.UPivotTable
import org.kopi.galite.visual.pivottable.VPivotTable
import org.kopi.galite.visual.ui.vaadin.visual.DWindow
import org.vaadin.addons.componentfactory.PivotTable

@CssImport("./styles/galite/pivottable.css")
class DPivotTable(private val pivotTable: VPivotTable) : DWindow(pivotTable), UPivotTable {
Expand All @@ -37,6 +36,7 @@ class DPivotTable(private val pivotTable: VPivotTable) : DWindow(pivotTable), UP
private val pivotOptions = PivotTable.PivotOptions()
private val rows = mutableListOf<String>()
private val columns = mutableListOf<String>()
private lateinit var pivot: PivotTable

init {
getModel()!!.setDisplay(this)
Expand Down Expand Up @@ -89,8 +89,16 @@ class DPivotTable(private val pivotTable: VPivotTable) : DWindow(pivotTable), UP
PivotTable.PivotMode.NONINTERACTIVE
}

val pivot = PivotTable(pivotData, pivotOptions, pivotMode)
pivot = PivotTable(pivotData, pivotOptions, pivotMode)

add(pivot)
}

override fun imprimer() {
if (::pivot.isInitialized) {
ui.get().access {
ui.get().page.executeJs("window.print()")
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,9 @@
*/
package org.kopi.galite.demo.client

import java.util.Locale

import org.jetbrains.exposed.sql.JoinType
import org.jetbrains.exposed.sql.selectAll
import org.jetbrains.exposed.sql.transactions.transaction

import org.vaadin.addons.componentfactory.PivotTable.Aggregator
import org.vaadin.addons.componentfactory.PivotTable.Renderer

import org.kopi.galite.demo.database.Client
import org.kopi.galite.demo.database.Product
import org.kopi.galite.demo.database.Purchase
Expand All @@ -35,6 +29,10 @@ import org.kopi.galite.visual.dsl.common.Icon
import org.kopi.galite.visual.dsl.form.Key
import org.kopi.galite.visual.dsl.pivottable.Dimension.Position
import org.kopi.galite.visual.dsl.pivottable.PivotTable
import org.kopi.galite.visual.pivottable.VPivotTable
import org.vaadin.addons.componentfactory.PivotTable.Aggregator
import org.vaadin.addons.componentfactory.PivotTable.Renderer
import java.util.*

/**
* Client Report
Expand All @@ -51,8 +49,15 @@ class ClientP : PivotTable(title = "Clients_Pivot_Table", locale = Locale.UK) {
key = Key.F1
icon = Icon.HELP
}
val imprimer = actor(menu = action, label = "PDF", help = "PDF Format", ident = "pdf") {
key = Key.F9
icon = Icon.PRINT
}
val cmdQuit = command(item = quit) { model.close() }
val helpCmd = command(item = helpForm) { model.showHelp() }
val cmdPDF = command(item = imprimer) {
model.export(VPivotTable.TYP_PDF)
}

val firstName = dimension(STRING(25), Position.NONE) {
label = "First Name"
Expand Down