<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/*
 *   Copyright (c) 2022 Esri
 *   All rights reserved.

 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at

 *   http://www.apache.org/licenses/LICENSE-2.0

 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */
var __decorate = (this &amp;&amp; this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c &lt; 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" &amp;&amp; typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i &gt;= 0; i--) if (d = decorators[i]) r = (c &lt; 3 ? d(r) : c &gt; 3 ? d(target, key, r) : d(target, key)) || r;
    return c &gt; 3 &amp;&amp; r &amp;&amp; Object.defineProperty(target, key, r), r;
};
var __importDefault = (this &amp;&amp; this.__importDefault) || function (mod) {
    return (mod &amp;&amp; mod.__esModule) ? mod : { "default": mod };
};
define(["require", "exports", "esri/core/accessorSupport/decorators", "esri/widgets/Widget", "esri/widgets/support/widget", "esri/intl", "esri/widgets/Locate/LocateViewModel"], function (require, exports, decorators_1, Widget_1, widget_1, intl_1, LocateViewModel_1) {
    "use strict";
    Widget_1 = __importDefault(Widget_1);
    LocateViewModel_1 = __importDefault(LocateViewModel_1);
    const CSS = {
        hide: "hide"
    };
    let CountPage = class CountPage extends Widget_1.default {
        //--------------------------------------------------------------------------
        //
        //  Public Methods
        //
        //--------------------------------------------------------------------------
        constructor(props) {
            super(props);
            this.messages = null;
            this.instantMessages = null;
            this._hidePage = false;
            this._locationVM = new LocateViewModel_1.default({
                view: props?.view,
                goToLocationEnabled: false
            });
        }
        render() {
            const { maxQueryNumber } = this.config;
            this._updatePanelClass(this._hidePage);
            return ((0, widget_1.tsx)("div", { class: this._hidePage ? CSS.hide : "" },
                (0, widget_1.tsx)("calcite-panel", { class: "count-page" },
                    (0, widget_1.tsx)("p", null, (0, intl_1.substitute)(this.messages.countTotal.label, {
                        exceededResultCount: this?.exceeded,
                        maxQueryLimit: maxQueryNumber
                    })),
                    (0, widget_1.tsx)("div", { class: "count-page-buttons" },
                        this._renderLocationButton(),
                        this._renderResultsButton()),
                    (0, widget_1.tsx)("div", { class: "count-page-buttons" }, this._renderFilterButton()))));
        }
        _renderResultsButton() {
            return ((0, widget_1.tsx)("calcite-button", { kind: "neutral", appearance: "outline", title: this.messages.tools.viewResults, label: this.messages.tools.viewResults, width: "half", onclick: () =&gt; {
                    this._hidePage = true;
                } }, this.messages.tools.viewResults));
        }
        _renderFilterButton() {
            return this?.config?.enableFilter ? ((0, widget_1.tsx)("calcite-button", { kind: "neutral", width: "full", appearance: "outline", "icon-start": "filter", title: this.messages.tools.enableFilter, label: this.messages.tools.enableFilter, onclick: () =&gt; {
                    this._hidePage = true;
                    // open the filter panel
                    const panel = document.getElementById("filterPanel");
                    if (panel)
                        panel?.classList?.remove("hide");
                } }, this.messages.tools.enableFilter)) : null;
        }
        _renderLocationButton() {
            return ((0, widget_1.tsx)("calcite-button", { "icon-start": "gps-on", width: "half", title: this.messages.tools.location, label: this.messages.tools.location, onclick: () =&gt; {
                    document.getElementById("loader")?.classList?.remove("hide");
                    this?.search?.viewModel?.clear();
                    this?._locationVM?.locate()?.then((e) =&gt; {
                        const graphic = this?._locationVM?.graphic;
                        if (graphic) {
                            const currZoom = this.view.zoom;
                            this.view
                                .goTo({ target: graphic, zoom: currZoom + 2 })
                                .then(() =&gt; {
                                this.search.search(graphic);
                                this?.view?.graphics?.removeAll();
                                document.getElementById("loader")?.classList?.add("hide");
                            })
                                .catch();
                        }
                        else {
                            document.getElementById("loader")?.classList?.add("hide");
                        }
                    });
                } }, this.messages.tools.location));
        }
        _updatePanelClass(hide) {
            // hide the toggle panel (re-show when count page is closed)
            const hideElements = document.getElementsByClassName("toggle-panel");
            const resultsPanel = document.getElementById("resultsPanel");
            !hide
                ? resultsPanel?.style?.setProperty("overflow-y", "hidden")
                : resultsPanel?.style?.setProperty("overflow-y", "auto");
            for (let i = 0; i &lt; hideElements?.length; i++) {
                const ele = hideElements[i];
                hide ? ele.classList.remove("hide") : ele.classList.add("hide");
            }
        }
    };
    __decorate([
        (0, decorators_1.property)()
    ], CountPage.prototype, "config", void 0);
    __decorate([
        (0, decorators_1.property)()
    ], CountPage.prototype, "count", void 0);
    __decorate([
        (0, decorators_1.property)()
    ], CountPage.prototype, "view", void 0);
    __decorate([
        (0, decorators_1.property)()
    ], CountPage.prototype, "accordion", void 0);
    __decorate([
        (0, decorators_1.property)()
    ], CountPage.prototype, "exceeded", void 0);
    __decorate([
        (0, decorators_1.property)(),
        (0, widget_1.messageBundle)("lookup/app/t9n/common")
    ], CountPage.prototype, "messages", void 0);
    __decorate([
        (0, decorators_1.property)(),
        (0, widget_1.messageBundle)("instant/../t9n/common")
    ], CountPage.prototype, "instantMessages", void 0);
    __decorate([
        (0, decorators_1.property)()
    ], CountPage.prototype, "search", void 0);
    CountPage = __decorate([
        (0, decorators_1.subclass)("app.CountPage")
    ], CountPage);
    return CountPage;
});
</pre></body></html>