Coverage Summary for Class: JqueryExtensionsKt (kweb.plugins.jqueryCore)

Class Class, % Method, % Branch, % Line, % Instruction, %
JqueryExtensionsKt 0% (0/1) 0% (0/1) 0% (0/3) 0% (0/30)


 package kweb.plugins.jqueryCore
 
 import kotlinx.serialization.json.JsonPrimitive
 import kweb.Element
 import kweb.WebBrowser
 import kweb.util.KWebDSL
 
 /**
  * Created by ian on 2/22/17.
  */
 
 
 // Support for $(...), since Kotlin doesn't allow methods called '$' (which is probably a good thing)
 // I just use jquery()
 fun Element.jquery(selector: String = "#${this.id}"): JQueryReceiver {
     assertPluginLoaded(JQueryCorePlugin::class)
     return JQueryReceiver(this.browser, "$(${JsonPrimitive(selector)})")
 }
 
 // And here we can implement all of the useful JQuery functions
 @KWebDSL
 class JQueryReceiver(internal val webBrowser: WebBrowser, internal val selectorExpression: String) {
     val on: JQueryOnReceiver get() = JQueryOnReceiver(this)
 
     fun focus() {
         webBrowser.callJsFunction("$selectorExpression.${"focus()"};")
     }
 
     fun remove() {
         webBrowser.callJsFunction("$selectorExpression.${"remove()"};")
     }
 }