aboutsummaryrefslogtreecommitdiff
path: root/kvision-modules/kvision-bootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'kvision-modules/kvision-bootstrap')
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/ContextMenu.kt55
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/DropDown.kt181
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/Header.kt44
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/Separator.kt43
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/Nav.kt92
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/NavForm.kt26
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/Navbar.kt49
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/ResponsiveGridPanel.kt30
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/TabPanel.kt37
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/progress/ProgressBar.kt54
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/toolbar/ButtonGroup.kt57
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/toolbar/Toolbar.kt28
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/window/Window.kt72
-rw-r--r--kvision-modules/kvision-bootstrap/src/test/kotlin/test/pl/treksoft/kvision/dropdown/ContextMenuSpec.kt4
-rw-r--r--kvision-modules/kvision-bootstrap/src/test/kotlin/test/pl/treksoft/kvision/navbar/NavbarSpec.kt4
15 files changed, 378 insertions, 398 deletions
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/ContextMenu.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/ContextMenu.kt
index 4e20de81..656b63b5 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/ContextMenu.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/ContextMenu.kt
@@ -76,37 +76,36 @@ open class ContextMenu(
}
companion object {
-
const val DEFAULT_FIXED_POS_X = 5
const val DEFAULT_FIXED_POS_Y = 5
+ }
+}
- /**
- * Sets context menu for the current widget.
- * @param contextMenu a context menu
- * @return current widget
- */
- fun Widget.setContextMenu(contextMenu: ContextMenu): Widget {
- this.setEventListener<Widget> {
- contextmenu = { e: MouseEvent ->
- e.preventDefault()
- contextMenu.positionMenu(e)
- }
- }
- return this
- }
-
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Widget.contextMenu(
- fixedPosition: Boolean = false,
- classes: Set<String> = setOf(), init: (ContextMenu.() -> Unit)? = null
- ): ContextMenu {
- val contextMenu = ContextMenu(this, fixedPosition, classes).apply { init?.invoke(this) }
- this.setContextMenu(contextMenu)
- return contextMenu
+/**
+ * Sets context menu for the current widget.
+ * @param contextMenu a context menu
+ * @return current widget
+ */
+fun Widget.setContextMenu(contextMenu: ContextMenu): Widget {
+ this.setEventListener<Widget> {
+ contextmenu = { e: MouseEvent ->
+ e.preventDefault()
+ contextMenu.positionMenu(e)
}
}
+ return this
+}
+
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Widget.contextMenu(
+ fixedPosition: Boolean = false,
+ classes: Set<String> = setOf(), init: (ContextMenu.() -> Unit)? = null
+): ContextMenu {
+ val contextMenu = ContextMenu(this, fixedPosition, classes).apply { init?.invoke(this) }
+ this.setContextMenu(contextMenu)
+ return contextMenu
}
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/DropDown.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/DropDown.kt
index 609a0a27..342a8e84 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/DropDown.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/DropDown.kt
@@ -242,103 +242,102 @@ open class DropDown(
companion object {
internal var counter = 0
+ }
+}
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Container.dropDown(
- text: String, elements: List<StringPair>? = null, icon: String? = null,
- style: ButtonStyle = ButtonStyle.PRIMARY, direction: Direction = Direction.DROPDOWN,
- disabled: Boolean = false, forNavbar: Boolean = false, forDropDown: Boolean = false,
- classes: Set<String> = setOf(), init: (DropDown.() -> Unit)? = null
- ): DropDown {
- val dropDown =
- DropDown(
- text,
- elements,
- icon,
- style,
- direction,
- disabled,
- forNavbar,
- forDropDown,
- classes
- ).apply { init?.invoke(this) }
- this.add(dropDown)
- return dropDown
- }
-
- /**
- * DSL builder extension function for a link in a dropdown list.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun DropDown.ddLink(
- label: String, url: String? = null, icon: String? = null, image: ResString? = null,
- classes: Set<String> = setOf(), init: (Link.() -> Unit)? = null
- ): Link {
- val link = Link(label, url, icon, image, classes + "dropdown-item").apply {
- init?.invoke(this)
- }
- this.add(link)
- return link
- }
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Container.dropDown(
+ text: String, elements: List<StringPair>? = null, icon: String? = null,
+ style: ButtonStyle = ButtonStyle.PRIMARY, direction: Direction = Direction.DROPDOWN,
+ disabled: Boolean = false, forNavbar: Boolean = false, forDropDown: Boolean = false,
+ classes: Set<String> = setOf(), init: (DropDown.() -> Unit)? = null
+): DropDown {
+ val dropDown =
+ DropDown(
+ text,
+ elements,
+ icon,
+ style,
+ direction,
+ disabled,
+ forNavbar,
+ forDropDown,
+ classes
+ ).apply { init?.invoke(this) }
+ this.add(dropDown)
+ return dropDown
+}
- /**
- * DSL builder extension function for a link in a context menu list.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun ContextMenu.cmLink(
- label: String, url: String? = null, icon: String? = null, image: ResString? = null,
- classes: Set<String> = setOf(), init: (Link.() -> Unit)? = null
- ): Link {
- val link = Link(label, url, icon, image, classes + "dropdown-item").apply {
- init?.invoke(this)
- }
- this.add(link)
- return link
- }
+/**
+ * DSL builder extension function for a link in a dropdown list.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun DropDown.ddLink(
+ label: String, url: String? = null, icon: String? = null, image: ResString? = null,
+ classes: Set<String> = setOf(), init: (Link.() -> Unit)? = null
+): Link {
+ val link = Link(label, url, icon, image, classes + "dropdown-item").apply {
+ init?.invoke(this)
+ }
+ this.add(link)
+ return link
+}
- /**
- * DSL builder extension function for a disabled link in a dropdown list.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun DropDown.ddLinkDisabled(
- label: String, icon: String? = null, image: ResString? = null,
- classes: Set<String> = setOf(), init: (Link.() -> Unit)? = null
- ): Link {
- val link = Link(label, "javascript:void(0)", icon, image, classes + "dropdown-item" + "disabled").apply {
- tabindex = -1
- setAttribute("aria-disabled", "true")
- init?.invoke(this)
- }
- this.add(link)
- return link
- }
+/**
+ * DSL builder extension function for a link in a context menu list.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun ContextMenu.cmLink(
+ label: String, url: String? = null, icon: String? = null, image: ResString? = null,
+ classes: Set<String> = setOf(), init: (Link.() -> Unit)? = null
+): Link {
+ val link = Link(label, url, icon, image, classes + "dropdown-item").apply {
+ init?.invoke(this)
+ }
+ this.add(link)
+ return link
+}
- /**
- * DSL builder extension function for a disabled link in a context menu list.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun ContextMenu.cmLinkDisabled(
- label: String, icon: String? = null, image: ResString? = null,
- classes: Set<String> = setOf(), init: (Link.() -> Unit)? = null
- ): Link {
- val link = Link(label, "javascript:void(0)", icon, image, classes + "dropdown-item" + "disabled").apply {
- tabindex = -1
- setAttribute("aria-disabled", "true")
- init?.invoke(this)
- }
- this.add(link)
- return link
- }
+/**
+ * DSL builder extension function for a disabled link in a dropdown list.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun DropDown.ddLinkDisabled(
+ label: String, icon: String? = null, image: ResString? = null,
+ classes: Set<String> = setOf(), init: (Link.() -> Unit)? = null
+): Link {
+ val link = Link(label, "javascript:void(0)", icon, image, classes + "dropdown-item" + "disabled").apply {
+ tabindex = -1
+ setAttribute("aria-disabled", "true")
+ init?.invoke(this)
+ }
+ this.add(link)
+ return link
+}
+/**
+ * DSL builder extension function for a disabled link in a context menu list.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun ContextMenu.cmLinkDisabled(
+ label: String, icon: String? = null, image: ResString? = null,
+ classes: Set<String> = setOf(), init: (Link.() -> Unit)? = null
+): Link {
+ val link = Link(label, "javascript:void(0)", icon, image, classes + "dropdown-item" + "disabled").apply {
+ tabindex = -1
+ setAttribute("aria-disabled", "true")
+ init?.invoke(this)
}
+ this.add(link)
+ return link
}
internal class DropDownButton(
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/Header.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/Header.kt
index 13e0b2e4..b88a5955 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/Header.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/Header.kt
@@ -32,30 +32,26 @@ import pl.treksoft.kvision.html.Tag
* @param classes a set of CSS class names
*/
open class Header(content: String? = null, classes: Set<String> = setOf()) :
- Tag(TAG.H6, content, classes = classes + "dropdown-header") {
+ Tag(TAG.H6, content, classes = classes + "dropdown-header")
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun ContextMenu.header(content: String? = null, classes: Set<String> = setOf()): Header {
+ val header = Header(content, classes)
+ this.add(header)
+ return header
+}
- companion object {
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun ContextMenu.header(content: String? = null, classes: Set<String> = setOf()): Header {
- val header = Header(content, classes)
- this.add(header)
- return header
- }
-
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun DropDown.header(content: String? = null, classes: Set<String> = setOf()): Header {
- val header = Header(content, classes)
- this.add(header)
- return header
- }
- }
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun DropDown.header(content: String? = null, classes: Set<String> = setOf()): Header {
+ val header = Header(content, classes)
+ this.add(header)
+ return header
}
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/Separator.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/Separator.kt
index dd2344bd..62abe588 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/Separator.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/dropdown/Separator.kt
@@ -29,29 +29,26 @@ import pl.treksoft.kvision.html.Div
* @constructor
* @param classes a set of CSS class names
*/
-open class Separator(classes: Set<String> = setOf()) : Div(classes = classes + "dropdown-divider") {
+open class Separator(classes: Set<String> = setOf()) : Div(classes = classes + "dropdown-divider")
- companion object {
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun ContextMenu.separator(classes: Set<String> = setOf()): Separator {
- val separator = Separator(classes)
- this.add(separator)
- return separator
- }
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun ContextMenu.separator(classes: Set<String> = setOf()): Separator {
+ val separator = Separator(classes)
+ this.add(separator)
+ return separator
+}
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun DropDown.separator(classes: Set<String> = setOf()): Separator {
- val separator = Separator(classes)
- this.add(separator)
- return separator
- }
- }
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun DropDown.separator(classes: Set<String> = setOf()): Separator {
+ val separator = Separator(classes)
+ this.add(separator)
+ return separator
}
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/Nav.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/Nav.kt
index e0da480d..1254e0c9 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/Nav.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/Nav.kt
@@ -55,56 +55,52 @@ open class Nav(rightAlign: Boolean = false, classes: Set<String> = setOf(), init
}
return cl
}
+}
- companion object {
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Navbar.nav(
- rightAlign: Boolean = false, classes: Set<String> = setOf(), init: (Nav.() -> Unit)? = null
- ): Nav {
- val nav = Nav(rightAlign, classes).apply { init?.invoke(this) }
- this.add(nav)
- return nav
- }
-
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Navbar.nav(
+ rightAlign: Boolean = false, classes: Set<String> = setOf(), init: (Nav.() -> Unit)? = null
+): Nav {
+ val nav = Nav(rightAlign, classes).apply { init?.invoke(this) }
+ this.add(nav)
+ return nav
+}
- /**
- * DSL builder extension function for a link in a nav list.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Nav.navLink(
- label: String, url: String? = null, icon: String? = null, image: ResString? = null,
- classes: Set<String> = setOf(), init: (Link.() -> Unit)? = null
- ): Link {
- val link = Link(label, url, icon, image, classes + "nav-item" + "nav-link").apply {
- init?.invoke(this)
- }
- this.add(link)
- return link
- }
+/**
+ * DSL builder extension function for a link in a nav list.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Nav.navLink(
+ label: String, url: String? = null, icon: String? = null, image: ResString? = null,
+ classes: Set<String> = setOf(), init: (Link.() -> Unit)? = null
+): Link {
+ val link = Link(label, url, icon, image, classes + "nav-item" + "nav-link").apply {
+ init?.invoke(this)
+ }
+ this.add(link)
+ return link
+}
- /**
- * DSL builder extension function for a disabled link in a nav list.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Nav.navLinkDisabled(
- label: String, icon: String? = null, image: ResString? = null,
- classes: Set<String> = setOf(), init: (Link.() -> Unit)? = null
- ): Link {
- val link =
- Link(label, "javascript:void(0)", icon, image, classes + "nav-item" + "nav-link" + "disabled").apply {
- tabindex = -1
- setAttribute("aria-disabled", "true")
- init?.invoke(this)
- }
- this.add(link)
- return link
+/**
+ * DSL builder extension function for a disabled link in a nav list.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Nav.navLinkDisabled(
+ label: String, icon: String? = null, image: ResString? = null,
+ classes: Set<String> = setOf(), init: (Link.() -> Unit)? = null
+): Link {
+ val link =
+ Link(label, "javascript:void(0)", icon, image, classes + "nav-item" + "nav-link" + "disabled").apply {
+ tabindex = -1
+ setAttribute("aria-disabled", "true")
+ init?.invoke(this)
}
-
- }
+ this.add(link)
+ return link
}
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/NavForm.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/NavForm.kt
index 45454cc8..6cbf6274 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/NavForm.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/NavForm.kt
@@ -54,19 +54,17 @@ open class NavForm(rightAlign: Boolean = false, classes: Set<String> = setOf(),
}
return cl
}
+}
- companion object {
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Navbar.navForm(
- rightAlign: Boolean = false, classes: Set<String> = setOf(), init: (NavForm.() -> Unit)? = null
- ): NavForm {
- val navForm = NavForm(rightAlign, classes).apply { init?.invoke(this) }
- this.add(navForm)
- return navForm
- }
- }
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Navbar.navForm(
+ rightAlign: Boolean = false, classes: Set<String> = setOf(), init: (NavForm.() -> Unit)? = null
+): NavForm {
+ val navForm = NavForm(rightAlign, classes).apply { init?.invoke(this) }
+ this.add(navForm)
+ return navForm
}
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/Navbar.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/Navbar.kt
index 34a9dbe2..92f8832d 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/Navbar.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/navbar/Navbar.kt
@@ -29,7 +29,8 @@ import pl.treksoft.kvision.core.StringBoolPair
import pl.treksoft.kvision.core.StringPair
import pl.treksoft.kvision.html.Link
import pl.treksoft.kvision.html.Span
-import pl.treksoft.kvision.html.Span.Companion.span
+import pl.treksoft.kvision.html.div
+import pl.treksoft.kvision.html.span
import pl.treksoft.kvision.panel.SimplePanel
/**
@@ -173,31 +174,31 @@ open class Navbar(
companion object {
internal var counter = 0
+ }
+}
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Container.navbar(
- label: String? = null,
- type: NavbarType? = null,
- expand: NavbarExpand? = NavbarExpand.LG,
- nColor: NavbarColor = NavbarColor.LIGHT,
- bgColor: BsBgColor = BsBgColor.LIGHT,
- classes: Set<String> = setOf(), init: (Navbar.() -> Unit)? = null
- ): Navbar {
- val navbar = Navbar(label, type, expand, nColor, bgColor, classes, init)
- this.add(navbar)
- return navbar
- }
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Container.navbar(
+ label: String? = null,
+ type: NavbarType? = null,
+ expand: NavbarExpand? = NavbarExpand.LG,
+ nColor: NavbarColor = NavbarColor.LIGHT,
+ bgColor: BsBgColor = BsBgColor.LIGHT,
+ classes: Set<String> = setOf(), init: (Navbar.() -> Unit)? = null
+): Navbar {
+ val navbar = Navbar(label, type, expand, nColor, bgColor, classes, init)
+ this.add(navbar)
+ return navbar
+}
- fun Navbar.navText(label: String, classes: Set<String> = setOf()): Span {
- val text = Span(label, classes = classes + "navbar-text")
- this.add(text)
- return text
- }
- }
+fun Navbar.navText(label: String, classes: Set<String> = setOf()): Span {
+ val text = Span(label, classes = classes + "navbar-text")
+ this.add(text)
+ return text
}
/**
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/ResponsiveGridPanel.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/ResponsiveGridPanel.kt
index 4736a27a..ec4cbc29 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/ResponsiveGridPanel.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/ResponsiveGridPanel.kt
@@ -165,21 +165,19 @@ open class ResponsiveGridPanel(
children.forEach { it.dispose() }
removeAll()
}
+}
- companion object {
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Container.responsiveGridPanel(
- gridSize: GridSize = GridSize.MD,
- rows: Int = 0, cols: Int = 0, align: Align? = null,
- classes: Set<String> = setOf(), init: (ResponsiveGridPanel.() -> Unit)? = null
- ): ResponsiveGridPanel {
- val responsiveGridPanel = ResponsiveGridPanel(gridSize, rows, cols, align, classes, init)
- this.add(responsiveGridPanel)
- return responsiveGridPanel
- }
- }
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Container.responsiveGridPanel(
+ gridSize: GridSize = GridSize.MD,
+ rows: Int = 0, cols: Int = 0, align: Align? = null,
+ classes: Set<String> = setOf(), init: (ResponsiveGridPanel.() -> Unit)? = null
+): ResponsiveGridPanel {
+ val responsiveGridPanel = ResponsiveGridPanel(gridSize, rows, cols, align, classes, init)
+ this.add(responsiveGridPanel)
+ return responsiveGridPanel
}
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/TabPanel.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/TabPanel.kt
index 2009e4fc..de8d60e8 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/TabPanel.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/TabPanel.kt
@@ -26,12 +26,12 @@ import pl.treksoft.kvision.core.Container
import pl.treksoft.kvision.core.ResString
import pl.treksoft.kvision.core.WidgetWrapper
import pl.treksoft.kvision.html.Icon
-import pl.treksoft.kvision.html.Link.Companion.link
import pl.treksoft.kvision.html.TAG
import pl.treksoft.kvision.html.Tag
+import pl.treksoft.kvision.html.link
import pl.treksoft.kvision.routing.routing
import pl.treksoft.kvision.utils.obj
-import pl.treksoft.kvision.html.Icon.Companion.icon as cicon
+import pl.treksoft.kvision.html.icon as cicon
/**
* Tab position.
@@ -253,21 +253,22 @@ open class TabPanel(
companion object {
internal var counter = 0
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Container.tabPanel(
- tabPosition: TabPosition = TabPosition.TOP,
- sideTabSize: SideTabSize = SideTabSize.SIZE_3,
- scrollableTabs: Boolean = false,
- classes: Set<String> = setOf(),
- init: (TabPanel.() -> Unit)? = null
- ): TabPanel {
- val tabPanel = TabPanel(tabPosition, sideTabSize, scrollableTabs, classes, init)
- this.add(tabPanel)
- return tabPanel
- }
}
}
+
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Container.tabPanel(
+ tabPosition: TabPosition = TabPosition.TOP,
+ sideTabSize: SideTabSize = SideTabSize.SIZE_3,
+ scrollableTabs: Boolean = false,
+ classes: Set<String> = setOf(),
+ init: (TabPanel.() -> Unit)? = null
+): TabPanel {
+ val tabPanel = TabPanel(tabPosition, sideTabSize, scrollableTabs, classes, init)
+ this.add(tabPanel)
+ return tabPanel
+}
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/progress/ProgressBar.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/progress/ProgressBar.kt
index 4d0f4b93..45ea316c 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/progress/ProgressBar.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/progress/ProgressBar.kt
@@ -130,33 +130,31 @@ open class ProgressBar(
@Suppress("LeakingThis")
init?.invoke(this)
}
+}
- companion object {
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Container.progressBar(
- progress: Int, min: Int = DEFAULT_MIN, max: Int = DEFAULT_MAX, style: ProgressBarStyle? = null,
- striped: Boolean = false, animated: Boolean = false,
- content: String? = null, rich: Boolean = false, align: Align? = null,
- classes: Set<String> = setOf(), init: (ProgressBar.() -> Unit)? = null
- ): ProgressBar {
- val progressBar = ProgressBar(
- progress,
- min,
- max,
- style,
- striped,
- animated,
- content,
- rich,
- align,
- classes
- ).apply { init?.invoke(this) }
- this.add(progressBar)
- return progressBar
- }
- }
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Container.progressBar(
+ progress: Int, min: Int = DEFAULT_MIN, max: Int = DEFAULT_MAX, style: ProgressBarStyle? = null,
+ striped: Boolean = false, animated: Boolean = false,
+ content: String? = null, rich: Boolean = false, align: Align? = null,
+ classes: Set<String> = setOf(), init: (ProgressBar.() -> Unit)? = null
+): ProgressBar {
+ val progressBar = ProgressBar(
+ progress,
+ min,
+ max,
+ style,
+ striped,
+ animated,
+ content,
+ rich,
+ align,
+ classes
+ ).apply { init?.invoke(this) }
+ this.add(progressBar)
+ return progressBar
}
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/toolbar/ButtonGroup.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/toolbar/ButtonGroup.kt
index 2aef9e63..5d871a1c 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/toolbar/ButtonGroup.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/toolbar/ButtonGroup.kt
@@ -75,35 +75,34 @@ open class ButtonGroup(
}
return cl
}
+}
- companion object {
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Container.buttonGroup(
- size: ButtonGroupSize? = null, vertical: Boolean = false,
- classes: Set<String> = setOf(), init: (ButtonGroup.() -> Unit)? = null
- ): ButtonGroup {
- val group = ButtonGroup(size, vertical, classes).apply { init?.invoke(this) }
- this.add(group)
- return group
- }
- /**
- * DSL builder extension function for toolbar.
- *
- * It creates button groups with size and vertical parameters of the toolbar.
- */
- fun Toolbar.buttonGroup(
- classes: Set<String> = setOf(), init: (ButtonGroup.() -> Unit)? = null
- ): ButtonGroup {
- val group = ButtonGroup(this.size, this.vertical, classes).apply {
- marginRight = this@buttonGroup.spacing.px
- init?.invoke(this)
- }
- this.add(group)
- return group
- }
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Container.buttonGroup(
+ size: ButtonGroupSize? = null, vertical: Boolean = false,
+ classes: Set<String> = setOf(), init: (ButtonGroup.() -> Unit)? = null
+): ButtonGroup {
+ val group = ButtonGroup(size, vertical, classes).apply { init?.invoke(this) }
+ this.add(group)
+ return group
+}
+
+/**
+ * DSL builder extension function for toolbar.
+ *
+ * It creates button groups with size and vertical parameters of the toolbar.
+ */
+fun Toolbar.buttonGroup(
+ classes: Set<String> = setOf(), init: (ButtonGroup.() -> Unit)? = null
+): ButtonGroup {
+ val group = ButtonGroup(this.size, this.vertical, classes).apply {
+ marginRight = this@buttonGroup.spacing.px
+ init?.invoke(this)
}
+ this.add(group)
+ return group
}
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/toolbar/Toolbar.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/toolbar/Toolbar.kt
index 13ed8972..b942d1d5 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/toolbar/Toolbar.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/toolbar/Toolbar.kt
@@ -44,20 +44,18 @@ open class Toolbar(
@Suppress("LeakingThis")
init?.invoke(this)
}
+}
- companion object {
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Container.toolbar(
- size: ButtonGroupSize? = null, spacing: Int = 2, vertical: Boolean = false,
- classes: Set<String> = setOf(), init: (Toolbar.() -> Unit)? = null
- ): Toolbar {
- val toolbar = Toolbar(size, spacing, vertical, classes).apply { init?.invoke(this) }
- this.add(toolbar)
- return toolbar
- }
- }
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Container.toolbar(
+ size: ButtonGroupSize? = null, spacing: Int = 2, vertical: Boolean = false,
+ classes: Set<String> = setOf(), init: (Toolbar.() -> Unit)? = null
+): Toolbar {
+ val toolbar = Toolbar(size, spacing, vertical, classes).apply { init?.invoke(this) }
+ this.add(toolbar)
+ return toolbar
}
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/window/Window.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/window/Window.kt
index 83473858..b993b649 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/window/Window.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/window/Window.kt
@@ -409,41 +409,41 @@ open class Window(
companion object {
internal var counter = 0
internal var zIndexCounter = DEFAULT_Z_INDEX
-
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Container.window(
- caption: String? = null,
- contentWidth: CssSize? = CssSize(0, UNIT.auto),
- contentHeight: CssSize? = CssSize(0, UNIT.auto),
- isResizable: Boolean = true,
- isDraggable: Boolean = true,
- closeButton: Boolean = false,
- maximizeButton: Boolean = false,
- minimizeButton: Boolean = false,
- icon: String? = null,
- classes: Set<String> = setOf(),
- init: (Window.() -> Unit)? = null
- ): Window {
- val window =
- Window(
- caption,
- contentWidth,
- contentHeight,
- isResizable,
- isDraggable,
- closeButton,
- maximizeButton,
- minimizeButton,
- icon,
- classes,
- init
- )
- this.add(window)
- return window
- }
}
}
+
+/**
+ * DSL builder extension function.
+ *
+ * It takes the same parameters as the constructor of the built component.
+ */
+fun Container.window(
+ caption: String? = null,
+ contentWidth: CssSize? = CssSize(0, UNIT.auto),
+ contentHeight: CssSize? = CssSize(0, UNIT.auto),
+ isResizable: Boolean = true,
+ isDraggable: Boolean = true,
+ closeButton: Boolean = false,
+ maximizeButton: Boolean = false,
+ minimizeButton: Boolean = false,
+ icon: String? = null,
+ classes: Set<String> = setOf(),
+ init: (Window.() -> Unit)? = null
+): Window {
+ val window =
+ Window(
+ caption,
+ contentWidth,
+ contentHeight,
+ isResizable,
+ isDraggable,
+ closeButton,
+ maximizeButton,
+ minimizeButton,
+ icon,
+ classes,
+ init
+ )
+ this.add(window)
+ return window
+}
diff --git a/kvision-modules/kvision-bootstrap/src/test/kotlin/test/pl/treksoft/kvision/dropdown/ContextMenuSpec.kt b/kvision-modules/kvision-bootstrap/src/test/kotlin/test/pl/treksoft/kvision/dropdown/ContextMenuSpec.kt
index b467f1ff..5a2cb31b 100644
--- a/kvision-modules/kvision-bootstrap/src/test/kotlin/test/pl/treksoft/kvision/dropdown/ContextMenuSpec.kt
+++ b/kvision-modules/kvision-bootstrap/src/test/kotlin/test/pl/treksoft/kvision/dropdown/ContextMenuSpec.kt
@@ -22,8 +22,8 @@
package test.pl.treksoft.kvision.dropdown
import pl.treksoft.kvision.dropdown.ContextMenu
-import pl.treksoft.kvision.dropdown.ContextMenu.Companion.setContextMenu
-import pl.treksoft.kvision.html.Link.Companion.link
+import pl.treksoft.kvision.dropdown.setContextMenu
+import pl.treksoft.kvision.html.link
import pl.treksoft.kvision.panel.Root
import pl.treksoft.kvision.utils.obj
import test.pl.treksoft.kvision.DomSpec
diff --git a/kvision-modules/kvision-bootstrap/src/test/kotlin/test/pl/treksoft/kvision/navbar/NavbarSpec.kt b/kvision-modules/kvision-bootstrap/src/test/kotlin/test/pl/treksoft/kvision/navbar/NavbarSpec.kt
index 1658e63c..8cbc0af6 100644
--- a/kvision-modules/kvision-bootstrap/src/test/kotlin/test/pl/treksoft/kvision/navbar/NavbarSpec.kt
+++ b/kvision-modules/kvision-bootstrap/src/test/kotlin/test/pl/treksoft/kvision/navbar/NavbarSpec.kt
@@ -21,9 +21,9 @@
*/
package test.pl.treksoft.kvision.navbar
-import pl.treksoft.kvision.html.Link.Companion.link
import pl.treksoft.kvision.html.TAG
-import pl.treksoft.kvision.html.Tag.Companion.tag
+import pl.treksoft.kvision.html.link
+import pl.treksoft.kvision.html.tag
import pl.treksoft.kvision.navbar.Nav
import pl.treksoft.kvision.navbar.Navbar
import pl.treksoft.kvision.navbar.NavbarColor