Skip to content

How do you build nested options with JSOptionBuilder #13

Description

@nh13

For example the columns option in https://datatables.net/examples/api/row_details.html

@js.native
trait DataTableOptions extends js.Object
object DataTableOptions extends DataTableOptionsBuilder(noOpts)
class DataTableOptionsBuilder(val dict: OptMap)
  extends JSOptionBuilder[DataTableOptions, DataTableOptionsBuilder](new DataTableOptionsBuilder(_)) {
  def columns(obj: js.Array[js.Object]) = jsOpt("columns", obj)
}

@js.native
trait DataTableColumnOptions extends js.Object
object DataTableColumnOptions extends DataTableColumnOptionsBuilder(noOpts)
class DataTableColumnOptionsBuilder(val dict: OptMap)
extends JSOptionBuilder[DataTableColumnOptions, DataTableColumnOptionsBuilder](new DataTableColumnOptionsBuilder(_)) {
  def data(v: String) = jsOpt("data", v)
  def className(v: String) = jsOpt("className", v)
  def orderable(v: Boolean) = jsOpt("orderable", v)
  def defaultContent(v: String) = jsOpt("defaultContent", v)
}

but I don't know how to wire them together. Thanks for any help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions