<commit_before><link rel="import" href="../../bower_components/polymer/polymer-element.html">
<link rel="import" href="../../bower_components/iron-collapse/iron-collapse.html">
<link rel="import" href="../../bower_components/iron-icon/iron-icon.html">
<link rel="import" href="../../bower_components/paper-fab/paper-fab.html">
<link rel="import" href="../../bower_components/paper-button/paper-button.html">
<link rel="import" href="../../bower_components/paper-datatable-api/paper-datatable-api-column.html">
<link rel="import" href="../../bower_components/paper-datatable-api/paper-datatable-api.html">
<link rel="import" href="../../bower_components/paper-material/paper-material.html">

<link rel="import" href="../lib/cell-element-behavior.html">
<link rel="import" href="../lib/dash-notifications-behavior.html">
<link rel="import" href="../elements/dash-form.html">
<link rel="import" href="dash-list-cell-content.html">
<link rel="import" href="dash-list-footer.html">

<link rel="import" href="../my-icons.html">
<link rel="import" href="../shared-styles.html">

<dom-module id="dash-list">
  <template>
    <style include="shared-styles">
       :host {
          display: block;
          --paper-datatable-api-custom-td: {
            text-align:right;
          }
          --paper-datatable-api-header: {
            font-weight: 400;
            font-size: 14px;
          }
       }
       paper-material {
         @apply --dash-list-paper-material;
       }
        paper-datatable-api {
          --paper-datatable-api-checked-checkbox-color: var(--primary-color);
          --paper-datatable-api-tr-hover-background-color: var(--paper-grey-200);
          --paper-datatable-api-tr-odd-background-color: var(--paper-grey-100);
        }
        .header {
          padding: 35px 16px 16px;
          border-bottom: solid 1px var(--paper-blue-grey-200);
          position: relative;
        }

        .card-content {
          background-color: #FFF;
          color: #000;
          border-left: solid 4px var(--paper-blue-800);
          @apply --dash-list-card-content;
        }

        h2 {
          margin: 0;
          font-weight: 400;
        }
        .header > h2 iron-icon {
          --iron-icon-width: 48px;
          --iron-icon-height: 48px;
          padding-right: 16px;
        }
        paper-fab.blue {
          --paper-fab-background: var(--paper-blue-500);
          --paper-fab-keyboard-focus-background: var(--paper-blue-900);
          position: absolute;
          top: -32px;
          right: 32px;
        }
        .filter {
          padding: 16px;
          @apply --dash-list-filters-container;
        }
        .filter > h2 {
          text-align: right;
        }
        .filter > h2 > paper-button {
          font-size: 16px;
          font-weight: 300;
          background-color: var(--paper-blue-500);
          padding: 8px 16px;
          color: #FFF;
          display: inline-block;
          border-radius: 4px;
        }
        .filter > h2 iron-icon {
          --iron-icon-width: 24px;
          --iron-icon-height: 24px;
          padding-right: 16px;
        }
        .footer-pagination {
          padding: 8px;
        }
    </style>

    <paper-material elevation="[[elevation]]">
      <div class="card-content">
        <template is="dom-if" if="[[!showListOnly]]">
          <div class$="header [[headingStyle]]">
            <h2><iron-icon icon="[[icon]]"></iron-icon>[[heading]]</h2>
            <template is="dom-if" if="[[actions.create]]">
              <paper-fab on-tap="_notifyGoToCreate" class="blue" icon="my-icons:playlist-add"></paper-fab>
            </template>
          </div>
          <div class="filter">
            <h2>
              <paper-button on-tap="_toggleFilters"><iron-icon icon="my-icons:search"></iron-icon> Filters</paper-button>
            </h2>
            <iron-collapse>
              <dash-form
                fields="[[filters]]"
                actions="[[_filterActions]]"
                on-filter="_filterRequest"></dash-form>
            </iron-collapse>
          </div>
        </template>
        <paper-datatable-api
          data="[[items]]"
          selected-rows="{{selectedRows}}"
          selectable-data-key="[[key]]"
          on-sort="_handleSort"
          on-selection-changed="_handleSelectionChanged">
          <template is="dom-repeat" items="[[columns]]" as="column">
            <paper-datatable-api-column
              header="[[column.header]]"
              draggable-column="[[_isDraggable(column)]]"
              sortable="[[_isData(column.type)]]"
              td-custom-style="[[!_isDraggable(column)]]"
              property="[[column.index]]"
              other-properties='["disabled"]'>
              <template>
                <template is="dom-if" if="[[!_isActions(column.type)]]">
                  <dash-list-cell-content
                    column="[[column]]">[[value]]</dash-list-cell-content>
                </template>
                <template is="dom-if" if="[[_isActions(column.type)]]">
                  <template is="dom-if" if="[[!otherValues.disabled]]">
                    <dash-list-cell-content
                      key="[[value]]"
                      actions="[[_columnActions]]"></dash-list-cell-content>
                  </template>
                  <template is="dom-if" if="[[otherValues.disabled]]">
                    <dash-list-cell-content
                      column="[[column]]">Disabled</dash-list-cell-content>
                  </template>
                </template>
              </template>
            </paper-datatable-api-column>
          </template>
        </paper-datatable-api>
        <template is="dom-if" if="[[_hasFooter]]">
          <div class="footer-pagination">
            <dash-list-footer
              page="{{page}}"
              items-per-page="[[itemsPerPage]]"
              total-items="[[totalItems]]"></dash-list-footer>
          </div>
        </template>
      </div>
    </paper-material>

  </template>

  <script>
    /**
     * `dash-list` Description
     *
     * @summary ShortDescription.
     * @customElement
     * @polymer
     * @extends {Polymer.Element}
     */
    class DashList extends DashNotificationsBehavior(CellElementBehavior(Polymer.Element)) {<commit_msg>Dash list with after-list slot<commit_after><link rel="import" href="../../bower_components/polymer/polymer-element.html">
<link rel="import" href="../../bower_components/iron-collapse/iron-collapse.html">
<link rel="import" href="../../bower_components/iron-icon/iron-icon.html">
<link rel="import" href="../../bower_components/paper-fab/paper-fab.html">
<link rel="import" href="../../bower_components/paper-button/paper-button.html">
<link rel="import" href="../../bower_components/paper-datatable-api/paper-datatable-api-column.html">
<link rel="import" href="../../bower_components/paper-datatable-api/paper-datatable-api.html">
<link rel="import" href="../../bower_components/paper-material/paper-material.html">

<link rel="import" href="../lib/cell-element-behavior.html">
<link rel="import" href="../lib/dash-notifications-behavior.html">
<link rel="import" href="../elements/dash-form.html">
<link rel="import" href="dash-list-cell-content.html">
<link rel="import" href="dash-list-footer.html">

<link rel="import" href="../my-icons.html">
<link rel="import" href="../shared-styles.html">

<dom-module id="dash-list">
  <template>
    <style include="shared-styles">
       :host {
          display: block;
          --paper-datatable-api-custom-td: {
            text-align:right;
          }
          --paper-datatable-api-header: {
            font-weight: 400;
            font-size: 14px;
          }
       }
       paper-material {
         @apply --dash-list-paper-material;
       }
        paper-datatable-api {
          --paper-datatable-api-checked-checkbox-color: var(--primary-color);
          --paper-datatable-api-tr-hover-background-color: var(--paper-grey-200);
          --paper-datatable-api-tr-odd-background-color: var(--paper-grey-100);
        }
        .header {
          padding: 35px 16px 16px;
          border-bottom: solid 1px var(--paper-blue-grey-200);
          position: relative;
        }

        .card-content {
          background-color: #FFF;
          color: #000;
          border-left: solid 4px var(--paper-blue-800);
          @apply --dash-list-card-content;
        }

        h2 {
          margin: 0;
          font-weight: 400;
        }
        .header > h2 iron-icon {
          --iron-icon-width: 48px;
          --iron-icon-height: 48px;
          padding-right: 16px;
        }
        paper-fab.blue {
          --paper-fab-background: var(--paper-blue-500);
          --paper-fab-keyboard-focus-background: var(--paper-blue-900);
          position: absolute;
          top: -32px;
          right: 32px;
        }
        .filter {
          padding: 16px;
          @apply --dash-list-filters-container;
        }
        .filter > h2 {
          text-align: right;
        }
        .filter > h2 > paper-button {
          font-size: 16px;
          font-weight: 300;
          background-color: var(--paper-blue-500);
          padding: 8px 16px;
          color: #FFF;
          display: inline-block;
          border-radius: 4px;
        }
        .filter > h2 iron-icon {
          --iron-icon-width: 24px;
          --iron-icon-height: 24px;
          padding-right: 16px;
        }
        .footer-pagination {
          padding: 8px;
        }
    </style>

    <paper-material elevation="[[elevation]]">
      <div class="card-content">
        <template is="dom-if" if="[[!showListOnly]]">
          <div class$="header [[headingStyle]]">
            <h2><iron-icon icon="[[icon]]"></iron-icon>[[heading]]</h2>
            <template is="dom-if" if="[[actions.create]]">
              <paper-fab on-tap="_notifyGoToCreate" class="blue" icon="my-icons:playlist-add"></paper-fab>
            </template>
          </div>
          <div class="filter">
            <h2>
              <paper-button on-tap="_toggleFilters"><iron-icon icon="my-icons:search"></iron-icon> Filters</paper-button>
            </h2>
            <iron-collapse>
              <dash-form
                fields="[[filters]]"
                actions="[[_filterActions]]"
                on-filter="_filterRequest"></dash-form>
            </iron-collapse>
          </div>
        </template>
        <paper-datatable-api
          data="[[items]]"
          selected-rows="{{selectedRows}}"
          selectable-data-key="[[key]]"
          on-sort="_handleSort"
          on-selection-changed="_handleSelectionChanged">
          <template is="dom-repeat" items="[[columns]]" as="column">
            <paper-datatable-api-column
              header="[[column.header]]"
              draggable-column="[[_isDraggable(column)]]"
              sortable="[[_isData(column.type)]]"
              td-custom-style="[[!_isDraggable(column)]]"
              property="[[column.index]]"
              other-properties='["disabled"]'>
              <template>
                <template is="dom-if" if="[[!_isActions(column.type)]]">
                  <dash-list-cell-content
                    column="[[column]]">[[value]]</dash-list-cell-content>
                </template>
                <template is="dom-if" if="[[_isActions(column.type)]]">
                  <template is="dom-if" if="[[!otherValues.disabled]]">
                    <dash-list-cell-content
                      key="[[value]]"
                      actions="[[_columnActions]]"></dash-list-cell-content>
                  </template>
                  <template is="dom-if" if="[[otherValues.disabled]]">
                    <dash-list-cell-content
                      column="[[column]]">Disabled</dash-list-cell-content>
                  </template>
                </template>
              </template>
            </paper-datatable-api-column>
          </template>
        </paper-datatable-api>
        <template is="dom-if" if="[[_hasFooter]]">
          <div class="footer-pagination">
            <dash-list-footer
              page="{{page}}"
              items-per-page="[[itemsPerPage]]"
              total-items="[[totalItems]]"></dash-list-footer>
          </div>
        </template>
        <slot name="after-list"></slot>
      </div>
    </paper-material>

  </template>

  <script>
    /**
     * `dash-list` Description
     *
     * @summary ShortDescription.
     * @customElement
     * @polymer
     * @extends {Polymer.Element}
     */
    class DashList extends DashNotificationsBehavior(CellElementBehavior(Polymer.Element)) {
{'fraction_non_alphanumeric': 0.1722646110280815, 'fraction_numerical': 0.0122709037992606, 'mean_word_length': 1.8178191489361701, 'pattern_counts': {'":': 0, '<': 159, '<?xml version=': 0, '>': 169, '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': '5689657', 'n_tokens_mistral': 3888, 'n_tokens_neox': 3685, 'n_words': 538}