// This file was generated by https://github.com/grafana/dashboard-spec

{
  new(
    allValue=null,
    hide=0,
    includeAll=false,
    label=null,
    multi=false,
    name=null,
    query=null,
    queryValue='',
    skipUrlSync=false,
  ):: {
    [if allValue != null then 'allValue']: allValue,
    [if hide != null then 'hide']: hide,
    [if includeAll != null then 'includeAll']: includeAll,
    [if label != null then 'label']: label,
    [if multi != null then 'multi']: multi,
    [if name != null then 'name']: name,
    [if query != null then 'query']: query,
    [if queryValue != null then 'queryValue']: queryValue,
    [if skipUrlSync != null then 'skipUrlSync']: skipUrlSync,
    type: 'custom',

    setCurrent(
      selected=false,
      text=null,
      value=null,
    ):: self {}
        + { current+: { [if selected != null then 'selected']: selected } }
        + { current+: { [if text != null then 'text']: text } }
        + { current+: { [if value != null then 'value']: value } },

  },
}
