Skip to content
views

DruxtViewsFilters

View source on GitHub

Modules

DruxtViewsFilters

Used by the DruxtView component to render a collection of Druxt Wrapper themeable filters.

Typedefs

ComponentOptions : Array.<array>

Provides the available component naming options for the Druxt Wrapper.

PropsData : object

Provides propsData for the DruxtWrapper.

ScopedSlots : object

Provides scoped slots for use in the Wrapper component.

Components : Array.<object>
ComponentData : object
WrapperData : object

DruxtViewsFilters

Used by the DruxtView component to render a collection of Druxt Wrapper themeable filters.


.props

Kind: static property of DruxtViewsFilters


.filters : Array.<object>

The Exposed Filter objects.

Kind: static property of props


.options : object

The Exposed form options.

Kind: static property of props


.type : string

The Exposed form type.

Kind: static property of props


.value : object

The DruxtViewFilters model value.

Kind: static property of props


.langcode : string

The resource langcode.

Kind: static property of props
Default: "undefined"
Example

<DruxtViewsFilters langcode="en" />

.v-model : mixed

The module component model value.

Used to bypass the Drupal JSON:API fetch, setting the module data directly.

Kind: static property of props
Default: null
Example

<DruxtViewsFilters v-model="{ foo: bar }" />

.wrapper : (boolean | object)

The wrapper component configuration.

Used to set the wrapper component, class, style and propsData.

Kind: static property of props
Default: () => undefined
Example

<DruxtViewsFilters
  :wrapper="{
    component: 'MyWrapper',
    class: 'wrapper',
    propsData: { foo: 'bar' }
  }"
/>

.druxt

DruxtModule settings

Kind: static property of DruxtViewsFilters


.template

Druxt development template tool configuration.

Kind: static property of druxt


.componentOptions(context) ⇒ ComponentOptions

Provides the available component naming options for the DruxtWrapper.

Kind: static method of druxt

ParamTypeDescription
contextobjectThe module component ViewModel.

.propsData(context) ⇒ PropsData

Provides propsData for the DruxtWrapper.

Kind: static method of druxt

ParamTypeDescription
contextobjectThe module component ViewModel.

.slots() ⇒ ScopedSlots

Provides the scoped slots object for the Module render function.

A scoped slot is provided for each filter.

The default slot will render all filters.

Kind: static method of druxt
Returns: ScopedSlots - The Scoped slots object.
Example (DruxtViewsFiltersType.vue)

<template>
  <div>
    <slot name="nid" />
  </div>
</template>

.error()

Sets the component to render a DruxtDebug error message.

Kind: instance method of DruxtViewsFilters


.getModuleComponents() ⇒ Components

Get list of module wrapper components.

Kind: instance method of DruxtViewsFilters


.getModulePropsData() ⇒ object

Get module propsData via modules druxt.propsData() callback.

Kind: instance method of DruxtViewsFilters
Example

{
  bar: 'foo',
  foo: 'bar',
}

.getScopedSlots() ⇒ object

Gets a Druxt modules scoped slots, and if there's no default slots, provides a develop mode debug default or passes through to a default template.

Kind: instance method of DruxtViewsFilters


.getWrapperData(component) ⇒ WrapperData

Get wrapper component data.

Kind: instance method of DruxtViewsFilters

ParamTypeDescription
componentstringThe Wrapper component name.

.methods

Kind: static property of DruxtViewsFilters


.data()

Kind: static method of DruxtViewsFilters
Properties

NameTypeDescription
componentComponentDataThe wrapper component and propsData to be rendered.
modelobjectThe model object.

.fetch()

Loads the Druxt module data and applies a wrapper component as required.

Important: If your component has an existing fetch method, you must manually invoke the DruxtModule.fetch() hook.

Kind: static method of DruxtViewsFilters
Example (Manually invoking DruxtModule.fetch().)

import DruxtModule from 'druxt/dist/components/DruxtModule.vue'
export default {
  name: 'DruxtTestModule',
  extends: DruxtModule,
  async fetch() {
    await DruxtModule.fetch.call(this)
  }
  druxt: {
    componentOptions: () => ([['wrapper']]),
    propsData: (ctx) => ({
      bar: ctx.bar,
      foo: ctx.foo,
    }),
  }
}

.lang() ⇒ string

The current language code: the langcode prop if set, otherwise the route's langcode metadata.

Used by Druxt modules to fetch the correct resource translation.

Kind: static method of DruxtViewsFilters
Returns: string - The current language code.


ComponentOptions : Array.<array>

Provides the available component naming options for the Druxt Wrapper.

Kind: global typedef
Example

[
  'DruxtViewsFilters[Type][Langcode]',
  'DruxtViewsFilters[Type]',
  'DruxtViewsFilters[Default][Langcode]'
  'DruxtViewsFilters[Default]'
]

Example

[
  'DruxtViewsFiltersBasicEn',
  'DruxtViewsFiltersBasic',
  'DruxtViewsFiltersDefaultEn'
  'DruxtViewsFiltersDefault'
]

PropsData : object

Provides propsData for the DruxtWrapper.

Kind: global typedef

ParamTypeDescription
filtersArray.<object>The Exposed Filter objects.
optionsobjectThe Exposed form options.
typestringThe Exposed form type.
valueobjectThe DruxtViewFilters model value.

Example

{
  filters: [{
    admin_label: '',
    expose: {},
    exposed: true,
    ...
  }],
  options: {
    expose_sort_order: true,
    exposed_sorts_label: 'Sort by',
    reset_button: false,
    ...
  },
  type: 'basic',
  value: undefined,
}

ScopedSlots : object

Provides scoped slots for use in the Wrapper component.

Kind: global typedef

ParamTypeDescription
[filter.expose.identifier]functionSlot per filter.
defaultfunctionAll filters.

Example (DruxtViewsFiltersType.vue)

<template>
  <div v-if="default">
    <slot />
  </div>

  <div v-else>
    <slot name="type" />
  </div>
</template>

Components : Array.<object>

Kind: global typedef
Properties

NameTypeDescription
globalbooleanComponent global registration state.
namestringThe component name.
partsArray.<string>The component naming parts.

Example

[{
  global: true,
  pascal: 'DruxtTestModuleWrapper',
  parts: ['Wrapper'],
}]

ComponentData : object

Kind: global typedef
Properties

NameTypeDefaultDescription
$attrsobjectpropsData not registered by the Wrapper component.
isstring"DruxtWrapper"The Wrapper component name.
optionsArray.<string>The Wrapper component options.
propsobjectpropsData registered by the Wrapper component.
propsDataobjectThe component propsData object.
settingsobjectDruxt settings object provided by the Wrapper component.

Example

{
  $attrs: { bar: 'foo' },
  is: 'DruxtTestModuleWrapper',
  options: [
    'DruxtTestModuleWrapper',
  ],
  props: { foo: 'bar' },
  propsData: {
    bar: 'foo',
    foo: 'bar',
  },
  settings: { fooBar: true },
}

WrapperData : object

Kind: global typedef
Properties

NameTypeDescription
druxtobjectDruxt settings object for use by Druxt module.
propsobjectRegistered props oject.

Example

{
  druxt: { fooBar: true },
  props: {
    foo: {
      type: String,
      default: '',
    }
  }
}