Skip to content

Commit

Permalink
MVP Swatch Theme Switcher
Browse files Browse the repository at this point in the history
  • Loading branch information
KyNorthstar committed Jun 24, 2019
1 parent 35ab658 commit 44472c6
Show file tree
Hide file tree
Showing 28 changed files with 723 additions and 189 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[![CodeFactor](https://www.codefactor.io/repository/github/bluehuskystudios/scripts/badge)](https://www.codefactor.io/repository/github/bluehuskystudios/scripts)

# BHStudios Scripts #

A collection of scripts that [Blue Husky Studios](https://BHStudios.org) uses
597 changes: 468 additions & 129 deletions assets/v2/general/js/BHStudios General Scripts.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion assets/v2/general/js/BHStudios General Scripts.meta.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
8 changes: 8 additions & 0 deletions assets/v2/general/kt/.idea/dictionaries/BenLeggiero.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion assets/v2/general/kt/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.bh.scripts.general.components
package org.bh.scripts.components

import org.w3c.dom.Element
import kotlin.dom.*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package org.bh.scripts.general.components.button
package org.bh.scripts.components.button

import jQueryInterface.*
import org.w3c.dom.*
import org.w3c.dom.events.Event
import kotlin.properties.Delegates
Expand All @@ -16,26 +15,28 @@ typealias PressListener = (Event) -> Unit
* @since 2018-04-19
*/
class ButtonController(
initalModel: ButtonModel,
initialModel: ButtonModel,
initialView: ButtonViewWrapper
): ButtonModelDelegate {

constructor(htmlElement: Element): this(ButtonModel(htmlElement), ButtonViewWrapper(htmlElement))


private var suppressChangeReactions = false

private val pressListeners = mutableSetOf<PressListener>()

var model: ButtonModel by Delegates.observable(initalModel) { _, _, newModel ->
var model: ButtonModel by Delegates.observable(initialModel) { _, _, newModel ->
didSetModel(newModel)
}


var view: ButtonViewWrapper by Delegates.observable(initialView) { _, _, newView ->
didSetView(newView)
}


init {
didSetModel(initalModel)
didSetModel(initialModel)
didSetView(initialView)
}

Expand Down Expand Up @@ -63,12 +64,6 @@ class ButtonController(
fun addPressListener(newPressListener: PressListener) {
pressListeners.add(newPressListener)
}


companion object {
operator fun invoke(htmlElement: Element) =
ButtonController(ButtonModel(htmlElement), ButtonViewWrapper(htmlElement))
}
}


Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.bh.scripts.general.components.button
package org.bh.scripts.components.button

import org.w3c.dom.*
import org.w3c.dom.events.Event
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.bh.scripts.general.components.button
package org.bh.scripts.components.button

import org.bh.scripts.general.components.WrappedHtmlView
import org.bh.scripts.components.WrappedHtmlView
import org.w3c.dom.Element


Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.bh.scripts.general.components.sidebar
package org.bh.scripts.components.sidebar

import org.bh.scripts.general.components.button.*
import org.bh.scripts.components.button.*
import org.w3c.dom.events.*


Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.bh.scripts.general.components.sidebar
package org.bh.scripts.components.sidebar

import org.bh.scripts.general.components.sidebar.SidebarViewWrapper.Companion.sidebarShownClassName
import org.bh.scripts.general.components.sidebar.SidebarViewWrapper.Companion.defaultParentElement
import org.bh.scripts.components.sidebar.SidebarViewWrapper.Companion.sidebarShownClassName
import org.bh.scripts.components.sidebar.SidebarViewWrapper.Companion.defaultContainerElement
import org.w3c.dom.*
import kotlin.properties.Delegates

Expand Down Expand Up @@ -66,16 +66,18 @@ class SidebarController(

companion object {
operator fun invoke(htmlElement: Element?) =
if (null == htmlElement)
SidebarController.allSidebars
else
if (null == htmlElement) {
anySidebar
}
else {
SidebarController(SidebarModel(htmlElement), SidebarViewWrapper(htmlElement))
}


/**
* Controls all sidebars in the same way
*/
val allSidebars: SidebarController by lazy { SidebarController(SidebarModel(), null) }
val anySidebar: SidebarController by lazy { SidebarController(SidebarModel(), null) }
}


Expand All @@ -89,10 +91,10 @@ class SidebarController(

if (null == view) {
if (newIsShown) {
defaultParentElement.addClass(sidebarShownClassName)
defaultContainerElement.addClass(sidebarShownClassName)
}
else {
defaultParentElement.removeClass(sidebarShownClassName)
defaultContainerElement.removeClass(sidebarShownClassName)
}
}
else {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.bh.scripts.general.components.sidebar
package org.bh.scripts.components.sidebar

import org.bh.scripts.general.utilities.*
import org.w3c.dom.*
Expand All @@ -24,7 +24,7 @@ class SidebarModel private constructor(initIsShown: Boolean = false) {

operator fun invoke(viewWrapper: SidebarViewWrapper) =
invoke(id = viewWrapper.htmlElement.id,
isShown = viewWrapper.isShown)
isShown = viewWrapper.isShown)

operator fun invoke(htmlElement: Element) =
invoke(viewWrapper = SidebarViewWrapper(htmlElement = htmlElement))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.bh.scripts.general.components.sidebar
package org.bh.scripts.components.sidebar



import jQueryInterface.*
import org.bh.scripts.general.components.*
import org.bh.scripts.components.*
import org.w3c.dom.Element


Expand All @@ -14,32 +14,32 @@ import org.w3c.dom.Element
*/
class SidebarViewWrapper(
override val htmlElement: Element,
private val parentElement: JQuery = defaultParentElement
private val containerElement: JQuery = defaultContainerElement
) : WrappedHtmlView<Element> {

private var scrimHtmlElementGetter = scrimElementGetter(parentElement)
private var scrimHtmlElementGetter = scrimElementGetter(containerElement)

val scrimHtmlElement get() = scrimHtmlElementGetter()

var isShown: Boolean
get() = parentElement.hasClass(sidebarShownClassName)
get() = containerElement.hasClass(sidebarShownClassName)
set(newValue) = if (newValue) show() else hide()


init {
if (0 == scrimHtmlElementGetter().length) {
parentElement.prepend(generateNewScrimHtmlString())
containerElement.prepend(generateNewScrimHtmlString())
}
}


private fun hide() {
parentElement.removeClass(sidebarShownClassName)
containerElement.removeClass(sidebarShownClassName)
}


private fun show() {
parentElement.addClass(sidebarShownClassName)
containerElement.addClass(sidebarShownClassName)
}


Expand All @@ -48,9 +48,9 @@ class SidebarViewWrapper(
const val sidebarShownClassName = "sidebar-shown"
const val scrimElementClassName = "sidebar-scrim"

val defaultParentElement = jq(":root")
fun scrimElementGetter(parentElement: JQuery): () -> JQuery = {
/*return*/ jq(selector = ".$scrimElementClassName", context = parentElement)
val defaultContainerElement = jq(":root")
fun scrimElementGetter(containerElement: JQuery): () -> JQuery = {
/*return*/ jq(selector = ".$scrimElementClassName", context = containerElement)
}


Expand Down
Loading

0 comments on commit 44472c6

Please sign in to comment.