@esri/solutions-components 0.8.22 → 0.8.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/arcgis-login.cjs.entry.js +1 -1
- package/dist/cjs/basemap-gallery_7.cjs.entry.js +1 -1
- package/dist/cjs/buffer-tools_3.cjs.entry.js +1 -1
- package/dist/cjs/calcite-alert_4.cjs.entry.js +12 -11
- package/dist/cjs/{calcite-avatar.cjs.entry.js → calcite-avatar_2.cjs.entry.js} +62 -0
- package/dist/cjs/calcite-block_5.cjs.entry.js +12 -3
- package/dist/cjs/calcite-dropdown-group_2.cjs.entry.js +419 -0
- package/dist/cjs/{calcite-dropdown_4.cjs.entry.js → calcite-dropdown_2.cjs.entry.js} +12 -435
- package/dist/cjs/calcite-flow_6.cjs.entry.js +25 -29
- package/dist/cjs/card-manager_3.cjs.entry.js +9 -3
- package/dist/cjs/crowdsource-manager.cjs.entry.js +12 -4
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +57 -37
- package/dist/cjs/{downloadUtils-2e36a300.js → downloadUtils-5349717a.js} +2 -1
- package/dist/cjs/feature-list.cjs.entry.js +11 -6
- package/dist/cjs/{helpers-9347ad83.js → helpers-618a3f7d.js} +2 -1
- package/dist/cjs/{index.es-56415e48.js → index.es-aa69b58b.js} +1 -1
- package/dist/cjs/instant-apps-create.cjs.entry.js +266 -0
- package/dist/cjs/instant-apps-export.cjs.entry.js +31 -16
- package/dist/cjs/instant-apps-header.cjs.entry.js +3 -2
- package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +11 -4
- package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-landing-page.cjs.entry.js +45 -9
- package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-language-translator.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-sign-in.cjs.entry.js +168 -0
- package/dist/cjs/{languageSwitcher-395021d6.js → languageSwitcher-b9a1485c.js} +3 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +1 -1
- package/dist/cjs/{popupUtils-500c1544.js → popupUtils-3e65296c.js} +17 -2
- package/dist/cjs/public-notification.cjs.entry.js +4 -4
- package/dist/cjs/resources-fa37e40f.js +26 -0
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/arcgis-login/arcgis-login.js +1 -1
- package/dist/collection/components/basemap-gallery/basemap-gallery.js +1 -1
- package/dist/collection/components/buffer-tools/buffer-tools.js +1 -1
- package/dist/collection/components/card-manager/card-manager.js +1 -1
- package/dist/collection/components/create-feature/create-feature.js +1 -1
- package/dist/collection/components/create-related-feature/create-related-feature.js +1 -1
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +30 -8
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +57 -46
- package/dist/collection/components/feature-details/feature-details.css +2 -2
- package/dist/collection/components/feature-details/feature-details.js +56 -13
- package/dist/collection/components/feature-list/feature-list.css +1 -1
- package/dist/collection/components/feature-list/feature-list.js +23 -4
- package/dist/collection/components/info-card/info-card.js +7 -27
- package/dist/collection/components/layer-list/layer-list.js +7 -14
- package/dist/collection/components/layer-table/layer-table.js +7 -1
- package/dist/collection/components/public-notification/public-notification.js +3 -3
- package/dist/collection/demos/crowdsource-manager.html +10 -2
- package/dist/collection/demos/crowdsource-reporter.html +22 -15
- package/dist/collection/utils/interfaces.ts +1 -0
- package/dist/collection/utils/popupUtils.js +17 -2
- package/dist/collection/utils/popupUtils.ts +23 -3
- package/dist/components/arcgis-login.js +1 -1
- package/dist/components/basemap-gallery2.js +1 -1
- package/dist/components/buffer-tools2.js +1 -1
- package/dist/components/calcite-navigation-user.js +1 -99
- package/dist/components/card-manager2.js +1 -1
- package/dist/components/consent-manager.js +1 -1
- package/dist/components/create-feature2.js +1 -1
- package/dist/components/create-related-feature2.js +1 -1
- package/dist/components/crowdsource-manager.js +13 -5
- package/dist/components/crowdsource-reporter.js +58 -38
- package/dist/components/downloadUtils.js +1 -1
- package/dist/components/esri-loader.js +1 -1
- package/dist/components/feature-details2.js +17 -13
- package/dist/components/feature-list2.js +7 -5
- package/dist/components/helpers.js +3 -2
- package/dist/components/html2canvas.js +1 -1
- package/dist/components/index.es.js +2 -2
- package/dist/components/info-card2.js +7 -11
- package/dist/components/instant-apps-ckeditor-wrapper2.js +1 -1
- package/dist/components/instant-apps-create.js +317 -0
- package/dist/components/instant-apps-export.js +32 -16
- package/dist/components/instant-apps-filter-list2.js +6 -1
- package/dist/components/instant-apps-header2.js +3 -2
- package/dist/components/instant-apps-interactive-legend-classic2.js +13 -6
- package/dist/components/instant-apps-interactive-legend-legend-element-caption2.js +2 -2
- package/dist/components/instant-apps-landing-page.js +91 -16
- package/dist/components/instant-apps-language-translator2.js +3 -1
- package/dist/components/instant-apps-sign-in.js +11 -0
- package/dist/components/instant-apps-sign-in2.js +243 -0
- package/dist/components/instant-apps-social-share2.js +8 -2
- package/dist/components/layer-list2.js +7 -14
- package/dist/components/layer-table2.js +7 -1
- package/dist/{esm/calcite-navigation-user.entry.js → components/navigation-user.js} +46 -9
- package/dist/components/popupUtils.js +17 -2
- package/dist/components/public-notification.js +3 -3
- package/dist/components/purify.js +1 -1
- package/dist/components/solution-resource.js +1 -1
- package/dist/esm/arcgis-login.entry.js +1 -1
- package/dist/esm/basemap-gallery_7.entry.js +1 -1
- package/dist/esm/buffer-tools_3.entry.js +1 -1
- package/dist/esm/calcite-alert_4.entry.js +12 -11
- package/dist/esm/{calcite-avatar.entry.js → calcite-avatar_2.entry.js} +64 -3
- package/dist/esm/calcite-block_5.entry.js +12 -3
- package/dist/esm/calcite-color-picker-hex-input_2.entry.js +1 -1
- package/dist/esm/calcite-color-picker.entry.js +1 -1
- package/dist/esm/calcite-dropdown-group_2.entry.js +414 -0
- package/dist/esm/{calcite-dropdown_4.entry.js → calcite-dropdown_2.entry.js} +2 -423
- package/dist/esm/calcite-flow_6.entry.js +25 -29
- package/dist/esm/card-manager_3.entry.js +9 -3
- package/dist/esm/crowdsource-manager.entry.js +12 -4
- package/dist/esm/crowdsource-reporter.entry.js +57 -37
- package/dist/esm/{downloadUtils-aab31bfe.js → downloadUtils-5fa0d437.js} +2 -2
- package/dist/esm/feature-list.entry.js +11 -6
- package/dist/esm/{helpers-a5a81b9d.js → helpers-61b05164.js} +3 -2
- package/dist/esm/{index.es-43ba3006.js → index.es-57c15c9b.js} +1 -1
- package/dist/esm/instant-apps-create.entry.js +262 -0
- package/dist/esm/instant-apps-export.entry.js +31 -16
- package/dist/esm/instant-apps-header.entry.js +3 -2
- package/dist/esm/instant-apps-interactive-legend-classic.entry.js +11 -4
- package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +1 -1
- package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +1 -1
- package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +2 -2
- package/dist/esm/instant-apps-interactive-legend.entry.js +1 -1
- package/dist/esm/instant-apps-landing-page.entry.js +46 -10
- package/dist/esm/instant-apps-language-switcher.entry.js +1 -1
- package/dist/esm/instant-apps-language-translator.entry.js +1 -1
- package/dist/esm/instant-apps-sign-in.entry.js +164 -0
- package/dist/esm/{languageSwitcher-a4a615e4.js → languageSwitcher-d60f03b2.js} +3 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-select-tools_3.entry.js +1 -1
- package/dist/esm/{popupUtils-2cc3c366.js → popupUtils-650b6bba.js} +17 -2
- package/dist/esm/public-notification.entry.js +4 -4
- package/dist/esm/resources-16800cce.js +24 -0
- package/dist/esm/solutions-components.js +1 -1
- package/dist/esm/{utils-6419e941.js → utils-251cb6de.js} +1 -1
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-create/instant-apps-create.css +150 -0
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-header/instant-apps-header.css +16 -9
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-landing-page/instant-apps-landing-page.css +19 -0
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-sign-in/instant-apps-sign-in.css +98 -0
- package/dist/solutions-components/demos/crowdsource-manager.html +10 -2
- package/dist/solutions-components/demos/crowdsource-reporter.html +22 -15
- package/dist/solutions-components/p-1251dcc6.entry.js +6 -0
- package/dist/solutions-components/p-16730f05.entry.js +6 -0
- package/dist/solutions-components/p-1ae3b886.entry.js +17 -0
- package/dist/solutions-components/p-1ff9eb95.entry.js +6 -0
- package/dist/solutions-components/{p-667caa6b.js → p-24bf45b7.js} +1 -1
- package/dist/solutions-components/{p-8f6e0ae5.entry.js → p-26eb1225.entry.js} +1 -1
- package/dist/solutions-components/{p-3a2e0188.entry.js → p-2c044250.entry.js} +2 -2
- package/dist/solutions-components/p-314dc933.entry.js +6 -0
- package/dist/solutions-components/p-50741707.entry.js +6 -0
- package/dist/solutions-components/p-614ebce7.js +6 -0
- package/dist/solutions-components/{p-37fc92db.js → p-6f69de4d.js} +2 -2
- package/dist/solutions-components/{p-8cff32bd.entry.js → p-72317f8e.entry.js} +2 -2
- package/dist/solutions-components/{p-df73649e.entry.js → p-77cd573b.entry.js} +1 -1
- package/dist/solutions-components/{p-c95dcdf7.entry.js → p-7883b885.entry.js} +3 -3
- package/dist/solutions-components/p-79e2e203.entry.js +6 -0
- package/dist/solutions-components/{p-968a6fd8.entry.js → p-7b17e929.entry.js} +1 -1
- package/dist/solutions-components/p-80b3eb6b.entry.js +6 -0
- package/dist/solutions-components/p-84913712.js +6 -0
- package/dist/solutions-components/p-8c500fd7.entry.js +6 -0
- package/dist/solutions-components/{p-54324eaa.entry.js → p-97e343df.entry.js} +1 -1
- package/dist/solutions-components/{p-fe9d6d06.js → p-9f56c02c.js} +1 -1
- package/dist/solutions-components/p-a1037b19.js +21 -0
- package/dist/solutions-components/{p-667c022f.entry.js → p-af4be4ce.entry.js} +1 -1
- package/dist/solutions-components/p-bb2e669d.entry.js +6 -0
- package/dist/solutions-components/p-c41997d5.js +11 -0
- package/dist/solutions-components/p-c512fcfb.entry.js +6 -0
- package/dist/solutions-components/{p-21d6360a.entry.js → p-c7f0e7a8.entry.js} +1 -1
- package/dist/solutions-components/{p-f6668347.entry.js → p-cbf0dada.entry.js} +3 -3
- package/dist/solutions-components/{p-9c7d4343.entry.js → p-cd91c3e7.entry.js} +1 -1
- package/dist/solutions-components/p-ceba37d3.entry.js +11 -0
- package/dist/solutions-components/{p-09b769b7.entry.js → p-d8a15e32.entry.js} +1 -1
- package/dist/solutions-components/p-d8da6406.entry.js +6 -0
- package/dist/solutions-components/p-da6b3c8a.entry.js +6 -0
- package/dist/solutions-components/{p-60f1055e.entry.js → p-e2400b0d.entry.js} +1 -1
- package/dist/solutions-components/p-e78be59a.entry.js +6 -0
- package/dist/solutions-components/p-f35cc7ae.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +1 -0
- package/dist/solutions-components/utils/popupUtils.ts +23 -3
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +14 -6
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +18 -7
- package/dist/types/components/feature-details/feature-details.d.ts +13 -1
- package/dist/types/components/feature-list/feature-list.d.ts +4 -0
- package/dist/types/components/info-card/info-card.d.ts +0 -4
- package/dist/types/components/layer-list/layer-list.d.ts +1 -1
- package/dist/types/components.d.ts +36 -16
- package/dist/types/preact.d.ts +10 -4
- package/dist/types/utils/interfaces.d.ts +1 -0
- package/dist/types/utils/popupUtils.d.ts +4 -0
- package/package.json +2 -2
- package/dist/cjs/calcite-navigation-user.cjs.entry.js +0 -73
- package/dist/solutions-components/p-08a1e120.js +0 -6
- package/dist/solutions-components/p-3283660c.entry.js +0 -6
- package/dist/solutions-components/p-33647277.entry.js +0 -6
- package/dist/solutions-components/p-3af0764f.entry.js +0 -6
- package/dist/solutions-components/p-48c99a48.entry.js +0 -6
- package/dist/solutions-components/p-599dcc29.js +0 -6
- package/dist/solutions-components/p-5a740f6c.entry.js +0 -6
- package/dist/solutions-components/p-64779bb2.entry.js +0 -6
- package/dist/solutions-components/p-64b4b579.entry.js +0 -11
- package/dist/solutions-components/p-88f73319.entry.js +0 -6
- package/dist/solutions-components/p-ab96dd27.entry.js +0 -6
- package/dist/solutions-components/p-bb0c7be3.entry.js +0 -17
- package/dist/solutions-components/p-bb8e3add.entry.js +0 -11
- package/dist/solutions-components/p-cbe166fc.entry.js +0 -6
- package/dist/solutions-components/p-eab95aa4.entry.js +0 -6
- package/dist/solutions-components/p-ebf82ce0.js +0 -21
- package/dist/solutions-components/p-f43d6a86.entry.js +0 -6
|
@@ -13,15 +13,10 @@ import { c as componentFocusable, s as setUpLoadableComponent, a as setComponent
|
|
|
13
13
|
import { c as createObserver } from './observers-19e5cb73.js';
|
|
14
14
|
import { o as onToggleOpenCloseComponent } from './openCloseComponent-04234cea.js';
|
|
15
15
|
import { g as getIconScale } from './component-960ddabf.js';
|
|
16
|
-
import {
|
|
17
|
-
import { d as getMapLayerHash, p as getMapTableHash } from './mapViewUtils-4618ddb8.js';
|
|
18
|
-
import { s as state } from './publicNotificationStore-74c7e9f4.js';
|
|
16
|
+
import { C as CSS } from './resources-16800cce.js';
|
|
19
17
|
import './resources-1febf4c6.js';
|
|
20
18
|
import './debounce-6e9ade8c.js';
|
|
21
19
|
import './browser-9897260d.js';
|
|
22
|
-
import './esri-loader-2bf735ed.js';
|
|
23
|
-
import './interfaces-586e863c.js';
|
|
24
|
-
import './index-c06194fa.js';
|
|
25
20
|
|
|
26
21
|
/*!
|
|
27
22
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
@@ -427,96 +422,6 @@ const Dropdown = class {
|
|
|
427
422
|
};
|
|
428
423
|
Dropdown.style = CalciteDropdownStyle0;
|
|
429
424
|
|
|
430
|
-
/*!
|
|
431
|
-
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
432
|
-
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
|
433
|
-
* v2.8.2
|
|
434
|
-
*/
|
|
435
|
-
const CSS = {
|
|
436
|
-
container: "container",
|
|
437
|
-
containerLink: "container--link",
|
|
438
|
-
containerMulti: "container--multi-selection",
|
|
439
|
-
containerSingle: "container--single-selection",
|
|
440
|
-
containerNone: "container--none-selection",
|
|
441
|
-
icon: "dropdown-item-icon",
|
|
442
|
-
iconEnd: "dropdown-item-icon-end",
|
|
443
|
-
iconStart: "dropdown-item-icon-start",
|
|
444
|
-
itemContent: "dropdown-item-content",
|
|
445
|
-
link: "dropdown-link",
|
|
446
|
-
};
|
|
447
|
-
|
|
448
|
-
const dropdownGroupCss = ":host{position:relative;display:block}.container{text-align:start}.container--s{font-size:var(--calcite-font-size--2);line-height:1rem}.container--s .dropdown-title{padding:0.5rem}.container--m{font-size:var(--calcite-font-size--1);line-height:1rem}.container--m .dropdown-title{padding:0.75rem}.container--l{font-size:var(--calcite-font-size-0);line-height:1.25rem}.container--l .dropdown-title{padding:1rem}.dropdown-title{margin-block-end:-1px;display:block;cursor:default;overflow-wrap:break-word;border-width:0px;border-block-end-width:1px;border-style:solid;border-color:var(--calcite-color-border-3);font-weight:var(--calcite-font-weight-bold);color:var(--calcite-color-text-2)}.dropdown-separator{display:block;block-size:1px;background-color:var(--calcite-color-border-3)}:host([hidden]){display:none}[hidden]{display:none}";
|
|
449
|
-
const CalciteDropdownGroupStyle0 = dropdownGroupCss;
|
|
450
|
-
|
|
451
|
-
const DropdownGroup = class {
|
|
452
|
-
constructor(hostRef) {
|
|
453
|
-
registerInstance(this, hostRef);
|
|
454
|
-
this.calciteInternalDropdownItemChange = createEvent(this, "calciteInternalDropdownItemChange", 6);
|
|
455
|
-
this.updateItems = () => {
|
|
456
|
-
Array.from(this.el.querySelectorAll("calcite-dropdown-item")).forEach((item) => (item.selectionMode = this.selectionMode));
|
|
457
|
-
};
|
|
458
|
-
this.mutationObserver = createObserver("mutation", () => this.updateItems());
|
|
459
|
-
this.groupTitle = undefined;
|
|
460
|
-
this.scale = "m";
|
|
461
|
-
this.selectionMode = "single";
|
|
462
|
-
}
|
|
463
|
-
handlePropsChange() {
|
|
464
|
-
this.updateItems();
|
|
465
|
-
}
|
|
466
|
-
//--------------------------------------------------------------------------
|
|
467
|
-
//
|
|
468
|
-
// Lifecycle
|
|
469
|
-
//
|
|
470
|
-
//--------------------------------------------------------------------------
|
|
471
|
-
connectedCallback() {
|
|
472
|
-
var _a;
|
|
473
|
-
this.updateItems();
|
|
474
|
-
(_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el, { childList: true });
|
|
475
|
-
}
|
|
476
|
-
componentWillLoad() {
|
|
477
|
-
this.groupPosition = this.getGroupPosition();
|
|
478
|
-
}
|
|
479
|
-
disconnectedCallback() {
|
|
480
|
-
var _a;
|
|
481
|
-
(_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
482
|
-
}
|
|
483
|
-
render() {
|
|
484
|
-
const groupTitle = this.groupTitle ? (h("span", { "aria-hidden": "true", class: "dropdown-title" }, this.groupTitle)) : null;
|
|
485
|
-
const dropdownSeparator = this.groupPosition > 0 ? h("div", { class: "dropdown-separator", role: "separator" }) : null;
|
|
486
|
-
return (h(Host, { key: 'c1b662afcbb612d775cea66edb949d71f5f63167', "aria-label": this.groupTitle, role: "group" }, h("div", { key: 'cdfdb0919b1b6006f69f7fbcda0c16c2beefec5e', class: {
|
|
487
|
-
[CSS.container]: true,
|
|
488
|
-
[`${CSS.container}--${this.scale}`]: true,
|
|
489
|
-
} }, dropdownSeparator, groupTitle, h("slot", { key: '166c8236f3315d2f038f61b0619270d2bd9b344a' }))));
|
|
490
|
-
}
|
|
491
|
-
//--------------------------------------------------------------------------
|
|
492
|
-
//
|
|
493
|
-
// Event Listeners
|
|
494
|
-
//
|
|
495
|
-
//--------------------------------------------------------------------------
|
|
496
|
-
updateActiveItemOnChange(event) {
|
|
497
|
-
this.requestedDropdownGroup = event.detail.requestedDropdownGroup;
|
|
498
|
-
this.requestedDropdownItem = event.detail.requestedDropdownItem;
|
|
499
|
-
this.calciteInternalDropdownItemChange.emit({
|
|
500
|
-
requestedDropdownGroup: this.requestedDropdownGroup,
|
|
501
|
-
requestedDropdownItem: this.requestedDropdownItem,
|
|
502
|
-
});
|
|
503
|
-
}
|
|
504
|
-
//--------------------------------------------------------------------------
|
|
505
|
-
//
|
|
506
|
-
// Private Methods
|
|
507
|
-
//
|
|
508
|
-
//--------------------------------------------------------------------------
|
|
509
|
-
getGroupPosition() {
|
|
510
|
-
return Array.prototype.indexOf.call(this.el.parentElement.querySelectorAll("calcite-dropdown-group"), this.el);
|
|
511
|
-
}
|
|
512
|
-
static get delegatesFocus() { return true; }
|
|
513
|
-
get el() { return getElement(this); }
|
|
514
|
-
static get watchers() { return {
|
|
515
|
-
"selectionMode": ["handlePropsChange"]
|
|
516
|
-
}; }
|
|
517
|
-
};
|
|
518
|
-
DropdownGroup.style = CalciteDropdownGroupStyle0;
|
|
519
|
-
|
|
520
425
|
const dropdownItemCss = ":host([disabled]){cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}.container--s{padding-block:0.25rem;font-size:var(--calcite-font-size--2);line-height:1rem;padding-inline-end:0.5rem;padding-inline-start:1.5rem}.container--m{padding-block:0.5rem;font-size:var(--calcite-font-size--1);line-height:1rem;padding-inline-end:0.75rem;padding-inline-start:2rem}.container--l{padding-block:0.625rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;padding-inline-end:1rem;padding-inline-start:2.5rem}.container--s.container--none-selection{padding-inline-start:0.25rem}.container--s.container--none-selection .dropdown-link{padding-inline-start:0px}.container--m.container--none-selection{padding-inline-start:0.5rem}.container--m.container--none-selection .dropdown-link{padding-inline-start:0px}.container--l.container--none-selection{padding-inline-start:0.75rem}.container--l.container--none-selection .dropdown-link{padding-inline-start:0px}:host{position:relative;display:flex;flex-grow:1;align-items:center}.container{position:relative;display:flex;flex-grow:1;cursor:pointer;align-items:center;color:var(--calcite-color-text-3);-webkit-text-decoration-line:none;text-decoration-line:none;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);text-align:start}.dropdown-item-content{flex:1 1 auto;padding-block:0.125rem;padding-inline-end:auto;padding-inline-start:0.25rem}:host,.container--link a{outline-color:transparent}:host(:focus){outline:2px solid transparent;outline-offset:2px;outline:2px solid var(--calcite-ui-focus-color, var(--calcite-color-brand));outline-offset:calc(\n -2px *\n calc(\n 1 -\n 2 * clamp(\n 0,\n var(--calcite-offset-invert-focus),\n 1\n )\n )\n )}.container--link{padding:0px}.container--link a{position:relative;display:flex;flex-grow:1;cursor:pointer;align-items:center;color:var(--calcite-color-text-3);-webkit-text-decoration-line:none;text-decoration-line:none;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.container--s .dropdown-link{padding-block:0.25rem;font-size:var(--calcite-font-size--2);line-height:1rem;padding-inline-end:0.5rem;padding-inline-start:1.5rem}.container--m .dropdown-link{padding-block:0.5rem;font-size:var(--calcite-font-size--1);line-height:1rem;padding-inline-end:0.75rem;padding-inline-start:2rem}.container--l .dropdown-link{padding-block:0.75rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;padding-inline-end:1rem;padding-inline-start:2.5rem}:host(:hover:not([disabled])) .container,:host(:active:not([disabled])) .container{background-color:var(--calcite-color-foreground-2);color:var(--calcite-color-text-1);-webkit-text-decoration-line:none;text-decoration-line:none}:host(:hover:not([disabled])) .container--link .dropdown-link,:host(:active:not([disabled])) .container--link .dropdown-link{color:var(--calcite-color-text-1)}:host(:active:not([disabled])) .container{background-color:var(--calcite-color-foreground-3)}:host(:focus) .container{color:var(--calcite-color-text-1);-webkit-text-decoration-line:none;text-decoration-line:none}:host([selected]) .container:not(.container--none-selection),:host([selected]) .container--link .dropdown-link{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-text-1)}:host([selected]) .container:not(.container--none-selection) calcite-icon,:host([selected]) .container--link .dropdown-link calcite-icon{color:var(--calcite-color-brand)}.dropdown-item-icon{position:absolute;opacity:0;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:scale(0.9)}.container--s .dropdown-item-icon{inset-inline-start:0.25rem}.container--m .dropdown-item-icon{inset-inline-start:0.5rem}.container--l .dropdown-item-icon{inset-inline-start:0.75rem}:host(:hover:not([disabled])) .dropdown-item-icon{color:var(--calcite-color-border-1);opacity:1}:host([selected]) .dropdown-item-icon{color:var(--calcite-color-brand);opacity:1}.container--s .dropdown-item-icon-start{margin-inline-end:0.5rem;margin-inline-start:0.25rem}.container--s .dropdown-item-icon-end{margin-inline-start:0.5rem}.container--m .dropdown-item-icon-start{margin-inline-end:0.75rem;margin-inline-start:0.25rem}.container--m .dropdown-item-icon-end{margin-inline-start:0.75rem}.container--l .dropdown-item-icon-start{margin-inline-end:1rem;margin-inline-start:0.25rem}.container--l .dropdown-item-icon-end{margin-inline-start:1rem}:host([hidden]){display:none}[hidden]{display:none}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}";
|
|
521
426
|
const CalciteDropdownItemStyle0 = dropdownItemCss;
|
|
522
427
|
|
|
@@ -686,330 +591,4 @@ const DropdownItem = class {
|
|
|
686
591
|
};
|
|
687
592
|
DropdownItem.style = CalciteDropdownItemStyle0;
|
|
688
593
|
|
|
689
|
-
|
|
690
|
-
const MapLayerPickerStyle0 = mapLayerPickerCss;
|
|
691
|
-
|
|
692
|
-
const MapLayerPicker = class {
|
|
693
|
-
constructor(hostRef) {
|
|
694
|
-
registerInstance(this, hostRef);
|
|
695
|
-
this.idsFound = createEvent(this, "idsFound", 7);
|
|
696
|
-
this.noLayersFound = createEvent(this, "noLayersFound", 7);
|
|
697
|
-
this.layerSelectionChange = createEvent(this, "layerSelectionChange", 7);
|
|
698
|
-
//--------------------------------------------------------------------------
|
|
699
|
-
//
|
|
700
|
-
// Properties (protected)
|
|
701
|
-
//
|
|
702
|
-
//--------------------------------------------------------------------------
|
|
703
|
-
/**
|
|
704
|
-
* boolean: When true the default layer has been loaded once and should no longer be used
|
|
705
|
-
*/
|
|
706
|
-
this.defaultLayerHonored = false;
|
|
707
|
-
this.appearance = "transparent";
|
|
708
|
-
this.defaultLayerId = "";
|
|
709
|
-
this.display = "inline-block";
|
|
710
|
-
this.enabledLayerIds = [];
|
|
711
|
-
this.enabledTableIds = [];
|
|
712
|
-
this.height = undefined;
|
|
713
|
-
this.isMobile = undefined;
|
|
714
|
-
this.mapView = undefined;
|
|
715
|
-
this.onlyShowUpdatableLayers = undefined;
|
|
716
|
-
this.placeholderIcon = "";
|
|
717
|
-
this.selectedIds = [];
|
|
718
|
-
this.scale = "m";
|
|
719
|
-
this.showTables = undefined;
|
|
720
|
-
this.showSingleLayerAsLabel = false;
|
|
721
|
-
this.type = "select";
|
|
722
|
-
this._hasMultipleLayers = true;
|
|
723
|
-
this._hasValidLayers = true;
|
|
724
|
-
this._isDropdownOpen = undefined;
|
|
725
|
-
this.ids = [];
|
|
726
|
-
this.selectedName = "";
|
|
727
|
-
this._translations = undefined;
|
|
728
|
-
}
|
|
729
|
-
//--------------------------------------------------------------------------
|
|
730
|
-
//
|
|
731
|
-
// Watch handlers
|
|
732
|
-
//
|
|
733
|
-
//--------------------------------------------------------------------------
|
|
734
|
-
/**
|
|
735
|
-
* Called each time the mapView prop is changed.
|
|
736
|
-
*/
|
|
737
|
-
async mapViewWatchHandler() {
|
|
738
|
-
await this._setLayers();
|
|
739
|
-
if (this.ids.length > 0) {
|
|
740
|
-
this._hasValidLayers = true;
|
|
741
|
-
this._hasMultipleLayers = this.ids.length > 1;
|
|
742
|
-
this._setSelectedLayer(this.ids[0]);
|
|
743
|
-
}
|
|
744
|
-
else {
|
|
745
|
-
this._hasValidLayers = false;
|
|
746
|
-
this.noLayersFound.emit();
|
|
747
|
-
}
|
|
748
|
-
}
|
|
749
|
-
//--------------------------------------------------------------------------
|
|
750
|
-
//
|
|
751
|
-
// Functions (lifecycle)
|
|
752
|
-
//
|
|
753
|
-
//--------------------------------------------------------------------------
|
|
754
|
-
/**
|
|
755
|
-
* StencilJS: Called once just after the component is first connected to the DOM.
|
|
756
|
-
*/
|
|
757
|
-
async componentWillLoad() {
|
|
758
|
-
await this._getTranslations();
|
|
759
|
-
await this._setLayers();
|
|
760
|
-
if (this.ids.length > 0 || this.selectedIds.length === 1) {
|
|
761
|
-
this.layerSelectionChange.emit(this.selectedIds.length === 1 ? [this.selectedIds[0]] : [this.ids[0]]);
|
|
762
|
-
}
|
|
763
|
-
}
|
|
764
|
-
/**
|
|
765
|
-
* Renders the component.
|
|
766
|
-
*/
|
|
767
|
-
render() {
|
|
768
|
-
const id = "map-layer-picker";
|
|
769
|
-
let style = this.height > 0 ? { "height": `${this.height.toString()}px` } : {};
|
|
770
|
-
style = Object.assign(Object.assign({}, style), { "display": this.display });
|
|
771
|
-
return (h(Host, { key: 'ccb8c7d12a2e631938308380cd4ecd0a1d73c963' }, h("div", { key: 'aa0992de9bab1c5a555d51542c093cc7cb948200', class: "map-layer-picker-container", style: style }, h("div", { key: 'a03bca67eb822b492d34abe53db7d05e6fd7ebdf', class: "map-layer-picker", style: style }, !this._hasValidLayers ? this._getInvalidPlaceholder() :
|
|
772
|
-
!this._hasMultipleLayers && this.showSingleLayerAsLabel ? this._getSingleLayerPlaceholder() :
|
|
773
|
-
this.type === "combobox" ? this._getCombobox(id) :
|
|
774
|
-
this.type === "select" ? this._getSelect(id) : this._getDropdown(id)))));
|
|
775
|
-
}
|
|
776
|
-
/**
|
|
777
|
-
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
|
778
|
-
*/
|
|
779
|
-
async componentDidLoad() {
|
|
780
|
-
if (this.ids.length > 0 || this.selectedIds.length === 1) {
|
|
781
|
-
const id = this.selectedIds.length === 1 ? this.selectedIds[0] : this.ids[0];
|
|
782
|
-
if (this.type === "select") {
|
|
783
|
-
this._layerElement.value = id;
|
|
784
|
-
}
|
|
785
|
-
else if (this.type === "dropdown") {
|
|
786
|
-
this.selectedName = Object.keys(this._layerNameHash).indexOf(id) > -1 ?
|
|
787
|
-
this._layerNameHash[id].name : Object.keys(this._tableNameHash).indexOf(id) > -1 ?
|
|
788
|
-
this._tableNameHash[id].name : "";
|
|
789
|
-
}
|
|
790
|
-
}
|
|
791
|
-
}
|
|
792
|
-
//--------------------------------------------------------------------------
|
|
793
|
-
//
|
|
794
|
-
// Functions (protected)
|
|
795
|
-
//
|
|
796
|
-
//--------------------------------------------------------------------------
|
|
797
|
-
/**
|
|
798
|
-
* Create a notice to inform the user that no layers were found
|
|
799
|
-
*
|
|
800
|
-
* @returns Calcite Notice component with the message
|
|
801
|
-
*/
|
|
802
|
-
_getInvalidPlaceholder() {
|
|
803
|
-
return (h("div", null, h("calcite-notice", { class: "height-100", icon: "exclamation-mark-triangle", id: "no-valid-layers", kind: "danger", open: true }, h("div", { slot: "message" }, this._translations.noLayersFound)), h("calcite-tooltip", { label: this._translations.enableEditUpdate, placement: "bottom", "reference-element": "no-valid-layers" }, h("span", null, this._translations.enableEditUpdate))));
|
|
804
|
-
}
|
|
805
|
-
/**
|
|
806
|
-
* Show layer name as a label with icon
|
|
807
|
-
*
|
|
808
|
-
* @returns Calcite label with the layer name and icon
|
|
809
|
-
*/
|
|
810
|
-
_getSingleLayerPlaceholder() {
|
|
811
|
-
return (h("div", { class: "layer-picker-label-container cursor-default" }, h("calcite-icon", { icon: "layers", scale: "s" }), h("calcite-label", { class: "no-bottom-margin padding-start-1" }, this.selectedName)));
|
|
812
|
-
}
|
|
813
|
-
/**
|
|
814
|
-
* Create a list of layers from the map
|
|
815
|
-
* Used for selecting a single layer.
|
|
816
|
-
*
|
|
817
|
-
* @param id the id for the select component used to support the tooltip
|
|
818
|
-
*
|
|
819
|
-
* @returns Calcite Select component with the ids of the layers from the map
|
|
820
|
-
*/
|
|
821
|
-
_getSelect(id) {
|
|
822
|
-
return (h("calcite-select", { id: id, label: "", onCalciteSelectChange: () => this._layerSelectionChange(), ref: (el) => { this._layerElement = el; }, scale: this.scale }, this._getMapLayerOptions()));
|
|
823
|
-
}
|
|
824
|
-
/**
|
|
825
|
-
* Create a list of layer ids from the map
|
|
826
|
-
* Used for selecting multiple layers
|
|
827
|
-
*
|
|
828
|
-
* @param id the id for the combobox component used to support the tooltip
|
|
829
|
-
*
|
|
830
|
-
* @returns Calcite ComboBox component with the ids of the layers from the map
|
|
831
|
-
*/
|
|
832
|
-
_getCombobox(id) {
|
|
833
|
-
return (h("calcite-combobox", { clearDisabled: true, id: id, label: "", onCalciteComboboxChange: () => this._layerSelectionChange(), "placeholder-icon": this.placeholderIcon, ref: (el) => { this._layerElement = el; }, scale: this.scale, "selection-mode": "single" }, this._getMapLayerOptions()));
|
|
834
|
-
}
|
|
835
|
-
/**
|
|
836
|
-
* Hydrate a dropdown component with items to display the layer names
|
|
837
|
-
*
|
|
838
|
-
* @param id the id for the dropdown component used to support the tooltip
|
|
839
|
-
*
|
|
840
|
-
* @returns Array of Dropdown items with layer names
|
|
841
|
-
*/
|
|
842
|
-
_getDropdown(id) {
|
|
843
|
-
return (h("calcite-dropdown", { class: "layer-picker-dropdown", onCalciteDropdownBeforeClose: () => this._isDropdownOpen = false, onCalciteDropdownBeforeOpen: () => this._isDropdownOpen = true }, this.isMobile ? this._getDropdownButton() : this._getActionDropdownButton(id), h("calcite-dropdown-group", { "selection-mode": "single" }, this._getMapLayerOptions())));
|
|
844
|
-
}
|
|
845
|
-
/**
|
|
846
|
-
* Get the button that will open the dropdown list wrapped in an action
|
|
847
|
-
*
|
|
848
|
-
* @returns the node for the action and button
|
|
849
|
-
*/
|
|
850
|
-
_getActionDropdownButton(id) {
|
|
851
|
-
return (h("calcite-action", { id: id, slot: "trigger", text: "" }, this._getDropdownButton()));
|
|
852
|
-
}
|
|
853
|
-
/**
|
|
854
|
-
* Get the button that will open the dropdown list
|
|
855
|
-
*
|
|
856
|
-
* @returns the node for the button
|
|
857
|
-
*/
|
|
858
|
-
_getDropdownButton() {
|
|
859
|
-
const buttonClass = this.isMobile ? "" : "max-width-350";
|
|
860
|
-
const buttonSlot = this.isMobile ? "trigger" : "";
|
|
861
|
-
const buttonIcon = this._isDropdownOpen ? "chevron-up" : "chevron-down";
|
|
862
|
-
return (h("calcite-button", { alignment: "icon-end-space-between", appearance: this.appearance, class: buttonClass, iconEnd: buttonIcon, iconStart: "layers", kind: "neutral", slot: buttonSlot, width: "full" }, h("div", null, this.selectedName)));
|
|
863
|
-
}
|
|
864
|
-
/**
|
|
865
|
-
* Get the appropriate type of dom nodes for each valid layer or table
|
|
866
|
-
*
|
|
867
|
-
* @returns Array of dom nodes with the names of the layers and optionally of the tables
|
|
868
|
-
*/
|
|
869
|
-
_getMapLayerOptions() {
|
|
870
|
-
return this.ids.reduce((prev, cur) => {
|
|
871
|
-
if (this._validLayer(cur)) {
|
|
872
|
-
prev.push(this._getItem(cur, "layer"));
|
|
873
|
-
}
|
|
874
|
-
else if (this._validTable(cur)) {
|
|
875
|
-
prev.push(this._getItem(cur, "table"));
|
|
876
|
-
}
|
|
877
|
-
return prev;
|
|
878
|
-
}, []);
|
|
879
|
-
}
|
|
880
|
-
/**
|
|
881
|
-
* Get the appropriate type of dom node for the current layer or table id
|
|
882
|
-
*
|
|
883
|
-
* @returns A dom node with the name of the layer or table
|
|
884
|
-
*/
|
|
885
|
-
_getItem(id, itemType) {
|
|
886
|
-
const item = itemType === "layer" ? this._layerNameHash[id] : this._tableNameHash[id];
|
|
887
|
-
const disabled = this.onlyShowUpdatableLayers ? !item.supportsUpdate : false;
|
|
888
|
-
const name = item.name;
|
|
889
|
-
const selected = this.selectedIds.indexOf(id) > -1;
|
|
890
|
-
return this.type === "combobox" ? (h("calcite-combobox-item", { disabled: disabled, selected: selected, textLabel: name, value: id })) :
|
|
891
|
-
this.type === "select" ? (h("calcite-option", { disabled: disabled, label: name, selected: selected, value: id })) : (h("calcite-dropdown-group", { class: disabled ? "disabled" : "", selectionMode: disabled ? "none" : "single" }, h("calcite-dropdown-item", { onClick: disabled ? undefined : () => void this._setSelectedLayer(id), selected: selected }, name)));
|
|
892
|
-
}
|
|
893
|
-
/**
|
|
894
|
-
* Store the layer name based on the user selection
|
|
895
|
-
*/
|
|
896
|
-
_setSelectedLayer(id) {
|
|
897
|
-
let item;
|
|
898
|
-
const hasDefaultLayer = this.defaultLayerId && !this.defaultLayerHonored;
|
|
899
|
-
if (hasDefaultLayer) {
|
|
900
|
-
item = this._getLayerFromHash(this.defaultLayerId);
|
|
901
|
-
this.defaultLayerHonored = item !== undefined;
|
|
902
|
-
id = this.defaultLayerHonored ? this.defaultLayerId : id;
|
|
903
|
-
}
|
|
904
|
-
item = item ? item : this._getLayerFromHash(id);
|
|
905
|
-
this.selectedName = item === null || item === void 0 ? void 0 : item.name;
|
|
906
|
-
this.selectedIds = [id];
|
|
907
|
-
this.layerSelectionChange.emit(this.selectedIds);
|
|
908
|
-
}
|
|
909
|
-
/**
|
|
910
|
-
* Fetch layer hash info for the given id
|
|
911
|
-
*
|
|
912
|
-
* @returns ILayerHashInfo for the id
|
|
913
|
-
*/
|
|
914
|
-
_getLayerFromHash(id) {
|
|
915
|
-
return Object.keys(this._layerNameHash).indexOf(id) > -1 ?
|
|
916
|
-
this._layerNameHash[id] : Object.keys(this._tableNameHash).indexOf(id) > -1 ?
|
|
917
|
-
this._tableNameHash[id] : undefined;
|
|
918
|
-
}
|
|
919
|
-
/**
|
|
920
|
-
* Fetch the ids of the layers from the map
|
|
921
|
-
*
|
|
922
|
-
* @returns Promise when the operation has completed
|
|
923
|
-
*/
|
|
924
|
-
async _setLayers() {
|
|
925
|
-
if (this.mapView) {
|
|
926
|
-
await this._initLayerTableHash();
|
|
927
|
-
const layerIds = this.onlyShowUpdatableLayers ?
|
|
928
|
-
this._getEditableIds(this._layerNameHash) : Object.keys(this._layerNameHash);
|
|
929
|
-
const tableIds = this.showTables ? this.onlyShowUpdatableLayers ?
|
|
930
|
-
this._getEditableIds(this._tableNameHash) : Object.keys(this._tableNameHash) : [];
|
|
931
|
-
this.ids = [
|
|
932
|
-
...layerIds.reverse().filter(n => { var _a; return ((_a = this.enabledLayerIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledLayerIds.reverse().indexOf(n) > -1 : true; }),
|
|
933
|
-
...tableIds.reverse().filter(n => { var _a; return ((_a = this.enabledTableIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledTableIds.reverse().indexOf(n) > -1 : true; }),
|
|
934
|
-
];
|
|
935
|
-
this.idsFound.emit({
|
|
936
|
-
layerIds,
|
|
937
|
-
tableIds
|
|
938
|
-
});
|
|
939
|
-
}
|
|
940
|
-
}
|
|
941
|
-
/**
|
|
942
|
-
* Fetch the ids of all layers that support edits with the update capability
|
|
943
|
-
*
|
|
944
|
-
* @returns array of layer ids
|
|
945
|
-
*/
|
|
946
|
-
_getEditableIds(hash) {
|
|
947
|
-
return Object.keys(hash).reduce((prev, cur) => {
|
|
948
|
-
if (hash[cur].supportsUpdate) {
|
|
949
|
-
prev.push(cur);
|
|
950
|
-
}
|
|
951
|
-
return prev;
|
|
952
|
-
}, []);
|
|
953
|
-
}
|
|
954
|
-
/**
|
|
955
|
-
* Create a layer id:title hash for layer name display
|
|
956
|
-
*
|
|
957
|
-
* @returns Promise when the operation has completed
|
|
958
|
-
*/
|
|
959
|
-
async _initLayerTableHash() {
|
|
960
|
-
this._layerNameHash = await getMapLayerHash(this.mapView, this.onlyShowUpdatableLayers);
|
|
961
|
-
this._tableNameHash = this.showTables ? await getMapTableHash(this.mapView, this.onlyShowUpdatableLayers) : {};
|
|
962
|
-
}
|
|
963
|
-
/**
|
|
964
|
-
* Evaluate if the id exists in the current hash and verify if it should be excluded
|
|
965
|
-
*
|
|
966
|
-
* @returns boolean when true the layer will be used in the current layer picker type
|
|
967
|
-
*/
|
|
968
|
-
_validLayer(id) {
|
|
969
|
-
var _a;
|
|
970
|
-
const name = (_a = this._layerNameHash[id]) === null || _a === void 0 ? void 0 : _a.name;
|
|
971
|
-
return name && Object.keys(state.managedLayers).indexOf(name) < 0 && (this.enabledLayerIds.length > 0 ?
|
|
972
|
-
this.enabledLayerIds.indexOf(id) > -1 : true);
|
|
973
|
-
}
|
|
974
|
-
/**
|
|
975
|
-
* Evaluate if the id exists in the current hash and verify if it should be excluded
|
|
976
|
-
*
|
|
977
|
-
* @returns boolean when true the table will be used in the current layer picker type
|
|
978
|
-
*/
|
|
979
|
-
_validTable(id) {
|
|
980
|
-
var _a;
|
|
981
|
-
const name = (_a = this._tableNameHash[id]) === null || _a === void 0 ? void 0 : _a.name;
|
|
982
|
-
const validName = name && this.showTables;
|
|
983
|
-
return validName ? state.managedTables.indexOf(name) < 0 &&
|
|
984
|
-
(this.enabledTableIds.length > 0 ? this.enabledTableIds.indexOf(id) > -1 : true) : validName;
|
|
985
|
-
}
|
|
986
|
-
/**
|
|
987
|
-
* Fetch the ids of the layers from the map
|
|
988
|
-
*
|
|
989
|
-
* @returns Promise when the operation has completed
|
|
990
|
-
*/
|
|
991
|
-
_layerSelectionChange() {
|
|
992
|
-
const ids = Array.isArray(this._layerElement.value) ? this._layerElement.value : [this._layerElement.value];
|
|
993
|
-
if (JSON.stringify(ids) !== JSON.stringify([""])) {
|
|
994
|
-
this.selectedIds = ids;
|
|
995
|
-
this.layerSelectionChange.emit(this.selectedIds);
|
|
996
|
-
}
|
|
997
|
-
}
|
|
998
|
-
/**
|
|
999
|
-
* Fetches the component's translations
|
|
1000
|
-
*
|
|
1001
|
-
* @returns Promise when complete
|
|
1002
|
-
* @protected
|
|
1003
|
-
*/
|
|
1004
|
-
async _getTranslations() {
|
|
1005
|
-
const messages = await getLocaleComponentStrings(this.el);
|
|
1006
|
-
this._translations = messages[0];
|
|
1007
|
-
}
|
|
1008
|
-
get el() { return getElement(this); }
|
|
1009
|
-
static get watchers() { return {
|
|
1010
|
-
"mapView": ["mapViewWatchHandler"]
|
|
1011
|
-
}; }
|
|
1012
|
-
};
|
|
1013
|
-
MapLayerPicker.style = MapLayerPickerStyle0;
|
|
1014
|
-
|
|
1015
|
-
export { Dropdown as calcite_dropdown, DropdownGroup as calcite_dropdown_group, DropdownItem as calcite_dropdown_item, MapLayerPicker as map_layer_picker };
|
|
594
|
+
export { Dropdown as calcite_dropdown, DropdownItem as calcite_dropdown_item };
|
|
@@ -412,7 +412,7 @@ const CreateFeature = class {
|
|
|
412
412
|
*/
|
|
413
413
|
render() {
|
|
414
414
|
const showSearchWidget = this.showSearchWidget ? '' : 'display-none';
|
|
415
|
-
return (h(Fragment, { key: '
|
|
415
|
+
return (h(Fragment, { key: 'e1427c13c0385279fcb0f122b50b891eac419ec4' }, h("div", { key: '039e8d8ff5792765c73cb23df37f37bacc0c9dda', id: "feature-form" }), h("div", { key: '94601056ec69000009f4b71b34a38cea28635d99', class: `search-widget ${showSearchWidget}`, id: "search-widget-ref" })));
|
|
416
416
|
}
|
|
417
417
|
//--------------------------------------------------------------------------
|
|
418
418
|
//
|
|
@@ -770,7 +770,7 @@ const CreateRelatedFeature = class {
|
|
|
770
770
|
this.reactiveUtils = reactiveUtils;
|
|
771
771
|
}
|
|
772
772
|
render() {
|
|
773
|
-
return (h(Host, { key: '
|
|
773
|
+
return (h(Host, { key: '579af77dcac88043b178e711e0b47d7982c1c87f' }));
|
|
774
774
|
}
|
|
775
775
|
/**
|
|
776
776
|
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
|
@@ -930,14 +930,15 @@ const CreateRelatedFeature = class {
|
|
|
930
930
|
};
|
|
931
931
|
CreateRelatedFeature.style = CreateRelatedFeatureStyle0;
|
|
932
932
|
|
|
933
|
-
const featureDetailsCss = ":host{display:block}.buttons-container{align-items:center;display:flex;padding:10px
|
|
933
|
+
const featureDetailsCss = ":host{display:block}.buttons-container{align-items:center;display:flex;padding:10px;color:var(--calcite-color-text-1) !important;background-color:var(--calcite-color-foreground-1) !important;border-block-start:1px solid var(--calcite-color-border-3);border-block-end:1px solid var(--calcite-color-border-3)}.comment-btn{display:flex;gap:5px;font-size:var(--calcite-font-size--2);align-items:center;padding:0 0.5rem}";
|
|
934
934
|
const FeatureDetailsStyle0 = featureDetailsCss;
|
|
935
935
|
|
|
936
936
|
const FeatureDetails = class {
|
|
937
937
|
constructor(hostRef) {
|
|
938
938
|
registerInstance(this, hostRef);
|
|
939
939
|
this.loadingStatus = createEvent(this, "loadingStatus", 7);
|
|
940
|
-
this.
|
|
940
|
+
this.commentSelect = createEvent(this, "commentSelect", 7);
|
|
941
|
+
this.featureSelectionChange = createEvent(this, "featureSelectionChange", 7);
|
|
941
942
|
/**
|
|
942
943
|
* string[]: Valid field types for like and dislike
|
|
943
944
|
*/
|
|
@@ -945,6 +946,7 @@ const FeatureDetails = class {
|
|
|
945
946
|
this.mapView = undefined;
|
|
946
947
|
this.graphics = undefined;
|
|
947
948
|
this.reportingOptions = undefined;
|
|
949
|
+
this.layerItemsHash = undefined;
|
|
948
950
|
this._likeFieldAvailable = false;
|
|
949
951
|
this._likeCount = 0;
|
|
950
952
|
this._disLikeCount = 0;
|
|
@@ -1024,12 +1026,12 @@ const FeatureDetails = class {
|
|
|
1024
1026
|
var _a, _b, _c, _d, _e;
|
|
1025
1027
|
//When related features found show comments list of only those features else comments list will be empty
|
|
1026
1028
|
const commentsListWhereClause = ((_a = this._relatedFeaturesOIDs) === null || _a === void 0 ? void 0 : _a.length) > 0 ? `objectId in(${this._relatedFeaturesOIDs})` : '1=0';
|
|
1027
|
-
return (h("calcite-panel", { key: '
|
|
1028
|
-
h("div", { key: '
|
|
1029
|
-
h("div", { key: '
|
|
1030
|
-
h("calcite-button", { key: '
|
|
1031
|
-
h("calcite-button", { key: '
|
|
1032
|
-
h("feature-list", { key: '
|
|
1029
|
+
return (h("calcite-panel", { key: 'f8d1d282a6ebdb4d5a64efd96d88329d375b7fe1', "full-height": true }, h("info-card", { key: '3cfca85af149ab445973510ff1a9f94e22c5c833', allowEditing: false, graphics: this.graphics, highlightEnabled: false, isLoading: false, isMobile: false, mapView: this.mapView, onSelectionChanged: (e) => { this.featureSelectionChange.emit(e.detail); }, paginationEnabled: false, position: "relative", ref: el => this._infoCard = el }), (this._likeFieldAvailable || this._dislikeFieldAvailable || this._commentsAvailable) &&
|
|
1030
|
+
h("div", { key: 'a3242d417cef788f0f677bf21c65fb9aaa44f8b2', class: "buttons-container" }, this._commentsAvailable &&
|
|
1031
|
+
h("div", { key: '9dcfccc0a48b719d14cb08737d654000a27e21cc', class: "comment-btn" }, h("span", { key: 'b68cafd0cebfa91c12f32f648ec2f71a51e3b9da' }, this._relatedFeaturesOIDs.length), h("calcite-icon", { key: 'f2b9c34ac64a5cb7692f80cd73658f077525eee4', icon: "speech-bubble", scale: 's' })), this._likeFieldAvailable &&
|
|
1032
|
+
h("calcite-button", { key: '7a4ec79205b3eccceb7d43de2c227d8407c24a26', appearance: "transparent", iconEnd: "thumbs-up", kind: this._isLikeBtnClicked ? "brand" : "neutral", onClick: this.onLikeButtonClick.bind(this), scale: 's' }, (_c = (_b = this._likeCount) !== null && _b !== void 0 ? _b : this._selectedGraphic.attributes[this._likeField]) !== null && _c !== void 0 ? _c : 0), this._dislikeFieldAvailable &&
|
|
1033
|
+
h("calcite-button", { key: '4634f8aeb114f97c9ceaae8eac5da86afa89f217', appearance: "transparent", iconEnd: "thumbs-down", kind: this._isDislikeBtnClicked ? "brand" : "neutral", onClick: this.onDislikeButtonClick.bind(this), scale: 's' }, (_e = (_d = this._disLikeCount) !== null && _d !== void 0 ? _d : this._selectedGraphic.attributes[this._dislikeField]) !== null && _e !== void 0 ? _e : 0)), this.relatedTableId && this._commentsAvailable &&
|
|
1034
|
+
h("feature-list", { key: '30559c6f28a741264972677cef1f182f1012f73f', class: "height-full", mapView: this.mapView, onFeatureSelect: (e) => { this.commentSelect.emit(e.detail); }, pageSize: 5, ref: el => this._commentsList = el, selectedLayerId: this.relatedTableId, showErrorWhenNoFeatures: false, showInitialLoading: false, textSize: "small", whereClause: commentsListWhereClause })));
|
|
1033
1035
|
}
|
|
1034
1036
|
/**
|
|
1035
1037
|
* Load esri javascript api modules
|
|
@@ -1066,7 +1068,8 @@ const FeatureDetails = class {
|
|
|
1066
1068
|
async processComments() {
|
|
1067
1069
|
var _a;
|
|
1068
1070
|
const selectedLayer = this._selectedGraphic.layer;
|
|
1069
|
-
const commentsConfigured = this.reportingOptions[selectedLayer.id]
|
|
1071
|
+
const commentsConfigured = this.reportingOptions && this.reportingOptions[selectedLayer.id] &&
|
|
1072
|
+
this.reportingOptions[selectedLayer.id].comment && ((_a = selectedLayer.relationships) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
1070
1073
|
if (commentsConfigured) {
|
|
1071
1074
|
//Get comments table id from map
|
|
1072
1075
|
const relatedTableIdFromRelnship = selectedLayer.relationships[0].relatedTableId;
|
|
@@ -1131,7 +1134,7 @@ const FeatureDetails = class {
|
|
|
1131
1134
|
}
|
|
1132
1135
|
//Check if selected layer have the configured like and dislike field and it is of integer types
|
|
1133
1136
|
selectedLayer.fields.forEach((eachField) => {
|
|
1134
|
-
if (this._validFieldTypes.indexOf(eachField.type) > -1) {
|
|
1137
|
+
if (this._validFieldTypes.indexOf(eachField.type) > -1 && this.layerItemsHash[selectedLayer.id].supportsUpdate) {
|
|
1135
1138
|
if (eachField.name === likeField && this.reportingOptions[selectedLayer.id].like) {
|
|
1136
1139
|
likeFieldAvailable = true;
|
|
1137
1140
|
}
|
|
@@ -1166,12 +1169,12 @@ const FeatureDetails = class {
|
|
|
1166
1169
|
//Check if selected layer have the configured like and dislike fields
|
|
1167
1170
|
//also, get the current value for like and dislike field from the attributes
|
|
1168
1171
|
selectedLayer.fields.forEach((eachField) => {
|
|
1169
|
-
if (this._validFieldTypes.indexOf(eachField.type) > -1) {
|
|
1170
|
-
if (eachField.name === this._likeField && this.reportingOptions[
|
|
1172
|
+
if (this._validFieldTypes.indexOf(eachField.type) > -1 && this.layerItemsHash[selectedLayer.id].supportsUpdate) {
|
|
1173
|
+
if (eachField.name === this._likeField && this.reportingOptions[selectedLayer.id].like) {
|
|
1171
1174
|
this._likeFieldAvailable = true;
|
|
1172
1175
|
this._likeCount = this._selectedGraphic.attributes[eachField.name];
|
|
1173
1176
|
}
|
|
1174
|
-
else if (eachField.name === this._dislikeField && this.reportingOptions[
|
|
1177
|
+
else if (eachField.name === this._dislikeField && this.reportingOptions[selectedLayer.id].dislike) {
|
|
1175
1178
|
this._dislikeFieldAvailable = true;
|
|
1176
1179
|
this._disLikeCount = this._selectedGraphic.attributes[eachField.name];
|
|
1177
1180
|
}
|
|
@@ -1362,9 +1365,9 @@ const LayerList = class {
|
|
|
1362
1365
|
* Renders the component.
|
|
1363
1366
|
*/
|
|
1364
1367
|
render() {
|
|
1365
|
-
return (h(Fragment, { key: '
|
|
1366
|
-
h("calcite-notice", { key: '
|
|
1367
|
-
h("calcite-list", { key: '
|
|
1368
|
+
return (h(Fragment, { key: '9366302a704c1dbdd7a65aef5c43d0ad84a44b23' }, this._isLoading && h("calcite-loader", { key: '69974a23fd42bc37ef13816efbe6d06e28cb2749', label: "", scale: "m" }), !this._isLoading && this.mapView && this._noLayersToDisplay &&
|
|
1369
|
+
h("calcite-notice", { key: 'a93abb55b4db09727b3634cb1935e482c377d662', class: "error-msg", icon: "layers-reference", kind: "danger", open: true }, h("div", { key: 'b9046685353b8894e6c6094cff47fab7a8e07ffa', slot: "title" }, this._translations.error), h("div", { key: '90a052e1d80779a09a32fdd35563a1ce21d582e0', slot: "message" }, this._translations.noLayerToDisplayErrorMsg)), !this._isLoading && this.mapView &&
|
|
1370
|
+
h("calcite-list", { key: '709c1b8edd5710a2476ecef638199c2f929b4165', "selection-appearance": "border", "selection-mode": "none" }, this.renderLayerList())));
|
|
1368
1371
|
}
|
|
1369
1372
|
//--------------------------------------------------------------------------
|
|
1370
1373
|
//
|
|
@@ -1392,10 +1395,7 @@ const LayerList = class {
|
|
|
1392
1395
|
const allMapLayers = await getAllLayers(this.mapView);
|
|
1393
1396
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
1394
1397
|
allMapLayers.forEach(async (eachLayer) => {
|
|
1395
|
-
|
|
1396
|
-
//TODO: checking editable condition could be configurable
|
|
1397
|
-
if ((eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.type) === "feature" && (eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.editingEnabled) && ((_b = (_a = eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.capabilities) === null || _a === void 0 ? void 0 : _a.operations) === null || _b === void 0 ? void 0 : _b.supportsAdd)) {
|
|
1398
|
-
this._layerItemsHash[eachLayer.id].supportsAdd = true;
|
|
1398
|
+
if ((eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.type) === "feature") {
|
|
1399
1399
|
if (this.showFeatureCount) {
|
|
1400
1400
|
const q = eachLayer.createQuery();
|
|
1401
1401
|
const result = eachLayer.queryFeatureCount(q);
|
|
@@ -1428,7 +1428,7 @@ const LayerList = class {
|
|
|
1428
1428
|
this.layersListLoaded.emit(this._mapLayerIds);
|
|
1429
1429
|
}
|
|
1430
1430
|
/**
|
|
1431
|
-
* Returns the ids of
|
|
1431
|
+
* Returns the ids of configured layers that needs to be shown in the list
|
|
1432
1432
|
* @param hash each layer item details
|
|
1433
1433
|
* @returns array of layer ids
|
|
1434
1434
|
*/
|
|
@@ -1436,11 +1436,7 @@ const LayerList = class {
|
|
|
1436
1436
|
var _a;
|
|
1437
1437
|
const configuredLayers = ((_a = this.layers) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.layers : [];
|
|
1438
1438
|
return Object.keys(hash).reduce((prev, cur) => {
|
|
1439
|
-
|
|
1440
|
-
if ((configuredLayers === null || configuredLayers === void 0 ? void 0 : configuredLayers.length) > 0) {
|
|
1441
|
-
showLayer = configuredLayers.indexOf(cur) > -1;
|
|
1442
|
-
}
|
|
1443
|
-
if (showLayer) {
|
|
1439
|
+
if (configuredLayers.indexOf(cur) > -1) {
|
|
1444
1440
|
prev.push(cur);
|
|
1445
1441
|
}
|
|
1446
1442
|
return prev;
|
|
@@ -1468,7 +1464,7 @@ const LayerList = class {
|
|
|
1468
1464
|
getLayerListItem(layerId) {
|
|
1469
1465
|
const layerName = this._layerItemsHash[layerId].name;
|
|
1470
1466
|
const featureCount = this._layerItemsHash[layerId].formattedFeatureCount;
|
|
1471
|
-
return (h("calcite-list-item", { onCalciteListItemSelect: () => { this.onLayerItemSelected(layerId); } }, h("div", { class: "layer-name", slot: "content-start" }, layerName), this.showFeatureCount && featureCount !== undefined && featureCount !== "" && h("div", { class: !this.showNextIcon ? "feature-count" : "", slot: "content-end" }, "(" + featureCount + ")"), this.showNextIcon && h("calcite-icon", { icon: "chevron-right", scale: "s", slot: "content-end" })));
|
|
1467
|
+
return (h("calcite-list-item", { onCalciteListItemSelect: () => { this.onLayerItemSelected(layerId); } }, h("div", { class: "layer-name", slot: "content-start" }, layerName), this.showFeatureCount && featureCount !== undefined && featureCount !== "" && h("div", { class: !this.showNextIcon ? "feature-count" : "", slot: "content-end" }, "(" + featureCount + ")"), this.showNextIcon && h("calcite-icon", { flipRtl: true, icon: "chevron-right", scale: "s", slot: "content-end" })));
|
|
1472
1468
|
}
|
|
1473
1469
|
/**On click of layer list item emit the event along with the selected layerId and layerName
|
|
1474
1470
|
* @param layerId Layer id
|