forked from kscience/visionforge
185 lines
7.6 KiB
Kotlin
185 lines
7.6 KiB
Kotlin
@file:Suppress(
|
|
"INTERFACE_WITH_SUPERCLASS",
|
|
"OVERRIDING_FINAL_MEMBER",
|
|
"RETURN_TYPE_MISMATCH_ON_OVERRIDE",
|
|
"CONFLICTING_OVERLOADS",
|
|
"EXTERNAL_DELEGATION"
|
|
)
|
|
|
|
package hep.dataforge.vis.spatial.editor
|
|
|
|
import org.w3c.dom.HTMLElement
|
|
|
|
external interface Node {
|
|
var field: String
|
|
var value: String? get() = definedExternally; set(value) = definedExternally
|
|
var path: dynamic
|
|
}
|
|
|
|
external interface NodeName {
|
|
var path: Array<String>
|
|
var type: dynamic /* 'object' | 'array' */
|
|
var size: Number
|
|
}
|
|
|
|
external interface ValidationError {
|
|
var path: dynamic
|
|
var message: String
|
|
}
|
|
|
|
external interface Template {
|
|
var text: String
|
|
var title: String
|
|
var className: String? get() = definedExternally; set(value) = definedExternally
|
|
var field: String
|
|
var value: Any
|
|
}
|
|
|
|
external interface `T$6` {
|
|
var startFrom: Number
|
|
var options: Array<String>
|
|
}
|
|
|
|
external interface AutoCompleteOptions {
|
|
var confirmKeys: Array<Number>? get() = definedExternally; set(value) = definedExternally
|
|
var caseSensitive: Boolean? get() = definedExternally; set(value) = definedExternally
|
|
// var getOptions: AutoCompleteOptionsGetter? get() = definedExternally; set(value) = definedExternally
|
|
}
|
|
|
|
external interface SelectionPosition {
|
|
var row: Number
|
|
var column: Number
|
|
}
|
|
|
|
external interface SerializableNode {
|
|
var value: Any
|
|
var path: dynamic
|
|
}
|
|
|
|
external interface Color {
|
|
var rgba: Array<Number>
|
|
var hsla: Array<Number>
|
|
var rgbString: String
|
|
var rgbaString: String
|
|
var hslString: String
|
|
var hslaString: String
|
|
var hex: String
|
|
}
|
|
|
|
//external interface `T$0` {
|
|
// var field: Boolean
|
|
// var value: Boolean
|
|
//}
|
|
//
|
|
//external interface `T$1` {
|
|
// @nativeGetter
|
|
// operator fun get(key: String): String?
|
|
//
|
|
// @nativeSetter
|
|
// operator fun set(key: String, value: String)
|
|
//}
|
|
|
|
//external interface Languages {
|
|
// @nativeGetter
|
|
// operator fun get(lang: String): `T$1`?
|
|
//
|
|
// @nativeSetter
|
|
// operator fun set(lang: String, value: `T$1`)
|
|
//}
|
|
|
|
external interface JSONEditorOptions {
|
|
// var ace: AceAjax.Ace? get() = definedExternally; set(value) = definedExternally
|
|
// var ajv: Ajv? get() = definedExternally; set(value) = definedExternally
|
|
var onChange: (() -> Unit)? get() = definedExternally; set(value) = definedExternally
|
|
var onChangeJSON: ((json: Any) -> Unit)? get() = definedExternally; set(value) = definedExternally
|
|
var onChangeText: ((jsonString: String) -> Unit)? get() = definedExternally; set(value) = definedExternally
|
|
var onEditable: ((node: Node) -> dynamic)? get() = definedExternally; set(value) = definedExternally
|
|
var onError: ((error: Error) -> Unit)? get() = definedExternally; set(value) = definedExternally
|
|
var onModeChange: ((newMode: dynamic /* 'tree' | 'view' | 'form' | 'code' | 'text' */, oldMode: dynamic /* 'tree' | 'view' | 'form' | 'code' | 'text' */) -> Unit)? get() = definedExternally; set(value) = definedExternally
|
|
var onNodeName: ((nodeName: NodeName) -> String?)? get() = definedExternally; set(value) = definedExternally
|
|
var onValidate: ((json: Any) -> dynamic)? get() = definedExternally; set(value) = definedExternally
|
|
var escapeUnicode: Boolean? get() = definedExternally; set(value) = definedExternally
|
|
var sortObjectKeys: Boolean? get() = definedExternally; set(value) = definedExternally
|
|
var history: Boolean? get() = definedExternally; set(value) = definedExternally
|
|
var mode: dynamic /* 'tree' | 'view' | 'form' | 'code' | 'text' */
|
|
var modes: Array<dynamic /* 'tree' | 'view' | 'form' | 'code' | 'text' */>? get() = definedExternally; set(value) = definedExternally
|
|
var name: String? get() = definedExternally; set(value) = definedExternally
|
|
var schema: Any? get() = definedExternally; set(value) = definedExternally
|
|
var schemaRefs: Any? get() = definedExternally; set(value) = definedExternally
|
|
var search: Boolean? get() = definedExternally; set(value) = definedExternally
|
|
var indentation: Number? get() = definedExternally; set(value) = definedExternally
|
|
var theme: String? get() = definedExternally; set(value) = definedExternally
|
|
var templates: Array<Template>? get() = definedExternally; set(value) = definedExternally
|
|
var autocomplete: AutoCompleteOptions? get() = definedExternally; set(value) = definedExternally
|
|
var mainMenuBar: Boolean? get() = definedExternally; set(value) = definedExternally
|
|
var navigationBar: Boolean? get() = definedExternally; set(value) = definedExternally
|
|
var statusBar: Boolean? get() = definedExternally; set(value) = definedExternally
|
|
var onTextSelectionChange: ((start: SelectionPosition, end: SelectionPosition, text: String) -> Unit)? get() = definedExternally; set(value) = definedExternally
|
|
var onSelectionChange: ((start: SerializableNode, end: SerializableNode) -> Unit)? get() = definedExternally; set(value) = definedExternally
|
|
var onEvent: ((node: Node, event: String) -> Unit)? get() = definedExternally; set(value) = definedExternally
|
|
var colorPicker: Boolean? get() = definedExternally; set(value) = definedExternally
|
|
var onColorPicker: ((parent: HTMLElement, color: String, onChange: (color: Color) -> Unit) -> Unit)? get() = definedExternally; set(value) = definedExternally
|
|
var timestampTag: Boolean? get() = definedExternally; set(value) = definedExternally
|
|
var language: String? get() = definedExternally; set(value) = definedExternally
|
|
//var languages: Languages? get() = definedExternally; set(value) = definedExternally
|
|
var modalAnchor: HTMLElement? get() = definedExternally; set(value) = definedExternally
|
|
var enableSort: Boolean? get() = definedExternally; set(value) = definedExternally
|
|
var enableTransform: Boolean? get() = definedExternally; set(value) = definedExternally
|
|
var maxVisibleChilds: Number? get() = definedExternally; set(value) = definedExternally
|
|
}
|
|
|
|
external interface JsonPath {
|
|
var path: dynamic
|
|
}
|
|
|
|
external interface EditorSelection {
|
|
var start: SerializableNode
|
|
var end: SerializableNode
|
|
}
|
|
|
|
external interface TextSelection {
|
|
var start: SelectionPosition
|
|
var end: SelectionPosition
|
|
var text: String
|
|
}
|
|
|
|
@JsModule("jsoneditor")
|
|
@JsNonModule
|
|
external open class JSONEditor(
|
|
container: HTMLElement,
|
|
options: JSONEditorOptions? = definedExternally /* null */,
|
|
json: dynamic = definedExternally /* null */
|
|
) {
|
|
open fun collapseAll()
|
|
open fun destroy()
|
|
open fun expandAll()
|
|
open fun focus()
|
|
open fun get(): Any
|
|
open fun getMode(): dynamic /* 'tree' | 'view' | 'form' | 'code' | 'text' */
|
|
open fun getName(): String?
|
|
open fun getNodesByRange(start: JsonPath, end: JsonPath): Array<SerializableNode>
|
|
open fun getSelection(): EditorSelection
|
|
open fun getText(): String
|
|
open fun getTextSelection(): TextSelection
|
|
open fun refresh()
|
|
open fun set(json: Any)
|
|
open fun setMode(mode: String /* 'tree' */)
|
|
open fun setMode(mode: String /* 'view' */)
|
|
open fun setMode(mode: String /* 'form' */)
|
|
open fun setMode(mode: String /* 'code' */)
|
|
open fun setMode(mode: String /* 'text' */)
|
|
open fun setName(name: String? = definedExternally /* null */)
|
|
open fun setSchema(schema: Any?, schemaRefs: Any? = definedExternally /* null */)
|
|
open fun setSelection(start: JsonPath, end: JsonPath)
|
|
open fun setText(jsonString: String)
|
|
open fun setTextSelection(start: SelectionPosition, end: SelectionPosition)
|
|
open fun update(json: Any)
|
|
open fun updateText(jsonString: String)
|
|
|
|
companion object {
|
|
var VALID_OPTIONS: Array<String>
|
|
// var ace: AceAjax.Ace
|
|
// var Ajv: Ajv
|
|
var VanillaPicker: Any
|
|
}
|
|
} |