API Docs for: 3.0.1.91d25ad1
Show:

File: addon/components/models-table/row-group-toggle.js

import {layout as templateLayout} from '@ember-decorators/component';
import Component from '@ember/component';
import layout from '../../templates/components/models-table/row-group-toggle';
import {action} from '@ember/object';

/**
 * Component is used to toggle rows group visibility
 *
 * Don't override this component. Use [groupingRowComponent](Components.ModelsTable.html#property_groupingRowComponent) (it may extend this one)
 *
 * @namespace Components
 * @class ModelsTableRowGroupToggle
 * @extends Ember.Component
 */
export default
@templateLayout(layout)
class RowGroupToggleComponent extends Component {

  /**
   * Determines if `stopPropagation` should be called for event-handlers in the current component
   *
   * @property stopEventsPropagation
   * @type boolean
   * @default true
   */
  stopEventsPropagation = true;

  /**
   * Bound from [groupIsCollapsed](Components.ModelsTableRowGrouping.html#property_groupIsCollapsed)
   *
   * @property groupIsCollapsed
   * @type boolean
   * @default null
   */
  groupIsCollapsed = null;

  /**
   * Bound from [groupedValue](Components.ModelsTableRowGrouping.html#property_groupedValue)
   *
   * @property groupedValue
   * @type *
   * @default null
   */
  groupedValue = null;

  /**
   * List of all rows group items
   *
   * If rows group is last on the page, not all it's items may be shown. Use `visibleGroupedItems` to get rows group items shown on the current table's page
   *
   * @property groupedItems
   * @type object[]
   * @default null
   */
  groupedItems = null;

  /**
   * List of rows group items shown on the current table page
   *
   * @property visibleGroupedItems
   * @type object[]
   * @default null
   */
  visibleGroupedItems = null;

  /**
   * List of selected rows group items
   *
   * @property selectedGroupedItems
   * @type object[]
   * @default null
   */
  selectedGroupedItems = null;

  /**
   * List of expanded rows group items
   *
   * @property expandedGroupedItems
   * @type object[]
   * @default null
   */
  expandedGroupedItems = null;

  /**
   * Bound from [ModelsTable.currentGroupingPropertyName](Components.ModelsTable.html#property_currentGroupingPropertyName)
   *
   * @property currentGroupingPropertyName
   * @type string
   * @default null
   */
  currentGroupingPropertyName = null;

  /**
   * Bound from [ModelsTable.displayGroupedValueAs](Components.ModelsTable.html#property_displayGroupedValueAs)
   *
   * @property displayGroupedValueAs
   * @type string
   * @default null
   */
  displayGroupedValueAs = null;

  /**
   * Bound from [ModelsTable.visibleProcessedColumns](Components.ModelsTable.html#property_visibleProcessedColumns)
   *
   * @property visibleProcessedColumns
   * @type Utils.ModelsTableColumn[]
   * @default null
   */
  visibleProcessedColumns = null;

  /**
   * Bound from [ModelsTable.themeInstance](Components.ModelsTable.html#property_themeInstance)
   *
   * @property themeInstance
   * @type object
   * @default null
   */
  themeInstance = null;

  /**
   * Closure action [ModelsTable.toggleGroupedRows](Components.ModelsTable.html#event_toggleGroupedRows)
   *
   * @event toggleGroupedRows
   */
  toggleGroupedRows = null;

  /**
   * Closure action [ModelsTable.toggleGroupedRowsSelection](Components.ModelsTable.html#event_toggleGroupedRowsSelection)
   *
   * @event toggleGroupedRowsSelection
   */
  toggleGroupedRowsSelection = null;

  /**
   * Closure action [ModelsTable.toggleGroupedRowsExpands](Components.ModelsTable.html#event_toggleGroupedRowsExpands)
   *
   * @event toggleGroupedRowsExpands
   */
  toggleGroupedRowsExpands = null;

  /**
   * Calls passed `toggleGroupedRows`
   *
   * @event toggleGroupedRows
   */
  @action
  doToggleGroupedRows() {
    this.toggleGroupedRows(this.groupedValue);
    return !this.stopEventsPropagation;
  }

  /**
   * Calls passed `toggleGroupedRowsSelection`
   *
   * @event toggleGroupedRowsSelection
   */
  @action
  doToggleGroupedRowsSelection() {
    this.toggleGroupedRowsSelection(this.groupedValue);
    return !this.stopEventsPropagation;
  }

  /**
   * Calls passed `toggleGroupedRowsExpands`
   *
   * @event toggleGroupedRowsExpands
   */
  @action
  doToggleGroupedRowsExpands() {
    this.toggleGroupedRowsExpands(this.groupedValue);
    return !this.stopEventsPropagation;
  }
}