@itwin/map-layers 3.1.0-dev.39 → 3.1.0-dev.42
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/CHANGELOG.md +6 -1
- package/lib/cjs/MapLayerPreferences.d.ts +8 -8
- package/lib/cjs/MapLayerPreferences.d.ts.map +1 -1
- package/lib/cjs/MapLayerPreferences.js +13 -13
- package/lib/cjs/MapLayerPreferences.js.map +1 -1
- package/lib/cjs/map-layers.d.ts +1 -0
- package/lib/cjs/map-layers.d.ts.map +1 -1
- package/lib/cjs/map-layers.js +1 -0
- package/lib/cjs/map-layers.js.map +1 -1
- package/lib/cjs/mapLayers.d.ts +15 -26
- package/lib/cjs/mapLayers.d.ts.map +1 -1
- package/lib/cjs/mapLayers.js +24 -45
- package/lib/cjs/mapLayers.js.map +1 -1
- package/lib/cjs/ui/FeatureInfoUiItemsProvider.d.ts +6 -12
- package/lib/cjs/ui/FeatureInfoUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/ui/FeatureInfoUiItemsProvider.js +28 -19
- package/lib/cjs/ui/FeatureInfoUiItemsProvider.js.map +1 -1
- package/lib/cjs/ui/Interfaces.d.ts +10 -1
- package/lib/cjs/ui/Interfaces.d.ts.map +1 -1
- package/lib/cjs/ui/Interfaces.js.map +1 -1
- package/lib/cjs/ui/MapFeatureInfoTool.d.ts +14 -0
- package/lib/cjs/ui/MapFeatureInfoTool.d.ts.map +1 -0
- package/lib/cjs/ui/MapFeatureInfoTool.js +51 -0
- package/lib/cjs/ui/MapFeatureInfoTool.js.map +1 -0
- package/lib/cjs/ui/MapLayersUiItemsProvider.d.ts +4 -18
- package/lib/cjs/ui/MapLayersUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/ui/MapLayersUiItemsProvider.js +13 -29
- package/lib/cjs/ui/MapLayersUiItemsProvider.js.map +1 -1
- package/lib/cjs/ui/widget/AttachLayerPopupButton.d.ts.map +1 -1
- package/lib/cjs/ui/widget/AttachLayerPopupButton.js +22 -14
- package/lib/cjs/ui/widget/AttachLayerPopupButton.js.map +1 -1
- package/lib/cjs/ui/widget/BasemapPanel.js +6 -6
- package/lib/cjs/ui/widget/BasemapPanel.js.map +1 -1
- package/lib/cjs/ui/widget/FeatureInfoDataProvider.d.ts +4 -5
- package/lib/cjs/ui/widget/FeatureInfoDataProvider.d.ts.map +1 -1
- package/lib/cjs/ui/widget/FeatureInfoDataProvider.js +4 -11
- package/lib/cjs/ui/widget/FeatureInfoDataProvider.js.map +1 -1
- package/lib/cjs/ui/widget/FeatureInfoWidget.d.ts +2 -2
- package/lib/cjs/ui/widget/FeatureInfoWidget.d.ts.map +1 -1
- package/lib/cjs/ui/widget/FeatureInfoWidget.js +13 -11
- package/lib/cjs/ui/widget/FeatureInfoWidget.js.map +1 -1
- package/lib/cjs/ui/widget/MapLayerDroppable.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapLayerDroppable.js +6 -6
- package/lib/cjs/ui/widget/MapLayerDroppable.js.map +1 -1
- package/lib/cjs/ui/widget/MapLayerManager.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapLayerManager.js +14 -14
- package/lib/cjs/ui/widget/MapLayerManager.js.map +1 -1
- package/lib/cjs/ui/widget/MapLayerSettingsMenu.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapLayerSettingsMenu.js +3 -3
- package/lib/cjs/ui/widget/MapLayerSettingsMenu.js.map +1 -1
- package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.js +2 -2
- package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.js.map +1 -1
- package/lib/cjs/ui/widget/MapLayersWidget.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapLayersWidget.js +2 -2
- package/lib/cjs/ui/widget/MapLayersWidget.js.map +1 -1
- package/lib/cjs/ui/widget/MapManagerSettings.js +16 -16
- package/lib/cjs/ui/widget/MapManagerSettings.js.map +1 -1
- package/lib/cjs/ui/widget/MapUrlDialog.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapUrlDialog.js +46 -40
- package/lib/cjs/ui/widget/MapUrlDialog.js.map +1 -1
- package/lib/cjs/ui/widget/SubLayersPopupButton.js +3 -3
- package/lib/cjs/ui/widget/SubLayersPopupButton.js.map +1 -1
- package/lib/cjs/ui/widget/SubLayersTree.d.ts.map +1 -1
- package/lib/cjs/ui/widget/SubLayersTree.js +5 -5
- package/lib/cjs/ui/widget/SubLayersTree.js.map +1 -1
- package/lib/esm/MapLayerPreferences.d.ts +8 -8
- package/lib/esm/MapLayerPreferences.d.ts.map +1 -1
- package/lib/esm/MapLayerPreferences.js +13 -13
- package/lib/esm/MapLayerPreferences.js.map +1 -1
- package/lib/esm/map-layers.d.ts +1 -0
- package/lib/esm/map-layers.d.ts.map +1 -1
- package/lib/esm/map-layers.js +1 -0
- package/lib/esm/map-layers.js.map +1 -1
- package/lib/esm/mapLayers.d.ts +15 -26
- package/lib/esm/mapLayers.d.ts.map +1 -1
- package/lib/esm/mapLayers.js +24 -45
- package/lib/esm/mapLayers.js.map +1 -1
- package/lib/esm/ui/FeatureInfoUiItemsProvider.d.ts +6 -12
- package/lib/esm/ui/FeatureInfoUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/ui/FeatureInfoUiItemsProvider.js +29 -19
- package/lib/esm/ui/FeatureInfoUiItemsProvider.js.map +1 -1
- package/lib/esm/ui/Interfaces.d.ts +10 -1
- package/lib/esm/ui/Interfaces.d.ts.map +1 -1
- package/lib/esm/ui/Interfaces.js.map +1 -1
- package/lib/esm/ui/MapFeatureInfoTool.d.ts +14 -0
- package/lib/esm/ui/MapFeatureInfoTool.d.ts.map +1 -0
- package/lib/esm/ui/MapFeatureInfoTool.js +46 -0
- package/lib/esm/ui/MapFeatureInfoTool.js.map +1 -0
- package/lib/esm/ui/MapLayersUiItemsProvider.d.ts +4 -18
- package/lib/esm/ui/MapLayersUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/ui/MapLayersUiItemsProvider.js +14 -29
- package/lib/esm/ui/MapLayersUiItemsProvider.js.map +1 -1
- package/lib/esm/ui/widget/AttachLayerPopupButton.d.ts.map +1 -1
- package/lib/esm/ui/widget/AttachLayerPopupButton.js +22 -14
- package/lib/esm/ui/widget/AttachLayerPopupButton.js.map +1 -1
- package/lib/esm/ui/widget/BasemapPanel.js +6 -6
- package/lib/esm/ui/widget/BasemapPanel.js.map +1 -1
- package/lib/esm/ui/widget/FeatureInfoDataProvider.d.ts +4 -5
- package/lib/esm/ui/widget/FeatureInfoDataProvider.d.ts.map +1 -1
- package/lib/esm/ui/widget/FeatureInfoDataProvider.js +4 -11
- package/lib/esm/ui/widget/FeatureInfoDataProvider.js.map +1 -1
- package/lib/esm/ui/widget/FeatureInfoWidget.d.ts +2 -2
- package/lib/esm/ui/widget/FeatureInfoWidget.d.ts.map +1 -1
- package/lib/esm/ui/widget/FeatureInfoWidget.js +13 -11
- package/lib/esm/ui/widget/FeatureInfoWidget.js.map +1 -1
- package/lib/esm/ui/widget/MapLayerDroppable.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapLayerDroppable.js +6 -6
- package/lib/esm/ui/widget/MapLayerDroppable.js.map +1 -1
- package/lib/esm/ui/widget/MapLayerManager.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapLayerManager.js +14 -14
- package/lib/esm/ui/widget/MapLayerManager.js.map +1 -1
- package/lib/esm/ui/widget/MapLayerSettingsMenu.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapLayerSettingsMenu.js +3 -3
- package/lib/esm/ui/widget/MapLayerSettingsMenu.js.map +1 -1
- package/lib/esm/ui/widget/MapLayerSettingsPopupButton.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapLayerSettingsPopupButton.js +2 -2
- package/lib/esm/ui/widget/MapLayerSettingsPopupButton.js.map +1 -1
- package/lib/esm/ui/widget/MapLayersWidget.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapLayersWidget.js +2 -2
- package/lib/esm/ui/widget/MapLayersWidget.js.map +1 -1
- package/lib/esm/ui/widget/MapManagerSettings.js +16 -16
- package/lib/esm/ui/widget/MapManagerSettings.js.map +1 -1
- package/lib/esm/ui/widget/MapUrlDialog.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapUrlDialog.js +46 -40
- package/lib/esm/ui/widget/MapUrlDialog.js.map +1 -1
- package/lib/esm/ui/widget/SubLayersPopupButton.js +3 -3
- package/lib/esm/ui/widget/SubLayersPopupButton.js.map +1 -1
- package/lib/esm/ui/widget/SubLayersTree.d.ts.map +1 -1
- package/lib/esm/ui/widget/SubLayersTree.js +5 -5
- package/lib/esm/ui/widget/SubLayersTree.js.map +1 -1
- package/package.json +30 -29
|
@@ -4,39 +4,48 @@
|
|
|
4
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.FeatureInfoUiItemsProvider = void 0;
|
|
8
8
|
const React = require("react");
|
|
9
9
|
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
10
10
|
const appui_react_1 = require("@itwin/appui-react");
|
|
11
|
-
const core_frontend_1 = require("@itwin/core-frontend");
|
|
12
11
|
const FeatureInfoWidget_1 = require("./widget/FeatureInfoWidget");
|
|
12
|
+
const mapLayers_1 = require("../mapLayers");
|
|
13
|
+
const MapFeatureInfoTool_1 = require("./MapFeatureInfoTool");
|
|
13
14
|
class FeatureInfoUiItemsProvider {
|
|
14
|
-
constructor(
|
|
15
|
+
constructor(_featureInfoOpts) {
|
|
16
|
+
this._featureInfoOpts = _featureInfoOpts;
|
|
15
17
|
this.id = "FeatureInfoUiItemsProvider";
|
|
16
|
-
FeatureInfoUiItemsProvider.localization = localization;
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
+
provideToolbarButtonItems(_stageId, stageUsage, toolbarUsage, toolbarOrientation) {
|
|
20
|
+
var _a;
|
|
21
|
+
if (!((_a = this._featureInfoOpts) === null || _a === void 0 ? void 0 : _a.disableDefaultFeatureInfoTool) &&
|
|
22
|
+
stageUsage === appui_abstract_1.StageUsage.General &&
|
|
23
|
+
toolbarUsage === appui_abstract_1.ToolbarUsage.ContentManipulation &&
|
|
24
|
+
toolbarOrientation === appui_abstract_1.ToolbarOrientation.Vertical) {
|
|
25
|
+
MapFeatureInfoTool_1.DefaultMapFeatureInfoTool.register(mapLayers_1.MapLayersUI.localizationNamespace);
|
|
26
|
+
return [
|
|
27
|
+
appui_react_1.ToolbarHelper.createToolbarItemFromItemDef(60, (0, MapFeatureInfoTool_1.getDefaultMapFeatureInfoToolItemDef)()),
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
33
|
+
provideWidgets(_stageId, stageUsage, location, section, zoneLocation) {
|
|
19
34
|
const widgets = [];
|
|
20
|
-
|
|
35
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
36
|
+
if ((undefined === section && stageUsage === appui_abstract_1.StageUsage.General && zoneLocation === appui_abstract_1.AbstractZoneLocation.BottomRight) ||
|
|
37
|
+
(stageUsage === appui_abstract_1.StageUsage.General && location === appui_abstract_1.StagePanelLocation.Right && section === appui_abstract_1.StagePanelSection.End && "1" !== appui_react_1.UiFramework.uiVersion)) {
|
|
21
38
|
widgets.push({
|
|
22
|
-
id:
|
|
23
|
-
label:
|
|
39
|
+
id: FeatureInfoUiItemsProvider.widgetId,
|
|
40
|
+
label: mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:FeatureInfoWidget.Label"),
|
|
24
41
|
icon: "icon-map",
|
|
25
|
-
getWidgetContent: () => React.createElement(FeatureInfoWidget_1.MapFeatureInfoWidget, { featureInfoOpts:
|
|
42
|
+
getWidgetContent: () => React.createElement(FeatureInfoWidget_1.MapFeatureInfoWidget, { featureInfoOpts: this._featureInfoOpts }),
|
|
43
|
+
defaultState: appui_abstract_1.WidgetState.Closed,
|
|
26
44
|
});
|
|
27
45
|
}
|
|
28
46
|
return widgets;
|
|
29
47
|
}
|
|
30
48
|
}
|
|
31
49
|
exports.FeatureInfoUiItemsProvider = FeatureInfoUiItemsProvider;
|
|
32
|
-
|
|
33
|
-
constructor(info, featureInfoOpts) {
|
|
34
|
-
super(info, featureInfoOpts);
|
|
35
|
-
super.reactNode = React.createElement(FeatureInfoWidget_1.MapFeatureInfoWidget, { featureInfoOpts: featureInfoOpts });
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
exports.FeatureInfoWidgetControl = FeatureInfoWidgetControl;
|
|
39
|
-
FeatureInfoWidgetControl.id = "FeatureInfoWidget";
|
|
40
|
-
FeatureInfoWidgetControl.iconSpec = "icon-map";
|
|
41
|
-
FeatureInfoWidgetControl.label = "FeatureInfoWidgetControl";
|
|
50
|
+
FeatureInfoUiItemsProvider.widgetId = "map-layers:mapFeatureInfoWidget";
|
|
42
51
|
//# sourceMappingURL=FeatureInfoUiItemsProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureInfoUiItemsProvider.js","sourceRoot":"","sources":["../../../src/ui/FeatureInfoUiItemsProvider.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,+BAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"FeatureInfoUiItemsProvider.js","sourceRoot":"","sources":["../../../src/ui/FeatureInfoUiItemsProvider.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,+BAA+B;AAC/B,0DAAwN;AACxN,oDAAgE;AAChE,kEAAkE;AAElE,4CAA2C;AAC3C,6DAAsG;AAEtG,MAAa,0BAA0B;IAIrC,YAA2B,gBAAuC;QAAvC,qBAAgB,GAAhB,gBAAgB,CAAuB;QAHlD,OAAE,GAAG,4BAA4B,CAAC;IAGoB,CAAC;IAEhE,yBAAyB,CAC9B,QAAgB,EAChB,UAAkB,EAClB,YAA0B,EAC1B,kBAAsC;;QAEtC,IACE,CAAC,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,6BAA6B,CAAA;YACrD,UAAU,KAAK,2BAAU,CAAC,OAAO;YACjC,YAAY,KAAK,6BAAY,CAAC,mBAAmB;YACjD,kBAAkB,KAAK,mCAAkB,CAAC,QAAQ,EAClD;YACA,8CAAyB,CAAC,QAAQ,CAAC,uBAAW,CAAC,qBAAqB,CAAC,CAAC;YACtE,OAAO;gBACL,2BAAa,CAAC,4BAA4B,CAAC,EAAE,EAAE,IAAA,wDAAmC,GAAE,CAAC;aACtF,CAAC;SACH;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mDAAmD;IAC5C,cAAc,CAAC,QAAgB,EAAE,UAAkB,EAAE,QAA4B,EAAE,OAA2B,EAAE,YAAmC;QACxJ,MAAM,OAAO,GAA0B,EAAE,CAAC;QAE1C,mDAAmD;QACnD,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,UAAU,KAAK,2BAAU,CAAC,OAAO,IAAI,YAAY,KAAK,qCAAoB,CAAC,WAAW,CAAC;YACnH,CAAC,UAAU,KAAK,2BAAU,CAAC,OAAO,IAAI,QAAQ,KAAK,mCAAkB,CAAC,KAAK,IAAI,OAAO,KAAK,kCAAiB,CAAC,GAAG,IAAI,GAAG,KAAK,yBAAW,CAAC,SAAS,CAAC,EAAE;YACpJ,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,0BAA0B,CAAC,QAAQ;gBACvC,KAAK,EAAE,uBAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC,mCAAmC,CAAC;gBACvF,IAAI,EAAE,UAAU;gBAChB,gBAAgB,EAAE,GAAG,EAAE,CAAC,oBAAC,wCAAoB,IAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,GAAI;gBACxF,YAAY,EAAE,4BAAW,CAAC,MAAM;aACjC,CAAC,CAAC;SACJ;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;;AA5CH,gEA6CC;AA3CwB,mCAAQ,GAAG,iCAAiC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as React from \"react\";\r\nimport { AbstractWidgetProps, AbstractZoneLocation, CommonToolbarItem, StagePanelLocation, StagePanelSection, StageUsage, ToolbarOrientation, ToolbarUsage, UiItemsProvider, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { ToolbarHelper, UiFramework } from \"@itwin/appui-react\";\r\nimport { MapFeatureInfoWidget } from \"./widget/FeatureInfoWidget\";\r\nimport { MapFeatureInfoOptions } from \"./Interfaces\";\r\nimport { MapLayersUI } from \"../mapLayers\";\r\nimport { DefaultMapFeatureInfoTool, getDefaultMapFeatureInfoToolItemDef } from \"./MapFeatureInfoTool\";\r\n\r\nexport class FeatureInfoUiItemsProvider implements UiItemsProvider {\r\n public readonly id = \"FeatureInfoUiItemsProvider\";\r\n public static readonly widgetId = \"map-layers:mapFeatureInfoWidget\";\r\n\r\n public constructor(private _featureInfoOpts: MapFeatureInfoOptions) { }\r\n\r\n public provideToolbarButtonItems(\r\n _stageId: string,\r\n stageUsage: string,\r\n toolbarUsage: ToolbarUsage,\r\n toolbarOrientation: ToolbarOrientation,\r\n ): CommonToolbarItem[] {\r\n if (\r\n !this._featureInfoOpts?.disableDefaultFeatureInfoTool &&\r\n stageUsage === StageUsage.General &&\r\n toolbarUsage === ToolbarUsage.ContentManipulation &&\r\n toolbarOrientation === ToolbarOrientation.Vertical\r\n ) {\r\n DefaultMapFeatureInfoTool.register(MapLayersUI.localizationNamespace);\r\n return [\r\n ToolbarHelper.createToolbarItemFromItemDef(60, getDefaultMapFeatureInfoToolItemDef()),\r\n ];\r\n }\r\n\r\n return [];\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n public provideWidgets(_stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection, zoneLocation?: AbstractZoneLocation): ReadonlyArray<AbstractWidgetProps> {\r\n const widgets: AbstractWidgetProps[] = [];\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n if ((undefined === section && stageUsage === StageUsage.General && zoneLocation === AbstractZoneLocation.BottomRight) ||\r\n (stageUsage === StageUsage.General && location === StagePanelLocation.Right && section === StagePanelSection.End && \"1\" !== UiFramework.uiVersion)) {\r\n widgets.push({\r\n id: FeatureInfoUiItemsProvider.widgetId,\r\n label: MapLayersUI.localization.getLocalizedString(\"mapLayers:FeatureInfoWidget.Label\"),\r\n icon: \"icon-map\",\r\n getWidgetContent: () => <MapFeatureInfoWidget featureInfoOpts={this._featureInfoOpts} />, // eslint-disable-line react/display-name\r\n defaultState: WidgetState.Closed,\r\n });\r\n }\r\n\r\n return widgets;\r\n }\r\n}\r\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { BeEvent } from "@itwin/core-bentley";
|
|
1
2
|
import { MapSubLayerProps } from "@itwin/core-common";
|
|
2
|
-
import { MapLayerImageryProvider } from "@itwin/core-frontend";
|
|
3
|
+
import { HitDetail, MapLayerImageryProvider } from "@itwin/core-frontend";
|
|
3
4
|
export interface StyleMapLayerSettings {
|
|
4
5
|
/** Name */
|
|
5
6
|
name: string;
|
|
@@ -32,7 +33,15 @@ export interface MapLayerOptions {
|
|
|
32
33
|
export interface MapFeatureInfoPropertyGridOptions {
|
|
33
34
|
isPropertySelectionEnabled?: boolean;
|
|
34
35
|
}
|
|
36
|
+
export declare type MapHitEvent = BeEvent<(hit: HitDetail) => void>;
|
|
35
37
|
export interface MapFeatureInfoOptions {
|
|
38
|
+
/**
|
|
39
|
+
* HitDetail Event whenever the map is clicked.
|
|
40
|
+
* Typically the HitDetail object is provided by ElementLocateManager.doLocate.
|
|
41
|
+
* Every time this event is raised, FeatureInfoWidget will attempt to retrieve data from MapLayerImageryProviders.
|
|
42
|
+
*/
|
|
43
|
+
onMapHit: MapHitEvent;
|
|
44
|
+
disableDefaultFeatureInfoTool?: boolean;
|
|
36
45
|
showLoadProgressAnimation?: boolean;
|
|
37
46
|
propertyGridOptions?: MapFeatureInfoPropertyGridOptions;
|
|
38
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Interfaces.d.ts","sourceRoot":"","sources":["../../../src/ui/Interfaces.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Interfaces.d.ts","sourceRoot":"","sources":["../../../src/ui/Interfaces.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,MAAM,WAAW,qBAAqB;IACpC,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,2MAA2M;IAC3M,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,iCAAiC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;CAC5C;AAED,MAAM,WAAW,eAAe;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,cAAc,CAAC,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,iCAAiC;IAChD,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,oBAAY,WAAW,GAAG,OAAO,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,EAAE,WAAW,CAAC;IACtB,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,mBAAmB,CAAC,EAAE,iCAAiC,CAAC;CACzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Interfaces.js","sourceRoot":"","sources":["../../../src/ui/Interfaces.ts"],"names":[],"mappings":"","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { MapSubLayerProps } from \"@itwin/core-common\";\r\nimport { MapLayerImageryProvider } from \"@itwin/core-frontend\";\r\n\r\nexport interface StyleMapLayerSettings {\r\n /** Name */\r\n name: string;\r\n /** source (i.URL for ImageMapLayerSettings or modelId for ModelMapLayerSettings) */\r\n source: string;\r\n /** Controls visibility of layer */\r\n visible: boolean;\r\n /** A transparency value from 0.0 (fully opaque) to 1.0 (fully transparent) to apply to map graphics when drawing, or false to indicate the transparency should not be overridden. Default value: false. */\r\n transparency: number;\r\n /** Transparent background */\r\n transparentBackground: boolean;\r\n /** set map as underlay or overlay */\r\n isOverlay: boolean;\r\n /** Available map sub-layer */\r\n subLayers?: MapSubLayerProps[];\r\n /** sub-layer panel displayed. */\r\n showSubLayers: boolean;\r\n /** Some format can publish only a single layer at a time (i.e WMTS) */\r\n provider?: MapLayerImageryProvider;\r\n}\r\n\r\nexport interface MapTypesOptions {\r\n readonly supportTileUrl: boolean;\r\n readonly supportWmsAuthentication: boolean;\r\n}\r\n\r\nexport interface MapLayerOptions {\r\n hideExternalMapLayers?: boolean;\r\n fetchPublicMapLayerSources?: boolean;\r\n mapTypeOptions?: MapTypesOptions;\r\n}\r\n\r\nexport interface MapFeatureInfoPropertyGridOptions {\r\n isPropertySelectionEnabled?: boolean;\r\n}\r\n\r\nexport interface MapFeatureInfoOptions {\r\n showLoadProgressAnimation?: boolean;\r\n propertyGridOptions?: MapFeatureInfoPropertyGridOptions;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Interfaces.js","sourceRoot":"","sources":["../../../src/ui/Interfaces.ts"],"names":[],"mappings":"","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport { MapSubLayerProps } from \"@itwin/core-common\";\r\nimport { HitDetail, MapLayerImageryProvider } from \"@itwin/core-frontend\";\r\n\r\nexport interface StyleMapLayerSettings {\r\n /** Name */\r\n name: string;\r\n /** source (i.URL for ImageMapLayerSettings or modelId for ModelMapLayerSettings) */\r\n source: string;\r\n /** Controls visibility of layer */\r\n visible: boolean;\r\n /** A transparency value from 0.0 (fully opaque) to 1.0 (fully transparent) to apply to map graphics when drawing, or false to indicate the transparency should not be overridden. Default value: false. */\r\n transparency: number;\r\n /** Transparent background */\r\n transparentBackground: boolean;\r\n /** set map as underlay or overlay */\r\n isOverlay: boolean;\r\n /** Available map sub-layer */\r\n subLayers?: MapSubLayerProps[];\r\n /** sub-layer panel displayed. */\r\n showSubLayers: boolean;\r\n /** Some format can publish only a single layer at a time (i.e WMTS) */\r\n provider?: MapLayerImageryProvider;\r\n}\r\n\r\nexport interface MapTypesOptions {\r\n readonly supportTileUrl: boolean;\r\n readonly supportWmsAuthentication: boolean;\r\n}\r\n\r\nexport interface MapLayerOptions {\r\n hideExternalMapLayers?: boolean;\r\n fetchPublicMapLayerSources?: boolean;\r\n mapTypeOptions?: MapTypesOptions;\r\n}\r\n\r\nexport interface MapFeatureInfoPropertyGridOptions {\r\n isPropertySelectionEnabled?: boolean;\r\n}\r\n\r\nexport type MapHitEvent = BeEvent<(hit: HitDetail) => void>;\r\n\r\nexport interface MapFeatureInfoOptions {\r\n /**\r\n * HitDetail Event whenever the map is clicked.\r\n * Typically the HitDetail object is provided by ElementLocateManager.doLocate.\r\n * Every time this event is raised, FeatureInfoWidget will attempt to retrieve data from MapLayerImageryProviders.\r\n */\r\n onMapHit: MapHitEvent;\r\n disableDefaultFeatureInfoTool?: boolean;\r\n showLoadProgressAnimation?: boolean;\r\n propertyGridOptions?: MapFeatureInfoPropertyGridOptions;\r\n}\r\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BeButtonEvent, EventHandled, HitDetail, PrimitiveTool } from "@itwin/core-frontend";
|
|
2
|
+
import { ToolItemDef } from "@itwin/appui-react";
|
|
3
|
+
import { BeEvent } from "@itwin/core-bentley";
|
|
4
|
+
export declare const getDefaultMapFeatureInfoToolItemDef: () => ToolItemDef;
|
|
5
|
+
export declare class DefaultMapFeatureInfoTool extends PrimitiveTool {
|
|
6
|
+
static readonly onMapHit: BeEvent<(hit: HitDetail) => void>;
|
|
7
|
+
static toolId: string;
|
|
8
|
+
static iconSpec: string;
|
|
9
|
+
requireWriteableTarget(): boolean;
|
|
10
|
+
onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled>;
|
|
11
|
+
onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled>;
|
|
12
|
+
onRestartTool(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=MapFeatureInfoTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapFeatureInfoTool.d.ts","sourceRoot":"","sources":["../../../src/ui/MapFeatureInfoTool.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,SAAS,EAGT,aAAa,EACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAqB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,eAAO,MAAM,mCAAmC,QAAO,WAOnD,CAAC;AAEL,qBAAa,yBAA0B,SAAQ,aAAa;IAC1D,gBAAuB,QAAQ,gBAAqB,SAAS,KAAK,IAAI,EAAI;IAC1E,OAAuB,MAAM,SAAwB;IACrD,OAAuB,QAAQ,SAAc;IAE7B,sBAAsB,IAAI,OAAO;IAI3B,gBAAgB,CACpC,EAAE,EAAE,aAAa,GAChB,OAAO,CAAC,YAAY,CAAC;IAsBF,eAAe,CACnC,GAAG,EAAE,aAAa,GACjB,OAAO,CAAC,YAAY,CAAC;IAMX,aAAa;CAI3B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.DefaultMapFeatureInfoTool = exports.getDefaultMapFeatureInfoToolItemDef = void 0;
|
|
8
|
+
const core_frontend_1 = require("@itwin/core-frontend");
|
|
9
|
+
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
10
|
+
const appui_react_1 = require("@itwin/appui-react");
|
|
11
|
+
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
|
+
const FeatureInfoUiItemsProvider_1 = require("./FeatureInfoUiItemsProvider");
|
|
13
|
+
const getDefaultMapFeatureInfoToolItemDef = () => new appui_react_1.ToolItemDef({
|
|
14
|
+
toolId: DefaultMapFeatureInfoTool.toolId,
|
|
15
|
+
iconSpec: DefaultMapFeatureInfoTool.iconSpec,
|
|
16
|
+
label: () => DefaultMapFeatureInfoTool.flyover,
|
|
17
|
+
description: () => DefaultMapFeatureInfoTool.description,
|
|
18
|
+
execute: async () => { await core_frontend_1.IModelApp.tools.run(DefaultMapFeatureInfoTool.toolId); },
|
|
19
|
+
});
|
|
20
|
+
exports.getDefaultMapFeatureInfoToolItemDef = getDefaultMapFeatureInfoToolItemDef;
|
|
21
|
+
class DefaultMapFeatureInfoTool extends core_frontend_1.PrimitiveTool {
|
|
22
|
+
requireWriteableTarget() {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
async onDataButtonDown(ev) {
|
|
26
|
+
const hit = await core_frontend_1.IModelApp.locateManager.doLocate(new core_frontend_1.LocateResponse(), true, ev.point, ev.viewport, ev.inputSource);
|
|
27
|
+
if (hit !== undefined) {
|
|
28
|
+
const widgetDef = appui_react_1.FrontstageManager.findWidget(FeatureInfoUiItemsProvider_1.FeatureInfoUiItemsProvider.widgetId);
|
|
29
|
+
if (widgetDef && widgetDef.state !== appui_abstract_1.WidgetState.Open)
|
|
30
|
+
widgetDef.setWidgetState(appui_abstract_1.WidgetState.Open);
|
|
31
|
+
DefaultMapFeatureInfoTool.onMapHit.raiseEvent(hit);
|
|
32
|
+
return core_frontend_1.EventHandled.Yes;
|
|
33
|
+
}
|
|
34
|
+
return core_frontend_1.EventHandled.No;
|
|
35
|
+
}
|
|
36
|
+
async onResetButtonUp(_ev) {
|
|
37
|
+
/* Common reset behavior for primitive tools is calling onReinitialize to restart or exitTool to terminate. */
|
|
38
|
+
await this.onReinitialize();
|
|
39
|
+
return core_frontend_1.EventHandled.No;
|
|
40
|
+
}
|
|
41
|
+
async onRestartTool() {
|
|
42
|
+
const tool = new DefaultMapFeatureInfoTool();
|
|
43
|
+
if (!(await tool.run()))
|
|
44
|
+
return this.exitTool();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.DefaultMapFeatureInfoTool = DefaultMapFeatureInfoTool;
|
|
48
|
+
DefaultMapFeatureInfoTool.onMapHit = new core_bentley_1.BeEvent();
|
|
49
|
+
DefaultMapFeatureInfoTool.toolId = "MapFeatureInfoTool";
|
|
50
|
+
DefaultMapFeatureInfoTool.iconSpec = "icon-map";
|
|
51
|
+
//# sourceMappingURL=MapFeatureInfoTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapFeatureInfoTool.js","sourceRoot":"","sources":["../../../src/ui/MapFeatureInfoTool.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,wDAO8B;AAC9B,0DAAoD;AACpD,oDAAoE;AACpE,sDAA8C;AAC9C,6EAA0E;AAEnE,MAAM,mCAAmC,GAAG,GAAgB,EAAE,CACnE,IAAI,yBAAW,CAAC;IACd,MAAM,EAAE,yBAAyB,CAAC,MAAM;IACxC,QAAQ,EAAE,yBAAyB,CAAC,QAAQ;IAC5C,KAAK,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,OAAO;IAC9C,WAAW,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,WAAW;IACxD,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,yBAAS,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CACtF,CAAC,CAAC;AAPQ,QAAA,mCAAmC,uCAO3C;AAEL,MAAa,yBAA0B,SAAQ,6BAAa;IAK1C,sBAAsB;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAEe,KAAK,CAAC,gBAAgB,CACpC,EAAiB;QAEjB,MAAM,GAAG,GAAG,MAAM,yBAAS,CAAC,aAAa,CAAC,QAAQ,CAChD,IAAI,8BAAc,EAAE,EACpB,IAAI,EACJ,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,QAAQ,EACX,EAAE,CAAC,WAAW,CACf,CAAC;QACF,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,MAAM,SAAS,GAAG,+BAAiB,CAAC,UAAU,CAC5C,uDAA0B,CAAC,QAAQ,CACpC,CAAC;YACF,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,4BAAW,CAAC,IAAI;gBACnD,SAAS,CAAC,cAAc,CAAC,4BAAW,CAAC,IAAI,CAAC,CAAC;YAE7C,yBAAyB,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACnD,OAAO,4BAAY,CAAC,GAAG,CAAC;SACzB;QAED,OAAO,4BAAY,CAAC,EAAE,CAAC;IACzB,CAAC;IAEe,KAAK,CAAC,eAAe,CACnC,GAAkB;QAElB,8GAA8G;QAC9G,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,OAAO,4BAAY,CAAC,EAAE,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,MAAM,IAAI,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClD,CAAC;;AA5CH,8DA6CC;AA5CwB,kCAAQ,GAAG,IAAI,sBAAO,EAA4B,CAAC;AACnD,gCAAM,GAAG,oBAAoB,CAAC;AAC9B,kCAAQ,GAAG,UAAU,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport {\r\n BeButtonEvent,\r\n EventHandled,\r\n HitDetail,\r\n IModelApp,\r\n LocateResponse,\r\n PrimitiveTool,\r\n} from \"@itwin/core-frontend\";\r\nimport { WidgetState } from \"@itwin/appui-abstract\";\r\nimport { FrontstageManager, ToolItemDef } from \"@itwin/appui-react\";\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport { FeatureInfoUiItemsProvider } from \"./FeatureInfoUiItemsProvider\";\r\n\r\nexport const getDefaultMapFeatureInfoToolItemDef = (): ToolItemDef =>\r\n new ToolItemDef({\r\n toolId: DefaultMapFeatureInfoTool.toolId,\r\n iconSpec: DefaultMapFeatureInfoTool.iconSpec,\r\n label: () => DefaultMapFeatureInfoTool.flyover,\r\n description: () => DefaultMapFeatureInfoTool.description,\r\n execute: async () => { await IModelApp.tools.run(DefaultMapFeatureInfoTool.toolId); },\r\n });\r\n\r\nexport class DefaultMapFeatureInfoTool extends PrimitiveTool {\r\n public static readonly onMapHit = new BeEvent<(hit: HitDetail) => void>();\r\n public static override toolId = \"MapFeatureInfoTool\";\r\n public static override iconSpec = \"icon-map\";\r\n\r\n public override requireWriteableTarget(): boolean {\r\n return false;\r\n }\r\n\r\n public override async onDataButtonDown(\r\n ev: BeButtonEvent\r\n ): Promise<EventHandled> {\r\n const hit = await IModelApp.locateManager.doLocate(\r\n new LocateResponse(),\r\n true,\r\n ev.point,\r\n ev.viewport,\r\n ev.inputSource\r\n );\r\n if (hit !== undefined) {\r\n const widgetDef = FrontstageManager.findWidget(\r\n FeatureInfoUiItemsProvider.widgetId\r\n );\r\n if (widgetDef && widgetDef.state !== WidgetState.Open)\r\n widgetDef.setWidgetState(WidgetState.Open);\r\n\r\n DefaultMapFeatureInfoTool.onMapHit.raiseEvent(hit);\r\n return EventHandled.Yes;\r\n }\r\n\r\n return EventHandled.No;\r\n }\r\n\r\n public override async onResetButtonUp(\r\n _ev: BeButtonEvent\r\n ): Promise<EventHandled> {\r\n /* Common reset behavior for primitive tools is calling onReinitialize to restart or exitTool to terminate. */\r\n await this.onReinitialize();\r\n return EventHandled.No;\r\n }\r\n\r\n public async onRestartTool() {\r\n const tool = new DefaultMapFeatureInfoTool();\r\n if (!(await tool.run())) return this.exitTool();\r\n }\r\n}\r\n"]}
|
|
@@ -1,23 +1,9 @@
|
|
|
1
|
-
import { AbstractWidgetProps, StagePanelLocation, StagePanelSection, UiItemsProvider } from "@itwin/appui-abstract";
|
|
2
|
-
import { Localization } from "@itwin/core-common";
|
|
3
|
-
import { ConfigurableCreateInfo, WidgetControl } from "@itwin/appui-react";
|
|
1
|
+
import { AbstractWidgetProps, AbstractZoneLocation, StagePanelLocation, StagePanelSection, UiItemsProvider } from "@itwin/appui-abstract";
|
|
4
2
|
import { MapLayerOptions } from "./Interfaces";
|
|
5
3
|
export declare class MapLayersUiItemsProvider implements UiItemsProvider {
|
|
6
4
|
readonly id = "MapLayersUiItemsProvider";
|
|
7
|
-
|
|
8
|
-
constructor(
|
|
9
|
-
provideWidgets(_stageId: string, stageUsage: string, location: StagePanelLocation, section: StagePanelSection | undefined): ReadonlyArray<AbstractWidgetProps>;
|
|
10
|
-
}
|
|
11
|
-
/** MapLayersWidgetControl provides a widget to attach and remove maps layers from the active view's display style.
|
|
12
|
-
* ``` tsx
|
|
13
|
-
* <Widget id={MapLayersWidgetControl.id} label={MapLayersWidgetControl.label} control={MapLayersWidgetControl}
|
|
14
|
-
* iconSpec={MapLayersWidgetControl.iconSpec} />,
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
|
-
export declare class MapLayersWidgetControl extends WidgetControl {
|
|
18
|
-
static id: string;
|
|
19
|
-
static iconSpec: string;
|
|
20
|
-
static get label(): string;
|
|
21
|
-
constructor(info: ConfigurableCreateInfo, mapLayerOptions: MapLayerOptions | undefined);
|
|
5
|
+
private _mapLayerOptions?;
|
|
6
|
+
constructor(mapLayerOptions?: MapLayerOptions);
|
|
7
|
+
provideWidgets(_stageId: string, stageUsage: string, location: StagePanelLocation, section: StagePanelSection | undefined, zoneLocation?: AbstractZoneLocation): ReadonlyArray<AbstractWidgetProps>;
|
|
22
8
|
}
|
|
23
9
|
//# sourceMappingURL=MapLayersUiItemsProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapLayersUiItemsProvider.d.ts","sourceRoot":"","sources":["../../../src/ui/MapLayersUiItemsProvider.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAc,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"MapLayersUiItemsProvider.d.ts","sourceRoot":"","sources":["../../../src/ui/MapLayersUiItemsProvider.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAc,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGtJ,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,SAAgB,EAAE,8BAA8B;IAChD,OAAO,CAAC,gBAAgB,CAAC,CAAkB;gBAExB,eAAe,CAAC,EAAE,eAAe;IAS7C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,iBAAiB,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,oBAAoB,GAAG,aAAa,CAAC,mBAAmB,CAAC;CAgB3M"}
|
|
@@ -4,52 +4,36 @@
|
|
|
4
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.MapLayersUiItemsProvider = void 0;
|
|
8
8
|
const React = require("react");
|
|
9
9
|
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
10
10
|
const MapLayersWidget_1 = require("./widget/MapLayersWidget");
|
|
11
11
|
const appui_react_1 = require("@itwin/appui-react");
|
|
12
|
-
const
|
|
12
|
+
const mapLayers_1 = require("../mapLayers");
|
|
13
13
|
class MapLayersUiItemsProvider {
|
|
14
|
-
constructor(
|
|
14
|
+
constructor(mapLayerOptions) {
|
|
15
15
|
this.id = "MapLayersUiItemsProvider";
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
provideWidgets(_stageId, stageUsage, location, section) {
|
|
19
|
-
const widgets = [];
|
|
20
|
-
const mapLayerOptions = {
|
|
16
|
+
this._mapLayerOptions = mapLayerOptions !== null && mapLayerOptions !== void 0 ? mapLayerOptions : {
|
|
21
17
|
hideExternalMapLayers: false,
|
|
22
18
|
mapTypeOptions: { supportTileUrl: false, supportWmsAuthentication: true },
|
|
23
19
|
fetchPublicMapLayerSources: false,
|
|
24
20
|
};
|
|
25
|
-
|
|
21
|
+
}
|
|
22
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
23
|
+
provideWidgets(_stageId, stageUsage, location, section, zoneLocation) {
|
|
24
|
+
const widgets = [];
|
|
25
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
26
|
+
if ((undefined === section && stageUsage === appui_abstract_1.StageUsage.General && zoneLocation === appui_abstract_1.AbstractZoneLocation.CenterRight) ||
|
|
27
|
+
(stageUsage === appui_abstract_1.StageUsage.General && location === appui_abstract_1.StagePanelLocation.Right && section === appui_abstract_1.StagePanelSection.Start && "1" !== appui_react_1.UiFramework.uiVersion)) {
|
|
26
28
|
widgets.push({
|
|
27
29
|
id: "map-layers:mapLayersWidget",
|
|
28
|
-
label:
|
|
30
|
+
label: mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:Widget.Label"),
|
|
29
31
|
icon: "icon-map",
|
|
30
|
-
getWidgetContent: () => React.createElement(MapLayersWidget_1.MapLayersWidget, { mapLayerOptions:
|
|
32
|
+
getWidgetContent: () => React.createElement(MapLayersWidget_1.MapLayersWidget, { mapLayerOptions: this._mapLayerOptions }), // eslint-disable-line react/display-name
|
|
31
33
|
});
|
|
32
34
|
}
|
|
33
35
|
return widgets;
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
exports.MapLayersUiItemsProvider = MapLayersUiItemsProvider;
|
|
37
|
-
/** MapLayersWidgetControl provides a widget to attach and remove maps layers from the active view's display style.
|
|
38
|
-
* ``` tsx
|
|
39
|
-
* <Widget id={MapLayersWidgetControl.id} label={MapLayersWidgetControl.label} control={MapLayersWidgetControl}
|
|
40
|
-
* iconSpec={MapLayersWidgetControl.iconSpec} />,
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
class MapLayersWidgetControl extends appui_react_1.WidgetControl {
|
|
44
|
-
constructor(info, mapLayerOptions) {
|
|
45
|
-
super(info, mapLayerOptions);
|
|
46
|
-
this.reactNode = React.createElement(MapLayersWidget_1.MapLayersWidget, { mapLayerOptions: mapLayerOptions });
|
|
47
|
-
}
|
|
48
|
-
static get label() {
|
|
49
|
-
return core_frontend_1.IModelApp.localization.getLocalizedString("mapLayers:Widget.Label");
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
exports.MapLayersWidgetControl = MapLayersWidgetControl;
|
|
53
|
-
MapLayersWidgetControl.id = "MapLayersWidget";
|
|
54
|
-
MapLayersWidgetControl.iconSpec = "icon-map";
|
|
55
39
|
//# sourceMappingURL=MapLayersUiItemsProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapLayersUiItemsProvider.js","sourceRoot":"","sources":["../../../src/ui/MapLayersUiItemsProvider.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,+BAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"MapLayersUiItemsProvider.js","sourceRoot":"","sources":["../../../src/ui/MapLayersUiItemsProvider.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,+BAA+B;AAC/B,0DAAsJ;AACtJ,8DAA2D;AAC3D,oDAAiD;AAEjD,4CAA2C;AAE3C,MAAa,wBAAwB;IAInC,YAAmB,eAAiC;QAHpC,OAAE,GAAG,0BAA0B,CAAC;QAI9C,IAAI,CAAC,gBAAgB,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI;YACzC,qBAAqB,EAAE,KAAK;YAC5B,cAAc,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE;YACzE,0BAA0B,EAAE,KAAK;SAClC,CAAC;IACJ,CAAC;IAED,mDAAmD;IAC5C,cAAc,CAAC,QAAgB,EAAE,UAAkB,EAAE,QAA4B,EAAE,OAAsC,EAAE,YAAmC;QACnK,MAAM,OAAO,GAA0B,EAAE,CAAC;QAE1C,mDAAmD;QACnD,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,UAAU,KAAK,2BAAU,CAAC,OAAO,IAAI,YAAY,KAAK,qCAAoB,CAAC,WAAW,CAAC;YACnH,CAAC,UAAU,KAAK,2BAAU,CAAC,OAAO,IAAI,QAAQ,KAAK,mCAAkB,CAAC,KAAK,IAAI,OAAO,KAAK,kCAAiB,CAAC,KAAK,IAAI,GAAG,KAAK,yBAAW,CAAC,SAAS,CAAC,EAAE;YACtJ,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,4BAA4B;gBAChC,KAAK,EAAE,uBAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;gBAC5E,IAAI,EAAE,UAAU;gBAChB,gBAAgB,EAAE,GAAG,EAAE,CAAC,oBAAC,iCAAe,IAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,GAAI,EAAE,yCAAyC;aAC/H,CAAC,CAAC;SACJ;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AA7BD,4DA6BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as React from \"react\";\r\nimport { AbstractWidgetProps, AbstractZoneLocation, StagePanelLocation, StagePanelSection, StageUsage, UiItemsProvider } from \"@itwin/appui-abstract\";\r\nimport { MapLayersWidget } from \"./widget/MapLayersWidget\";\r\nimport { UiFramework } from \"@itwin/appui-react\";\r\nimport { MapLayerOptions } from \"./Interfaces\";\r\nimport { MapLayersUI } from \"../mapLayers\";\r\n\r\nexport class MapLayersUiItemsProvider implements UiItemsProvider {\r\n public readonly id = \"MapLayersUiItemsProvider\";\r\n private _mapLayerOptions?: MapLayerOptions;\r\n\r\n public constructor(mapLayerOptions?: MapLayerOptions) {\r\n this._mapLayerOptions = mapLayerOptions ?? {\r\n hideExternalMapLayers: false,\r\n mapTypeOptions: { supportTileUrl: false, supportWmsAuthentication: true },\r\n fetchPublicMapLayerSources: false,\r\n };\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n public provideWidgets(_stageId: string, stageUsage: string, location: StagePanelLocation, section: StagePanelSection | undefined, zoneLocation?: AbstractZoneLocation): ReadonlyArray<AbstractWidgetProps> {\r\n const widgets: AbstractWidgetProps[] = [];\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n if ((undefined === section && stageUsage === StageUsage.General && zoneLocation === AbstractZoneLocation.CenterRight) ||\r\n (stageUsage === StageUsage.General && location === StagePanelLocation.Right && section === StagePanelSection.Start && \"1\" !== UiFramework.uiVersion)) {\r\n widgets.push({\r\n id: \"map-layers:mapLayersWidget\",\r\n label: MapLayersUI.localization.getLocalizedString(\"mapLayers:Widget.Label\"),\r\n icon: \"icon-map\",\r\n getWidgetContent: () => <MapLayersWidget mapLayerOptions={this._mapLayerOptions} />, // eslint-disable-line react/display-name\r\n });\r\n }\r\n\r\n return widgets;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachLayerPopupButton.d.ts","sourceRoot":"","sources":["../../../../src/ui/widget/AttachLayerPopupButton.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"AttachLayerPopupButton.d.ts","sourceRoot":"","sources":["../../../../src/ui/widget/AttachLayerPopupButton.tsx"],"names":[],"mappings":";AAgUA,gBAAgB;AAChB,oBAAY,qBAAqB;IAC/B,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,IAAI,IAAA;CACL;AACD,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAED,gBAAgB;AAEhB,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,eA2HxE"}
|
|
@@ -12,22 +12,26 @@ const UiCore = require("@itwin/core-react");
|
|
|
12
12
|
const appui_react_1 = require("@itwin/appui-react");
|
|
13
13
|
const MapLayerManager_1 = require("./MapLayerManager");
|
|
14
14
|
const MapUrlDialog_1 = require("./MapUrlDialog");
|
|
15
|
-
const MapLayersUiItemsProvider_1 = require("../MapLayersUiItemsProvider");
|
|
16
15
|
const ConfirmMessageDialog_1 = require("./ConfirmMessageDialog");
|
|
17
16
|
const itwinui_react_1 = require("@itwin/itwinui-react");
|
|
18
17
|
const MapLayerPreferences_1 = require("../../MapLayerPreferences");
|
|
18
|
+
const mapLayers_1 = require("../../mapLayers");
|
|
19
19
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
20
20
|
function AttachLayerPanel({ isOverlay, onLayerAttached }) {
|
|
21
21
|
var _a, _b;
|
|
22
22
|
const [layerNameToAdd, setLayerNameToAdd] = React.useState();
|
|
23
23
|
const [sourceFilterString, setSourceFilterString] = React.useState();
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
const { placeholderLabel, addCustomLayerLabel, addCustomLayerToolTip, loadingMapSources, removeLayerDefButtonTitle, editLayerDefButtonTitle, removeLayerDefDialogTitle } = React.useMemo(() => {
|
|
25
|
+
return {
|
|
26
|
+
placeholderLabel: mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:CustomAttach.SearchPlaceholder"),
|
|
27
|
+
addCustomLayerLabel: mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:CustomAttach.Custom"),
|
|
28
|
+
addCustomLayerToolTip: mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:CustomAttach.AttachCustomLayer"),
|
|
29
|
+
loadingMapSources: mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:CustomAttach.LoadingMapSources"),
|
|
30
|
+
removeLayerDefButtonTitle: mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:CustomAttach.RemoveLayerDefButtonTitle"),
|
|
31
|
+
editLayerDefButtonTitle: mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:CustomAttach.EditLayerDefButtonTitle"),
|
|
32
|
+
removeLayerDefDialogTitle: mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:CustomAttach.RemoveLayerDefDialogTitle"),
|
|
33
|
+
};
|
|
34
|
+
}, []);
|
|
31
35
|
const [loading, setLoading] = React.useState(false);
|
|
32
36
|
const [layerNameUnderCursor, setLayerNameUnderCursor] = React.useState();
|
|
33
37
|
// 'isMounted' is used to prevent any async operation once the hook has been
|
|
@@ -166,11 +170,11 @@ function AttachLayerPanel({ isOverlay, onLayerAttached }) {
|
|
|
166
170
|
if (!!iTwinId && !!iModelId) {
|
|
167
171
|
try {
|
|
168
172
|
await MapLayerPreferences_1.MapLayerPreferences.deleteByName(source, iTwinId, iModelId);
|
|
169
|
-
const msg =
|
|
173
|
+
const msg = mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:CustomAttach.RemoveLayerDefSuccess", { layerName });
|
|
170
174
|
core_frontend_1.IModelApp.notifications.outputMessage(new core_frontend_1.NotifyMessageDetails(core_frontend_1.OutputMessagePriority.Info, msg));
|
|
171
175
|
}
|
|
172
176
|
catch (err) {
|
|
173
|
-
const msg =
|
|
177
|
+
const msg = mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:CustomAttach.RemoveLayerDefError", { layerName });
|
|
174
178
|
core_frontend_1.IModelApp.notifications.outputMessage(new core_frontend_1.NotifyMessageDetails(core_frontend_1.OutputMessagePriority.Error, msg));
|
|
175
179
|
}
|
|
176
180
|
}
|
|
@@ -182,7 +186,7 @@ function AttachLayerPanel({ isOverlay, onLayerAttached }) {
|
|
|
182
186
|
const onItemRemoveButtonClicked = React.useCallback((source, event) => {
|
|
183
187
|
event.stopPropagation(); // We don't want the owning ListBox to react on mouse click.
|
|
184
188
|
const layerName = source.name;
|
|
185
|
-
const msg =
|
|
189
|
+
const msg = mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:CustomAttach.RemoveLayerDefDialogMessage", { layerName });
|
|
186
190
|
appui_react_1.ModalDialogManager.openDialog(React.createElement(ConfirmMessageDialog_1.ConfirmMessageDialog, { className: "map-sources-delete-confirmation", title: removeLayerDefDialogTitle, message: msg, maxWidth: 400, onClose: () => handleNoConfirmation(layerName), onEscape: () => handleNoConfirmation(layerName), onYesResult: async () => handleYesConfirmation(source), onNoResult: () => handleNoConfirmation(layerName) }));
|
|
187
191
|
}, [handleNoConfirmation, handleYesConfirmation, removeLayerDefDialogTitle]);
|
|
188
192
|
/*
|
|
@@ -225,9 +229,13 @@ var AttachLayerButtonType;
|
|
|
225
229
|
/** @internal */
|
|
226
230
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
227
231
|
function AttachLayerPopupButton(props) {
|
|
228
|
-
const
|
|
229
|
-
|
|
230
|
-
|
|
232
|
+
const { showAttachLayerLabel, hideAttachLayerLabel, addCustomLayerButtonLabel } = React.useMemo(() => {
|
|
233
|
+
return {
|
|
234
|
+
showAttachLayerLabel: mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:AttachLayerPopup.Attach"),
|
|
235
|
+
hideAttachLayerLabel: mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:AttachLayerPopup.Close"),
|
|
236
|
+
addCustomLayerButtonLabel: mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:CustomAttach.AddCustomLayerButtonLabel"),
|
|
237
|
+
};
|
|
238
|
+
}, []);
|
|
231
239
|
const [popupOpen, setPopupOpen] = React.useState(false);
|
|
232
240
|
const buttonRef = React.useRef(null);
|
|
233
241
|
const panelRef = React.useRef(null);
|