"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContentImageTemplateProvider = void 0;
const helper_1 = require("../../helper");
const extension_provider_1 = require("../../integration/extension.provider");
const web_site_provider_1 = require("../web-site/web-site.provider");
const content_generic_template_provider_1 = require("./../content-generic-template/content-generic-template.provider");
const content_image_provider_1 = require("./../content-image/content-image.provider");
const web_site_const_1 = require("./../web-site/web-site.const");
const content_image_template_const_1 = require("./content-image-template.const");
const content_image_template_service_1 = require("./content-image-template.service");
class ContentImageTemplateProvider extends extension_provider_1.ExtensionProvider {
    constructor(app) {
        super(content_image_template_const_1.CONTENT_IMAGE_TEMPLATE_PROVIDER, app);
        this.app = app;
        this.requiredProviders.push(content_image_provider_1.ContentImageProvider, content_generic_template_provider_1.ContentGenericTemplateProvider, web_site_provider_1.WebSiteProvider);
        this.services.push({ cls: content_image_template_service_1.ContentImageTemplateService });
        this.objectTypes.push(content_image_template_const_1.IMAGE_GALLERY_TEMPLATE_TYPE, content_image_template_const_1.GALLERY_PARAGRAPH_TYPE, content_image_template_const_1.GALLERY_TEXT_PARAGRAPH_TYPE, content_image_template_const_1.PAGE_WITH_GALLERY_TYPE, content_image_template_const_1.PAGE_WITH_GALLERY_PARAGRAPH_TYPE, content_image_template_const_1.PAGE_WITH_GALLERY_TEXT_PARAGRAPH_TYPE, content_image_template_const_1.WEB_SITE_VIEW_WITH_IMAGE_IN_POPUP);
        this.objectSubTypes.push(content_image_template_const_1.CATEGORY_IMAGE_GALLERY_TEMPLATE_SUBTYPE, content_image_template_const_1.PAGE_WITH_GALLERY_PARAGRAPH_GALLERY_PARAGRAPH_SUBTYPE, content_image_template_const_1.PAGE_WITH_GALLERY_TEXT_PARAGRAPH_GALLERY_TEXT_PARAGRAPH_SUBTYPE, content_image_template_const_1.PARAGRAPH_CONTAINER_GALLERY_TEXT_PARAGRAPH_SUBTYPE);
        this.objectTrees.carousel = {
            reset: false,
            parentNode: () => this.appCtx.publicTemplatesNode.value,
            treeNodeName: 'carousel',
            treeNodeTypeId: content_image_template_const_1.IMAGE_GALLERY_TEMPLATE_TYPE.name,
            tree: {
                treeNode: {
                    contentGenericTemplate: helper_1.contentGenericTemplate(__dirname, 'carousel'),
                },
                children: {},
            },
        };
        this.objectTrees.thumbs = {
            reset: false,
            parentNode: () => this.appCtx.publicTemplatesNode.value,
            treeNodeName: 'thumbs',
            treeNodeTypeId: content_image_template_const_1.IMAGE_GALLERY_TEMPLATE_TYPE.name,
            tree: {
                treeNode: {
                    contentGenericTemplate: helper_1.contentGenericTemplate(__dirname, 'thumbs'),
                },
                children: {},
            },
        };
        this.objectTrees.pageCardTextAndImages = {
            reset: false,
            parentNode: () => this.appCtx.publicTemplatesNode.value,
            treeNodeName: 'cardTextAndImages',
            treeNodeTypeId: web_site_const_1.PARAGRAPH_TEMPLATE_TYPE.name,
            tree: {
                treeNode: {
                    contentGenericTemplate: helper_1.contentGenericTemplate(__dirname, 'cardTextAndImages', ['card', 'cardImg']),
                },
                children: {},
            },
        };
    }
}
exports.ContentImageTemplateProvider = ContentImageTemplateProvider;
//# sourceMappingURL=content-image-template.provider.js.map