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/landing/provider/map/src/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/landing/provider/map/src/map.js
import {Type} from 'main.core';
import {BaseProvider} from './base_provider';
import {GoogleMap} from './google_map';
import {YandexMap} from './yandex_map';

import 'ui.fonts.opensans';
import './css/style.css'


export class Map
{
	static +PROVIDERS = {
		google: GoogleMap,
		yandex: YandexMap,
	};
	static +DEFAULT_PROVIDER = 'google';
	static +DATA_ATTRIBUTE = 'mapProvider';

	/**
	 * If API not loaded already - create schedule
	 * @type {{}}
	 */
	static scheduled = {};

	constructor()
	{
	}

	/**
	 * Create map provider for current node
	 * @param node
	 * @param options
	 * @return {*}
	 */
	static create(node: HTMLElement, options: {}): BaseProvider
	{
		// handler for load api
		options.onApiLoaded = Map.onApiLoaded;

		// get provider code
		let providerCode = node.dataset[Map.DATA_ATTRIBUTE];
		if (
			!providerCode
			|| Object.keys(Map.PROVIDERS).indexOf(providerCode) === -1
		)
		{
			providerCode = Map.DEFAULT_PROVIDER;
		}

		// init or set to schedule
		const provider = new (Map.PROVIDERS[providerCode])(options);
		if (provider.isApiLoaded())
		{
			provider.init();
		}
		else
		{
			if (!Type.isArray(Map.scheduled[provider.getCode()]))
			{
				Map.scheduled[provider.getCode()] = [];
			}

			Map.scheduled[provider.getCode()].push(provider);
		}

		return provider;
	}

	static onApiLoaded(providerCode: string)
	{
		if (Type.isArray(Map.scheduled[providerCode]))
		{
			Map.scheduled[providerCode].forEach(provider =>
			{
				provider.init();
			});
		}
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit