diff options
author | Robert Jaros <rjaros@finn.pl> | 2019-06-21 20:35:07 +0200 |
---|---|---|
committer | Robert Jaros <rjaros@finn.pl> | 2019-06-21 20:35:07 +0200 |
commit | 231dd9f27ded19123cfa341596850ffd5471d177 (patch) | |
tree | ca540bccc43b130f4f175d143e4cca17559971bb | |
parent | 075280076d373dad01666397f7b857aad8450b7c (diff) | |
download | kvision-231dd9f27ded19123cfa341596850ffd5471d177.tar.gz kvision-231dd9f27ded19123cfa341596850ffd5471d177.tar.bz2 kvision-231dd9f27ded19123cfa341596850ffd5471d177.zip |
Upgrade tabulator to 4.2.7.
Fix for table refresh crash with active custom editor.
3 files changed, 12 insertions, 1 deletions
diff --git a/kvision-modules/kvision-tabulator/build.gradle b/kvision-modules/kvision-tabulator/build.gradle index 5ea97e50..b74ef2d4 100644 --- a/kvision-modules/kvision-tabulator/build.gradle +++ b/kvision-modules/kvision-tabulator/build.gradle @@ -8,7 +8,7 @@ dependencies { kotlinFrontend { npm { - dependency("tabulator-tables", "4.2.5") + dependency("tabulator-tables", "4.2.7") devDependency("karma", "3.1.4") devDependency("karma-chrome-launcher", "2.2.0") devDependency("karma-webpack", "3.0.5") diff --git a/kvision-modules/kvision-tabulator/src/main/kotlin/pl/treksoft/kvision/tabulator/Options.kt b/kvision-modules/kvision-tabulator/src/main/kotlin/pl/treksoft/kvision/tabulator/Options.kt index 08f2603b..53f958e5 100644 --- a/kvision-modules/kvision-tabulator/src/main/kotlin/pl/treksoft/kvision/tabulator/Options.kt +++ b/kvision-modules/kvision-tabulator/src/main/kotlin/pl/treksoft/kvision/tabulator/Options.kt @@ -356,6 +356,7 @@ data class ColumnDefinition<T : Any>( internal object EditorRoot { internal var root: Root? = null + internal var cancel: ((value: dynamic) -> Unit)? = null internal var disposeTimer: Int? = null } @@ -384,6 +385,7 @@ fun <T : Any> ColumnDefinition<T>.toJs( root?.dispose() disposeTimer = null root = null + EditorRoot.cancel = null }, 500) }, cancel, data) val rootElement = document.createElement("div") as HTMLElement @@ -393,6 +395,7 @@ fun <T : Any> ColumnDefinition<T>.toJs( root?.dispose() } root = Root(element = rootElement) + EditorRoot.cancel = cancel @Suppress("UnsafeCastFromDynamic") root?.add(component) (component as? FormControl)?.focus() diff --git a/kvision-modules/kvision-tabulator/src/main/kotlin/pl/treksoft/kvision/tabulator/Tabulator.kt b/kvision-modules/kvision-tabulator/src/main/kotlin/pl/treksoft/kvision/tabulator/Tabulator.kt index 72a2809a..01af46c6 100644 --- a/kvision-modules/kvision-tabulator/src/main/kotlin/pl/treksoft/kvision/tabulator/Tabulator.kt +++ b/kvision-modules/kvision-tabulator/src/main/kotlin/pl/treksoft/kvision/tabulator/Tabulator.kt @@ -40,6 +40,7 @@ import pl.treksoft.kvision.utils.createInstance import pl.treksoft.kvision.utils.obj import pl.treksoft.kvision.utils.syncWithList import redux.RAction +import kotlin.browser.window import pl.treksoft.kvision.tabulator.js.Tabulator as JsTabulator /** @@ -558,6 +559,13 @@ open class Tabulator<T : Any>( jsTabulator?.navigateDown() } + internal fun removeCustomEditors() { + EditorRoot.cancel?.invoke(null) + EditorRoot.disposeTimer?.let { window.clearTimeout(it) } + EditorRoot.root?.dispose() + EditorRoot.root = null + } + companion object { internal var counter = 0 |