fun DateTimePicker.bind(property: ObservableValue, readonly: Boolean = false) { ViewModel.register(valueProperty(), property) if (readonly || (property !is Property<*>)) valueProperty().bind(property) else valueProperty().bindBidirectional(property as Property) } fun EventTarget.datetimepicker(op: DateTimePicker.() -> Unit = {}) = opcr(this, DateTimePicker(), op) fun EventTarget.datetimepicker(property: Property, op: DateTimePicker.() -> Unit = {}) = datetimepicker().apply { bind(property) op(this) }