import { Component, Listen, h, State, Build, } from "@stencil/core";
export class AppPhoneNumberList {
  onSearchInput(event) {
    this.query = event.target.value;
  }
  componentDidLoad() {
    if (!(Build === null || Build === void 0 ? void 0 : Build.isBrowser))
      return;
  }
  render() {
    return [
      h("ion-content", { class: "ion-padding" },
        h("floodteam-title-bar", null,
          h("ion-router-link", { href: "/phonenumbers" }, "Phone Numbers"),
          h("ion-buttons", { slot: "end" },
            h("ion-button", { fill: "solid", color: "primary", href: "/phonenumbers/new" }, "Add"))),
        h("div", { class: "ion-padding" },
          h("fireenjin-search-bar", { ref: (el) => (this.filterBarEl = el), paginationEl: this.paginationEl, filters: null })),
        h("fireenjin-filter-bar", { paginationEl: this.paginationEl, modeToggle: true, filter: {
            label: "Filter By",
            controls: [
              {
                name: "locationId",
                label: "Location",
                endpoint: "listLocations",
                icon: "business",
                resultsKey: "locations",
              },
            ],
          }, sort: {
            header: "Sort By",
            value: "createdAt:desc",
            options: [
              {
                label: "Created At",
                value: "createdAt:desc",
              },
              {
                label: "Name",
                value: "name",
              },
            ],
          } }),
        h("fireenjin-pagination", { ref: (el) => (this.paginationEl = el), gridEl: ({ result }) => (h("floodteam-snapshot-card", { href: `/phonenumber/${result.id}`, buttonText: "View PhoneNumber" },
            h("ion-label", null,
              h("h2", null, result.id ? result.id : "")))), listEl: ({ result }) => (h("ion-item", { href: `/phonenumber/${result.id}`, detail: true },
            h("ion-label", null,
              h("h2", null, result.id ? result.id : "")))), endpoint: "listPhoneNumbers", limit: 20, resultsKey: "phoneNumbers", query: this.query })),
      h("floodteam-navigation-footer", null),
    ];
  }
  static get is() { return "app-phone-number-list"; }
  static get originalStyleUrls() { return {
    "$": ["app-phone-number-list.css"]
  }; }
  static get styleUrls() { return {
    "$": ["app-phone-number-list.css"]
  }; }
  static get states() { return {
    "paginationEl": {},
    "query": {}
  }; }
  static get listeners() { return [{
      "name": "ionInput",
      "method": "onSearchInput",
      "target": undefined,
      "capture": false,
      "passive": false
    }]; }
}
