<commit_before>import Ember from 'ember';
import layout from './template';

/**
 * @name        FilterContentComponent
 * @description component that applys a simple filter to a specified content model
 *              based on basic matching
 * @extends     external:Ember.Component
 */
export default Ember.Component.extend({

  /* properties
  ------------------------ */

  /**
   * @name        classNames
   * @description class names applied to the component DOM object
   * @type        {array.<string>}
   */
  classNames: ['filter-content'],

  /**
   * @name        content
   * @description the content passed in to be filtered
   * @type        {(array|object|Ember.Object)}
   */
  content: [],

  /**
   * @name        debounceFilter
   * @description timer handling debouncing `applyFilter()`, set by `setFilterTimer()`
   * @type        {Ember.run.later}
   */
  debounceFilter: null,

  layout,

  /**
   * @name        properties
   * @description a space-delimited string of dot-notated properties to match
   *              against when filtering
   * @type        {string}
   */
  properties: '',

  /**
   * @name        query
   * @description the query string being filtered against
   * @type        {string}
   */
  query: '',

  /**
   * @name        filterableProperties<commit_msg>Documentation.<commit_after>import Ember from 'ember';
import layout from './template';

/**
 * @name        FilterContentComponent
 * @description component that applys a simple filter to a specified content model
 *              based on basic matching
 * @extends     external:Ember.Component
 */
export default Ember.Component.extend({

  /* properties
  ------------------------ */

  /**
   * @name        classNames
   * @description class names applied to the component DOM object
   * @type        {array.<string>}
   */
  classNames: ['filter-content'],

  /**
   * @name        content
   * @description the content passed in to be filtered
   * @type        {(array|object|Ember.Object)}
   */
  content: [],

  /**
   * @name        debounceFilter
   * @description timer handling debouncing `applyFilter()`, set by `setFilterTimer()`
   * @type        {Ember.run.later}
   */
  debounceFilter: null,

  /**
   * @name        layout
   * @description component layout
   */
  layout,

  /**
   * @name        properties
   * @description a space-delimited string of dot-notated properties to match
   *              against when filtering
   * @type        {string}
   */
  properties: '',

  /**
   * @name        query
   * @description the query string being filtered against
   * @type        {string}
   */
  query: '',

  /* computed
  ------------------------ */

  /**
   * @name        filterableProperties
{'fraction_non_alphanumeric': 0.13878743608473337, 'fraction_numerical': 0.0, 'mean_word_length': 2.0365853658536586, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2001791', 'n_tokens_mistral': 755, 'n_tokens_neox': 725, 'n_words': 217}