Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/js/catalog/document-card/src/
Upload File :
Current File : /var/www/homesaver/www/bitrix/js/catalog/document-card/src/controllers-factory.js

import {type BaseEvent, EventEmitter} from 'main.core.events';
import ProductListController from "./product-list/controller";
import DocumentCardController from "./card/controller";

export default class ControllersFactory
{
	constructor(eventName)
	{
		EventEmitter.subscribe(eventName, (event: BaseEvent) => {
			const [, eventArgs] = event.getCompatData();
			eventArgs.methods['entityCard'] = this.factory.bind(this);
		});
	}

	factory(type, controlId, settings)
	{
		if (type === 'document_card')
		{
			return new DocumentCardController(controlId, settings);
		}

		if (type === 'catalog_store_document_product_list')
		{
			return new ProductListController(controlId, settings);
		}

		return null;
	}
}