403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/location/osm/src/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/location/osm/src/osmfactory.js
import {LocationRepository, SourceRepository} from 'location.core';
import {Leaflet} from '../leaflet/src/leaflet';
import OSM from './osm';
import AutocompleteService from './autocompleteservice';
import SearchRequester from './requesters/searchrequester';
import GeocodingService from './geocodingservice';
import ReverseRequester from './requesters/reverserequester';
import MapService from './mapservice';
import MapMobileService from './mapmobileservice';
import TileLayerAuth from '../leaflet/src/tilelayerauth';
import TokenContainer from './tokencontainer';
import NominatimResponseConverter from './responseconverters/nominatimresponseconverter';
import AutocompleteResponseConverter from './responseconverters/autocompleteresponseconverter';

export type OSMFactoryProps = {
	languageId: string,
	sourceLanguageId: string,
	token: string,
	serviceUrl: string,
	mapServiceUrl: string,
	hostName: string,
	autocompletePromptsCount: ?number
}

export default class OSMFactory
{
	static createOSMSource(params: OSMFactoryProps)
	{
		const tokenContainer = new TokenContainer({
			token: params.token,
			sourceRepository: new SourceRepository()
		});

		const osmParams =	{
			languageId: params.languageId,
			sourceLanguageId: params.sourceLanguageId
		};

		const responseConverter = new NominatimResponseConverter({languageId: params.languageId});

		const searchRequester = new SearchRequester({
			languageId: params.languageId,
			sourceLanguageId: params.sourceLanguageId,
			tokenContainer: tokenContainer,
			serviceUrl: params.serviceUrl,
			hostName: params.hostName,
			responseConverter: responseConverter
		});

		const reverseRequester = new ReverseRequester({
			languageId: params.languageId,
			sourceLanguageId: params.sourceLanguageId,
			serviceUrl: params.serviceUrl,
			hostName: params.hostName,
			tokenContainer: tokenContainer,
			responseConverter: responseConverter
		});

		const autocompleteResponseConverter = new AutocompleteResponseConverter({languageId: params.languageId});

		osmParams.autocompleteService = new AutocompleteService({
			languageId: params.languageId,
			autocompletePromptsCount: params.autocompletePromptsCount || 7,
			sourceLanguageId: params.sourceLanguageId,
			responseConverter: autocompleteResponseConverter,
			autocompleteReplacements: params.autocompleteReplacements
		});

		const geocodingService = new GeocodingService({
			searchRequester: searchRequester,
			reverseRequester: reverseRequester
		});

		osmParams.geocodingService = geocodingService;

		osmParams.mapService = new MapService({
			languageId: params.languageId,
			geocodingService: geocodingService,
			mapFactoryMethod: Leaflet.map,
			markerFactoryMethod: Leaflet.marker,
			locationRepository: new LocationRepository(),
			sourceLanguageId: params.sourceLanguageId,
			tileLayerFactoryMethod: () => {
				const tileLayerAuth = new TileLayerAuth();
				tileLayerAuth.setTokenContainer(tokenContainer);
				tileLayerAuth.setHostName(params.hostName);
				return tileLayerAuth;
			},
			serviceUrl: params.serviceUrl,
			mapServiceUrl: params.mapServiceUrl,
		});

		osmParams.mapMobileService = new MapMobileService({
			languageId: params.languageId,
			geocodingService: geocodingService,
			mapFactoryMethod: Leaflet.map,
			markerFactoryMethod: Leaflet.marker,
			iconFactoryMethod: Leaflet.icon,
			locationRepository: new LocationRepository(),
			sourceLanguageId: params.sourceLanguageId,
			tileLayerFactoryMethod: () => {
				const tileLayerAuth = new TileLayerAuth();
				tileLayerAuth.setTokenContainer(tokenContainer);
				tileLayerAuth.setHostName(params.hostName);
				return tileLayerAuth;
			},
			serviceUrl: params.serviceUrl,
			mapServiceUrl: params.mapServiceUrl,
		});

		return new OSM(osmParams);
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit