@itwin/map-layers 3.3.0-dev.65 → 3.3.0-dev.68

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.
@@ -43,7 +43,7 @@ class MapLayersUI {
43
43
  const fiProvider = new FeatureInfoUiItemsProvider_1.FeatureInfoUiItemsProvider({ ...MapLayersUI._featureInfoOpts });
44
44
  const fiProviderId = (_e = (_d = config === null || config === void 0 ? void 0 : config.featureInfoProviderOverrides) === null || _d === void 0 ? void 0 : _d.providerId) !== null && _e !== void 0 ? _e : fiProvider.id;
45
45
  MapLayersUI._uiItemsProvidersId.push(fiProviderId);
46
- appui_abstract_1.UiItemsManager.register(mlProvider, config === null || config === void 0 ? void 0 : config.featureInfoProviderOverrides);
46
+ appui_abstract_1.UiItemsManager.register(fiProvider, config === null || config === void 0 ? void 0 : config.featureInfoProviderOverrides);
47
47
  }
48
48
  }
49
49
  /** Unregisters internationalization service namespace and UiItemManager */
@@ -1 +1 @@
1
- {"version":3,"file":"mapLayers.js","sourceRoot":"","sources":["../../src/mapLayers.ts"],"names":[],"mappings":";;;AAKA,wDAAwE;AACxE,4EAAyE;AACzE,0DAAgF;AAChF,gFAA6E;AAiB7E;;;;;GAKG;AACH,MAAa,WAAW;IAQf,MAAM,KAAK,WAAW;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,wCAAwC;IACjC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAwB;;QACrD,mEAAmE;QACnE,WAAW,CAAC,YAAY,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,yBAAS,CAAC,YAAY,CAAC;QAC1E,MAAM,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAC9C,WAAW,CAAC,qBAAqB,CAClC,CAAC;QAEF,WAAW,CAAC,YAAY,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAC;QAC/C,WAAW,CAAC,gBAAgB,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,CAAC;QACvD,WAAW,CAAC,gBAAgB,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,CAAC;QAEvD,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,0BAA0B,CAAA;YACrC,WAAW,CAAC,wBAAwB,EAAE,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,wBAAwB,CAAC,MAAkC;;QACvE,MAAM,UAAU,GAAG,IAAI,mDAAwB,CAAC,EAAE,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,yBAAyB,0CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;QACpF,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,+BAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,yBAAyB,CAAC,CAAC;QAEvE,+DAA+D;QAC/D,IAAI,MAAA,WAAW,CAAC,gBAAgB,0CAAE,QAAQ,EAAE;YAC1C,MAAM,UAAU,GAAG,IAAI,uDAA0B,CAAC,EAAE,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACvF,MAAM,YAAY,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,4BAA4B,0CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;YACvF,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnD,+BAAc,CAAC,QAAQ,CAAC,UAAU,EAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,4BAA4B,CAAC,CAAC;SAC5E;IACH,CAAC;IAED,4EAA4E;IACrE,MAAM,CAAC,SAAS;QACrB,yBAAS,CAAC,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAE9E,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACvD,+BAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAkD;IAC3C,MAAM,KAAK,qBAAqB;QACrC,OAAO,WAAW,CAAC,UAAU,CAAC;IAChC,CAAC;;AA5DH,kCA6DC;AA5DgB,sBAAU,GAAG,WAAW,CAAC;AAEzB,+BAAmB,GAAa,EAAE,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\nimport { Localization } from \"@itwin/core-common\";\r\nimport { IModelApp, UserPreferencesAccess } from \"@itwin/core-frontend\";\r\nimport { MapLayersUiItemsProvider } from \"./ui/MapLayersUiItemsProvider\";\r\nimport { UiItemProviderOverrides, UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { FeatureInfoUiItemsProvider } from \"./ui/FeatureInfoUiItemsProvider\";\r\nimport { MapFeatureInfoOptions, MapLayerOptions } from \"./ui/Interfaces\";\r\n\r\nexport interface MapLayersConfig {\r\n localization?: Localization;\r\n /** If an iTwinConfig is provided, it will be used to load the MapLayerSources that are stored. */\r\n iTwinConfig?: UserPreferencesAccess;\r\n mapLayerOptions?: MapLayerOptions;\r\n featureInfoOpts?: MapFeatureInfoOptions;\r\n delayItemsProviderRegister?: boolean;\r\n}\r\n/** Configuration for registering UiItemsProviders for the MapLayers package */\r\nexport interface MapLayersUiProviderConfig {\r\n mapLayerProviderOverrides?: UiItemProviderOverrides;\r\n featureInfoProviderOverrides?: UiItemProviderOverrides;\r\n}\r\n\r\n/** MapLayersUI is use when the package is used as a dependency to another app.\r\n * '''ts\r\n * await MapLayersUI.initialize({...MapLayersInitProps});\r\n * '''\r\n * @beta\r\n */\r\nexport class MapLayersUI {\r\n private static _defaultNs = \"mapLayers\";\r\n public static localization: Localization;\r\n private static _uiItemsProvidersId: string[] = [];\r\n private static _iTwinConfig?: UserPreferencesAccess;\r\n private static _featureInfoOpts?: MapFeatureInfoOptions;\r\n private static _mapLayerOptions?: MapLayerOptions;\r\n\r\n public static get iTwinConfig(): UserPreferencesAccess | undefined {\r\n return this._iTwinConfig;\r\n }\r\n\r\n /** Used to initialize the Map Layers */\r\n public static async initialize(config?: MapLayersConfig): Promise<void> {\r\n // register namespace containing localized strings for this package\r\n MapLayersUI.localization = config?.localization ?? IModelApp.localization;\r\n await MapLayersUI.localization.registerNamespace(\r\n MapLayersUI.localizationNamespace\r\n );\r\n\r\n MapLayersUI._iTwinConfig = config?.iTwinConfig;\r\n MapLayersUI._featureInfoOpts = config?.featureInfoOpts;\r\n MapLayersUI._mapLayerOptions = config?.mapLayerOptions;\r\n\r\n if (!config?.delayItemsProviderRegister)\r\n MapLayersUI.registerUiItemsProviders();\r\n }\r\n\r\n /** Registers the UiItemsProviders for MapLayers with optional overrides\r\n * This is useful for an app that wants to defer UiItemsProvider registration so that it\r\n * may limit the MapLayers widgets to a specific workflow\r\n * @beta\r\n */\r\n public static registerUiItemsProviders(config?: MapLayersUiProviderConfig) {\r\n const mlProvider = new MapLayersUiItemsProvider({ ...MapLayersUI._mapLayerOptions });\r\n const mlProviderId = config?.mapLayerProviderOverrides?.providerId ?? mlProvider.id;\r\n MapLayersUI._uiItemsProvidersId.push(mlProviderId);\r\n UiItemsManager.register(mlProvider, config?.mapLayerProviderOverrides);\r\n\r\n // Register the FeatureInfo widget only if MapHit was provided.\r\n if (MapLayersUI._featureInfoOpts?.onMapHit) {\r\n const fiProvider = new FeatureInfoUiItemsProvider({ ...MapLayersUI._featureInfoOpts });\r\n const fiProviderId = config?.featureInfoProviderOverrides?.providerId ?? fiProvider.id;\r\n MapLayersUI._uiItemsProvidersId.push(fiProviderId);\r\n UiItemsManager.register(mlProvider, config?.featureInfoProviderOverrides);\r\n }\r\n }\r\n\r\n /** Unregisters internationalization service namespace and UiItemManager */\r\n public static terminate() {\r\n IModelApp.localization.unregisterNamespace(MapLayersUI.localizationNamespace);\r\n\r\n MapLayersUI._uiItemsProvidersId.forEach((uiProviderId) => {\r\n UiItemsManager.unregister(uiProviderId);\r\n });\r\n }\r\n\r\n /** The internationalization service namespace. */\r\n public static get localizationNamespace(): string {\r\n return MapLayersUI._defaultNs;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"mapLayers.js","sourceRoot":"","sources":["../../src/mapLayers.ts"],"names":[],"mappings":";;;AAKA,wDAAwE;AACxE,4EAAyE;AACzE,0DAAgF;AAChF,gFAA6E;AAiB7E;;;;;GAKG;AACH,MAAa,WAAW;IAQf,MAAM,KAAK,WAAW;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,wCAAwC;IACjC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAwB;;QACrD,mEAAmE;QACnE,WAAW,CAAC,YAAY,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,yBAAS,CAAC,YAAY,CAAC;QAC1E,MAAM,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAC9C,WAAW,CAAC,qBAAqB,CAClC,CAAC;QAEF,WAAW,CAAC,YAAY,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAC;QAC/C,WAAW,CAAC,gBAAgB,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,CAAC;QACvD,WAAW,CAAC,gBAAgB,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,CAAC;QAEvD,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,0BAA0B,CAAA;YACrC,WAAW,CAAC,wBAAwB,EAAE,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,wBAAwB,CAAC,MAAkC;;QACvE,MAAM,UAAU,GAAG,IAAI,mDAAwB,CAAC,EAAE,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,yBAAyB,0CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;QACpF,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,+BAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,yBAAyB,CAAC,CAAC;QAEvE,+DAA+D;QAC/D,IAAI,MAAA,WAAW,CAAC,gBAAgB,0CAAE,QAAQ,EAAE;YAC1C,MAAM,UAAU,GAAG,IAAI,uDAA0B,CAAC,EAAE,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACvF,MAAM,YAAY,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,4BAA4B,0CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;YACvF,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnD,+BAAc,CAAC,QAAQ,CAAC,UAAU,EAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,4BAA4B,CAAC,CAAC;SAC5E;IACH,CAAC;IAED,4EAA4E;IACrE,MAAM,CAAC,SAAS;QACrB,yBAAS,CAAC,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAE9E,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACvD,+BAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAkD;IAC3C,MAAM,KAAK,qBAAqB;QACrC,OAAO,WAAW,CAAC,UAAU,CAAC;IAChC,CAAC;;AA5DH,kCA6DC;AA5DgB,sBAAU,GAAG,WAAW,CAAC;AAEzB,+BAAmB,GAAa,EAAE,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\nimport { Localization } from \"@itwin/core-common\";\r\nimport { IModelApp, UserPreferencesAccess } from \"@itwin/core-frontend\";\r\nimport { MapLayersUiItemsProvider } from \"./ui/MapLayersUiItemsProvider\";\r\nimport { UiItemProviderOverrides, UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { FeatureInfoUiItemsProvider } from \"./ui/FeatureInfoUiItemsProvider\";\r\nimport { MapFeatureInfoOptions, MapLayerOptions } from \"./ui/Interfaces\";\r\n\r\nexport interface MapLayersConfig {\r\n localization?: Localization;\r\n /** If an iTwinConfig is provided, it will be used to load the MapLayerSources that are stored. */\r\n iTwinConfig?: UserPreferencesAccess;\r\n mapLayerOptions?: MapLayerOptions;\r\n featureInfoOpts?: MapFeatureInfoOptions;\r\n delayItemsProviderRegister?: boolean;\r\n}\r\n/** Configuration for registering UiItemsProviders for the MapLayers package */\r\nexport interface MapLayersUiProviderConfig {\r\n mapLayerProviderOverrides?: UiItemProviderOverrides;\r\n featureInfoProviderOverrides?: UiItemProviderOverrides;\r\n}\r\n\r\n/** MapLayersUI is use when the package is used as a dependency to another app.\r\n * '''ts\r\n * await MapLayersUI.initialize({...MapLayersInitProps});\r\n * '''\r\n * @beta\r\n */\r\nexport class MapLayersUI {\r\n private static _defaultNs = \"mapLayers\";\r\n public static localization: Localization;\r\n private static _uiItemsProvidersId: string[] = [];\r\n private static _iTwinConfig?: UserPreferencesAccess;\r\n private static _featureInfoOpts?: MapFeatureInfoOptions;\r\n private static _mapLayerOptions?: MapLayerOptions;\r\n\r\n public static get iTwinConfig(): UserPreferencesAccess | undefined {\r\n return this._iTwinConfig;\r\n }\r\n\r\n /** Used to initialize the Map Layers */\r\n public static async initialize(config?: MapLayersConfig): Promise<void> {\r\n // register namespace containing localized strings for this package\r\n MapLayersUI.localization = config?.localization ?? IModelApp.localization;\r\n await MapLayersUI.localization.registerNamespace(\r\n MapLayersUI.localizationNamespace\r\n );\r\n\r\n MapLayersUI._iTwinConfig = config?.iTwinConfig;\r\n MapLayersUI._featureInfoOpts = config?.featureInfoOpts;\r\n MapLayersUI._mapLayerOptions = config?.mapLayerOptions;\r\n\r\n if (!config?.delayItemsProviderRegister)\r\n MapLayersUI.registerUiItemsProviders();\r\n }\r\n\r\n /** Registers the UiItemsProviders for MapLayers with optional overrides\r\n * This is useful for an app that wants to defer UiItemsProvider registration so that it\r\n * may limit the MapLayers widgets to a specific workflow\r\n * @beta\r\n */\r\n public static registerUiItemsProviders(config?: MapLayersUiProviderConfig) {\r\n const mlProvider = new MapLayersUiItemsProvider({ ...MapLayersUI._mapLayerOptions });\r\n const mlProviderId = config?.mapLayerProviderOverrides?.providerId ?? mlProvider.id;\r\n MapLayersUI._uiItemsProvidersId.push(mlProviderId);\r\n UiItemsManager.register(mlProvider, config?.mapLayerProviderOverrides);\r\n\r\n // Register the FeatureInfo widget only if MapHit was provided.\r\n if (MapLayersUI._featureInfoOpts?.onMapHit) {\r\n const fiProvider = new FeatureInfoUiItemsProvider({ ...MapLayersUI._featureInfoOpts });\r\n const fiProviderId = config?.featureInfoProviderOverrides?.providerId ?? fiProvider.id;\r\n MapLayersUI._uiItemsProvidersId.push(fiProviderId);\r\n UiItemsManager.register(fiProvider, config?.featureInfoProviderOverrides);\r\n }\r\n }\r\n\r\n /** Unregisters internationalization service namespace and UiItemManager */\r\n public static terminate() {\r\n IModelApp.localization.unregisterNamespace(MapLayersUI.localizationNamespace);\r\n\r\n MapLayersUI._uiItemsProvidersId.forEach((uiProviderId) => {\r\n UiItemsManager.unregister(uiProviderId);\r\n });\r\n }\r\n\r\n /** The internationalization service namespace. */\r\n public static get localizationNamespace(): string {\r\n return MapLayersUI._defaultNs;\r\n }\r\n}\r\n"]}
@@ -40,7 +40,7 @@ export class MapLayersUI {
40
40
  const fiProvider = new FeatureInfoUiItemsProvider({ ...MapLayersUI._featureInfoOpts });
41
41
  const fiProviderId = (_e = (_d = config === null || config === void 0 ? void 0 : config.featureInfoProviderOverrides) === null || _d === void 0 ? void 0 : _d.providerId) !== null && _e !== void 0 ? _e : fiProvider.id;
42
42
  MapLayersUI._uiItemsProvidersId.push(fiProviderId);
43
- UiItemsManager.register(mlProvider, config === null || config === void 0 ? void 0 : config.featureInfoProviderOverrides);
43
+ UiItemsManager.register(fiProvider, config === null || config === void 0 ? void 0 : config.featureInfoProviderOverrides);
44
44
  }
45
45
  }
46
46
  /** Unregisters internationalization service namespace and UiItemManager */
@@ -1 +1 @@
1
- {"version":3,"file":"mapLayers.js","sourceRoot":"","sources":["../../src/mapLayers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAyB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAA2B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAiB7E;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAQf,MAAM,KAAK,WAAW;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,wCAAwC;IACjC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAwB;;QACrD,mEAAmE;QACnE,WAAW,CAAC,YAAY,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,SAAS,CAAC,YAAY,CAAC;QAC1E,MAAM,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAC9C,WAAW,CAAC,qBAAqB,CAClC,CAAC;QAEF,WAAW,CAAC,YAAY,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAC;QAC/C,WAAW,CAAC,gBAAgB,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,CAAC;QACvD,WAAW,CAAC,gBAAgB,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,CAAC;QAEvD,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,0BAA0B,CAAA;YACrC,WAAW,CAAC,wBAAwB,EAAE,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,wBAAwB,CAAC,MAAkC;;QACvE,MAAM,UAAU,GAAG,IAAI,wBAAwB,CAAC,EAAE,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,yBAAyB,0CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;QACpF,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,yBAAyB,CAAC,CAAC;QAEvE,+DAA+D;QAC/D,IAAI,MAAA,WAAW,CAAC,gBAAgB,0CAAE,QAAQ,EAAE;YAC1C,MAAM,UAAU,GAAG,IAAI,0BAA0B,CAAC,EAAE,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACvF,MAAM,YAAY,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,4BAA4B,0CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;YACvF,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnD,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,4BAA4B,CAAC,CAAC;SAC5E;IACH,CAAC;IAED,4EAA4E;IACrE,MAAM,CAAC,SAAS;QACrB,SAAS,CAAC,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAE9E,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACvD,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAkD;IAC3C,MAAM,KAAK,qBAAqB;QACrC,OAAO,WAAW,CAAC,UAAU,CAAC;IAChC,CAAC;;AA3Dc,sBAAU,GAAG,WAAW,CAAC;AAEzB,+BAAmB,GAAa,EAAE,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\nimport { Localization } from \"@itwin/core-common\";\r\nimport { IModelApp, UserPreferencesAccess } from \"@itwin/core-frontend\";\r\nimport { MapLayersUiItemsProvider } from \"./ui/MapLayersUiItemsProvider\";\r\nimport { UiItemProviderOverrides, UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { FeatureInfoUiItemsProvider } from \"./ui/FeatureInfoUiItemsProvider\";\r\nimport { MapFeatureInfoOptions, MapLayerOptions } from \"./ui/Interfaces\";\r\n\r\nexport interface MapLayersConfig {\r\n localization?: Localization;\r\n /** If an iTwinConfig is provided, it will be used to load the MapLayerSources that are stored. */\r\n iTwinConfig?: UserPreferencesAccess;\r\n mapLayerOptions?: MapLayerOptions;\r\n featureInfoOpts?: MapFeatureInfoOptions;\r\n delayItemsProviderRegister?: boolean;\r\n}\r\n/** Configuration for registering UiItemsProviders for the MapLayers package */\r\nexport interface MapLayersUiProviderConfig {\r\n mapLayerProviderOverrides?: UiItemProviderOverrides;\r\n featureInfoProviderOverrides?: UiItemProviderOverrides;\r\n}\r\n\r\n/** MapLayersUI is use when the package is used as a dependency to another app.\r\n * '''ts\r\n * await MapLayersUI.initialize({...MapLayersInitProps});\r\n * '''\r\n * @beta\r\n */\r\nexport class MapLayersUI {\r\n private static _defaultNs = \"mapLayers\";\r\n public static localization: Localization;\r\n private static _uiItemsProvidersId: string[] = [];\r\n private static _iTwinConfig?: UserPreferencesAccess;\r\n private static _featureInfoOpts?: MapFeatureInfoOptions;\r\n private static _mapLayerOptions?: MapLayerOptions;\r\n\r\n public static get iTwinConfig(): UserPreferencesAccess | undefined {\r\n return this._iTwinConfig;\r\n }\r\n\r\n /** Used to initialize the Map Layers */\r\n public static async initialize(config?: MapLayersConfig): Promise<void> {\r\n // register namespace containing localized strings for this package\r\n MapLayersUI.localization = config?.localization ?? IModelApp.localization;\r\n await MapLayersUI.localization.registerNamespace(\r\n MapLayersUI.localizationNamespace\r\n );\r\n\r\n MapLayersUI._iTwinConfig = config?.iTwinConfig;\r\n MapLayersUI._featureInfoOpts = config?.featureInfoOpts;\r\n MapLayersUI._mapLayerOptions = config?.mapLayerOptions;\r\n\r\n if (!config?.delayItemsProviderRegister)\r\n MapLayersUI.registerUiItemsProviders();\r\n }\r\n\r\n /** Registers the UiItemsProviders for MapLayers with optional overrides\r\n * This is useful for an app that wants to defer UiItemsProvider registration so that it\r\n * may limit the MapLayers widgets to a specific workflow\r\n * @beta\r\n */\r\n public static registerUiItemsProviders(config?: MapLayersUiProviderConfig) {\r\n const mlProvider = new MapLayersUiItemsProvider({ ...MapLayersUI._mapLayerOptions });\r\n const mlProviderId = config?.mapLayerProviderOverrides?.providerId ?? mlProvider.id;\r\n MapLayersUI._uiItemsProvidersId.push(mlProviderId);\r\n UiItemsManager.register(mlProvider, config?.mapLayerProviderOverrides);\r\n\r\n // Register the FeatureInfo widget only if MapHit was provided.\r\n if (MapLayersUI._featureInfoOpts?.onMapHit) {\r\n const fiProvider = new FeatureInfoUiItemsProvider({ ...MapLayersUI._featureInfoOpts });\r\n const fiProviderId = config?.featureInfoProviderOverrides?.providerId ?? fiProvider.id;\r\n MapLayersUI._uiItemsProvidersId.push(fiProviderId);\r\n UiItemsManager.register(mlProvider, config?.featureInfoProviderOverrides);\r\n }\r\n }\r\n\r\n /** Unregisters internationalization service namespace and UiItemManager */\r\n public static terminate() {\r\n IModelApp.localization.unregisterNamespace(MapLayersUI.localizationNamespace);\r\n\r\n MapLayersUI._uiItemsProvidersId.forEach((uiProviderId) => {\r\n UiItemsManager.unregister(uiProviderId);\r\n });\r\n }\r\n\r\n /** The internationalization service namespace. */\r\n public static get localizationNamespace(): string {\r\n return MapLayersUI._defaultNs;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"mapLayers.js","sourceRoot":"","sources":["../../src/mapLayers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAyB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAA2B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAiB7E;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAQf,MAAM,KAAK,WAAW;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,wCAAwC;IACjC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAwB;;QACrD,mEAAmE;QACnE,WAAW,CAAC,YAAY,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,SAAS,CAAC,YAAY,CAAC;QAC1E,MAAM,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAC9C,WAAW,CAAC,qBAAqB,CAClC,CAAC;QAEF,WAAW,CAAC,YAAY,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAC;QAC/C,WAAW,CAAC,gBAAgB,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,CAAC;QACvD,WAAW,CAAC,gBAAgB,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,CAAC;QAEvD,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,0BAA0B,CAAA;YACrC,WAAW,CAAC,wBAAwB,EAAE,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,wBAAwB,CAAC,MAAkC;;QACvE,MAAM,UAAU,GAAG,IAAI,wBAAwB,CAAC,EAAE,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,yBAAyB,0CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;QACpF,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,yBAAyB,CAAC,CAAC;QAEvE,+DAA+D;QAC/D,IAAI,MAAA,WAAW,CAAC,gBAAgB,0CAAE,QAAQ,EAAE;YAC1C,MAAM,UAAU,GAAG,IAAI,0BAA0B,CAAC,EAAE,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACvF,MAAM,YAAY,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,4BAA4B,0CAAE,UAAU,mCAAI,UAAU,CAAC,EAAE,CAAC;YACvF,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnD,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,4BAA4B,CAAC,CAAC;SAC5E;IACH,CAAC;IAED,4EAA4E;IACrE,MAAM,CAAC,SAAS;QACrB,SAAS,CAAC,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAE9E,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACvD,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAkD;IAC3C,MAAM,KAAK,qBAAqB;QACrC,OAAO,WAAW,CAAC,UAAU,CAAC;IAChC,CAAC;;AA3Dc,sBAAU,GAAG,WAAW,CAAC;AAEzB,+BAAmB,GAAa,EAAE,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\nimport { Localization } from \"@itwin/core-common\";\r\nimport { IModelApp, UserPreferencesAccess } from \"@itwin/core-frontend\";\r\nimport { MapLayersUiItemsProvider } from \"./ui/MapLayersUiItemsProvider\";\r\nimport { UiItemProviderOverrides, UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { FeatureInfoUiItemsProvider } from \"./ui/FeatureInfoUiItemsProvider\";\r\nimport { MapFeatureInfoOptions, MapLayerOptions } from \"./ui/Interfaces\";\r\n\r\nexport interface MapLayersConfig {\r\n localization?: Localization;\r\n /** If an iTwinConfig is provided, it will be used to load the MapLayerSources that are stored. */\r\n iTwinConfig?: UserPreferencesAccess;\r\n mapLayerOptions?: MapLayerOptions;\r\n featureInfoOpts?: MapFeatureInfoOptions;\r\n delayItemsProviderRegister?: boolean;\r\n}\r\n/** Configuration for registering UiItemsProviders for the MapLayers package */\r\nexport interface MapLayersUiProviderConfig {\r\n mapLayerProviderOverrides?: UiItemProviderOverrides;\r\n featureInfoProviderOverrides?: UiItemProviderOverrides;\r\n}\r\n\r\n/** MapLayersUI is use when the package is used as a dependency to another app.\r\n * '''ts\r\n * await MapLayersUI.initialize({...MapLayersInitProps});\r\n * '''\r\n * @beta\r\n */\r\nexport class MapLayersUI {\r\n private static _defaultNs = \"mapLayers\";\r\n public static localization: Localization;\r\n private static _uiItemsProvidersId: string[] = [];\r\n private static _iTwinConfig?: UserPreferencesAccess;\r\n private static _featureInfoOpts?: MapFeatureInfoOptions;\r\n private static _mapLayerOptions?: MapLayerOptions;\r\n\r\n public static get iTwinConfig(): UserPreferencesAccess | undefined {\r\n return this._iTwinConfig;\r\n }\r\n\r\n /** Used to initialize the Map Layers */\r\n public static async initialize(config?: MapLayersConfig): Promise<void> {\r\n // register namespace containing localized strings for this package\r\n MapLayersUI.localization = config?.localization ?? IModelApp.localization;\r\n await MapLayersUI.localization.registerNamespace(\r\n MapLayersUI.localizationNamespace\r\n );\r\n\r\n MapLayersUI._iTwinConfig = config?.iTwinConfig;\r\n MapLayersUI._featureInfoOpts = config?.featureInfoOpts;\r\n MapLayersUI._mapLayerOptions = config?.mapLayerOptions;\r\n\r\n if (!config?.delayItemsProviderRegister)\r\n MapLayersUI.registerUiItemsProviders();\r\n }\r\n\r\n /** Registers the UiItemsProviders for MapLayers with optional overrides\r\n * This is useful for an app that wants to defer UiItemsProvider registration so that it\r\n * may limit the MapLayers widgets to a specific workflow\r\n * @beta\r\n */\r\n public static registerUiItemsProviders(config?: MapLayersUiProviderConfig) {\r\n const mlProvider = new MapLayersUiItemsProvider({ ...MapLayersUI._mapLayerOptions });\r\n const mlProviderId = config?.mapLayerProviderOverrides?.providerId ?? mlProvider.id;\r\n MapLayersUI._uiItemsProvidersId.push(mlProviderId);\r\n UiItemsManager.register(mlProvider, config?.mapLayerProviderOverrides);\r\n\r\n // Register the FeatureInfo widget only if MapHit was provided.\r\n if (MapLayersUI._featureInfoOpts?.onMapHit) {\r\n const fiProvider = new FeatureInfoUiItemsProvider({ ...MapLayersUI._featureInfoOpts });\r\n const fiProviderId = config?.featureInfoProviderOverrides?.providerId ?? fiProvider.id;\r\n MapLayersUI._uiItemsProvidersId.push(fiProviderId);\r\n UiItemsManager.register(fiProvider, config?.featureInfoProviderOverrides);\r\n }\r\n }\r\n\r\n /** Unregisters internationalization service namespace and UiItemManager */\r\n public static terminate() {\r\n IModelApp.localization.unregisterNamespace(MapLayersUI.localizationNamespace);\r\n\r\n MapLayersUI._uiItemsProvidersId.forEach((uiProviderId) => {\r\n UiItemsManager.unregister(uiProviderId);\r\n });\r\n }\r\n\r\n /** The internationalization service namespace. */\r\n public static get localizationNamespace(): string {\r\n return MapLayersUI._defaultNs;\r\n }\r\n}\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/map-layers",
3
- "version": "3.3.0-dev.65",
3
+ "version": "3.3.0-dev.68",
4
4
  "description": "Extension that adds a Map Layers Widget",
5
5
  "main": "lib/cjs/map-layers.js",
6
6
  "module": "lib/esm/map-layers.js",
@@ -21,22 +21,22 @@
21
21
  "url": "http://www.bentley.com"
22
22
  },
23
23
  "devDependencies": {
24
- "@itwin/appui-abstract": "3.3.0-dev.65",
25
- "@itwin/appui-layout-react": "3.3.0-dev.65",
26
- "@itwin/appui-react": "3.3.0-dev.65",
27
- "@itwin/build-tools": "3.3.0-dev.65",
28
- "@itwin/components-react": "3.3.0-dev.65",
29
- "@itwin/core-bentley": "3.3.0-dev.65",
30
- "@itwin/core-common": "3.3.0-dev.65",
31
- "@itwin/core-frontend": "3.3.0-dev.65",
32
- "@itwin/core-geometry": "3.3.0-dev.65",
33
- "@itwin/core-quantity": "3.3.0-dev.65",
34
- "@itwin/core-react": "3.3.0-dev.65",
35
- "@itwin/eslint-plugin": "3.3.0-dev.65",
36
- "@itwin/imodel-components-react": "3.3.0-dev.65",
24
+ "@itwin/appui-abstract": "3.3.0-dev.68",
25
+ "@itwin/appui-layout-react": "3.3.0-dev.68",
26
+ "@itwin/appui-react": "3.3.0-dev.68",
27
+ "@itwin/build-tools": "3.3.0-dev.68",
28
+ "@itwin/components-react": "3.3.0-dev.68",
29
+ "@itwin/core-bentley": "3.3.0-dev.68",
30
+ "@itwin/core-common": "3.3.0-dev.68",
31
+ "@itwin/core-frontend": "3.3.0-dev.68",
32
+ "@itwin/core-geometry": "3.3.0-dev.68",
33
+ "@itwin/core-quantity": "3.3.0-dev.68",
34
+ "@itwin/core-react": "3.3.0-dev.68",
35
+ "@itwin/eslint-plugin": "3.3.0-dev.68",
36
+ "@itwin/imodel-components-react": "3.3.0-dev.68",
37
37
  "@itwin/itwinui-css": "0.x",
38
38
  "@itwin/itwinui-react": "^1.38.1",
39
- "@itwin/presentation-common": "3.3.0-dev.65",
39
+ "@itwin/presentation-common": "3.3.0-dev.68",
40
40
  "@testing-library/react": "^12.0.0",
41
41
  "@testing-library/react-hooks": "^7.0.2",
42
42
  "@types/chai": "4.3.1",
@@ -73,17 +73,17 @@
73
73
  "react-beautiful-dnd": "^13.0.0"
74
74
  },
75
75
  "peerDependencies": {
76
- "@itwin/core-bentley": "^3.3.0-dev.65",
77
- "@itwin/core-geometry": "^3.3.0-dev.65",
78
- "@itwin/core-common": "^3.3.0-dev.65",
79
- "@itwin/core-frontend": "^3.3.0-dev.65",
80
- "@itwin/core-quantity": "^3.3.0-dev.65",
81
- "@itwin/appui-abstract": "^3.3.0-dev.65",
82
- "@itwin/components-react": "^3.3.0-dev.65",
83
- "@itwin/core-react": "^3.3.0-dev.65",
84
- "@itwin/appui-react": "^3.3.0-dev.65",
85
- "@itwin/imodel-components-react": "^3.3.0-dev.65",
86
- "@itwin/appui-layout-react": "^3.3.0-dev.65",
76
+ "@itwin/core-bentley": "^3.3.0-dev.68",
77
+ "@itwin/core-geometry": "^3.3.0-dev.68",
78
+ "@itwin/core-common": "^3.3.0-dev.68",
79
+ "@itwin/core-frontend": "^3.3.0-dev.68",
80
+ "@itwin/core-quantity": "^3.3.0-dev.68",
81
+ "@itwin/appui-abstract": "^3.3.0-dev.68",
82
+ "@itwin/components-react": "^3.3.0-dev.68",
83
+ "@itwin/core-react": "^3.3.0-dev.68",
84
+ "@itwin/appui-react": "^3.3.0-dev.68",
85
+ "@itwin/imodel-components-react": "^3.3.0-dev.68",
86
+ "@itwin/appui-layout-react": "^3.3.0-dev.68",
87
87
  "react": "^17.0.0",
88
88
  "react-dom": "^17.0.0"
89
89
  },