UNPKG

cocori-ng

Version:

Cocori-ng is an Angular full of great components & utilites based on Material

75 lines 12.7 kB
import { Injectable } from '@angular/core'; import { BehaviorSubject, Subject } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "cocori-ng/src/feature-core"; import * as i2 from "./adapter-page-cms.service"; export class CmsService { constructor(helperService, adapterPageCmsService) { this.helperService = helperService; this.adapterPageCmsService = adapterPageCmsService; this.sectionAdded$ = new Subject(); this.catalogBlocksOpened$ = new BehaviorSubject(false); this.backgroundColor$ = new Subject(); this.moveSection$ = new Subject(); this.onSaveCmsContent$ = new Subject(); this.sectionRemoved$ = new Subject(); this.sections = []; this.init(); } init() { this.sections.splice(0, this.sections.length); } onSectionRemoved() { return this.sectionRemoved$; } sectionsPageDatas() { return this.adapterPageCmsService.adapterCommand(this.sections); } addSection(newSection) { this.sections.push(newSection); this.sectionAdded$.next({ section: newSection }); } getIndexCurrentSection(sectionId) { return this.sections.findIndex((section) => section.id === sectionId); } removeSection(sectionId) { const index = this.sections.findIndex((section) => section.id === sectionId); const sectionRemoved = this.sections.splice(index, 1); this.sectionRemoved$.next({ index: index, section: sectionRemoved[0] }); } duplicateSection(section) { const index = this.sections.findIndex((s) => s.id === section.id); const newIndex = index + 1; const sectionToDuplicate = this.sections[index]; const sectionDuplicated = JSON.parse(JSON.stringify(sectionToDuplicate)); sectionDuplicated.key = sectionToDuplicate.key; sectionDuplicated.id = this.helperService.generateGuid(); this.sections.splice(newIndex, 0, sectionDuplicated); this.sectionAdded$.next({ section: sectionDuplicated, index: newIndex }); } changeBackgroundColorSection(idSection, value) { const section = this.sections.find((s) => s.id === idSection); section.backgroundColor = value; this.backgroundColor$.next(idSection); } moveSection(idSection, orientation) { const previousIndex = this.sections.findIndex((s) => s.id === idSection); let currentIndex = previousIndex; if (orientation === 'move-up' && previousIndex > 0) { currentIndex = previousIndex - 1; } else if (orientation === 'move-down' && previousIndex < this.sections.length - 1) { currentIndex = previousIndex + 1; } this.moveSection$.next({ previousIndex: previousIndex, currentIndex: currentIndex }); } } CmsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CmsService, deps: [{ token: i1.HelperService }, { token: i2.AdapterPageCmsService }], target: i0.ɵɵFactoryTarget.Injectable }); CmsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CmsService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CmsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i1.HelperService }, { type: i2.AdapterPageCmsService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2Nvcmktbmcvc3JjL2ZlYXR1cmUtY21zL2NvcmUvc2VydmljZS9jbXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBY2hELE1BQU0sT0FBTyxVQUFVO0lBVXJCLFlBQ1UsYUFBNEIsRUFDNUIscUJBQTRDO1FBRDVDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFYL0Msa0JBQWEsR0FBNkIsSUFBSSxPQUFPLEVBQW1CLENBQUM7UUFDekUseUJBQW9CLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3JGLHFCQUFnQixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQzFELGlCQUFZLEdBQWdDLElBQUksT0FBTyxFQUFzQixDQUFDO1FBQzlFLHNCQUFpQixHQUFtQyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztRQUN4RixvQkFBZSxHQUE2QixJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQUU1RSxhQUFRLEdBQW1CLEVBQUUsQ0FBQTtRQUtsQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDYixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFBO0lBQzdCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFD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VyxLQUFLLFdBQVcsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xGLFlBQVksR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFBO1NBQ2pDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFBO0lBQ3RGLENBQUM7O3VHQWxGVSxVQUFVOzJHQUFWLFVBQVUsY0FGVCxNQUFNOzJGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnY29jb3JpLW5nL3NyYy9mZWF0dXJlLWNvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgSW5zZXJ0U2VjdGlvbkF0LFxyXG4gIE1vdmVPcmllbnRhdGlvblNlY3Rpb25BY3Rpb25zLFxyXG4gIFNlY3Rpb25Nb2RlbCxcclxuICBTZWN0aW9uTW9kZWxDb21tYW5kLFxyXG4gIFNlY3Rpb25Nb3ZlSW5kZXhlcyxcclxufSBmcm9tICcuLi9tb2RlbC9jbXMubW9kZWwnO1xyXG5pbXBvcnQgeyBBZGFwdGVyUGFnZUNtc1NlcnZpY2UgfSBmcm9tICcuL2FkYXB0ZXItcGFnZS1jbXMuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbXNTZXJ2aWNlIHtcclxuICBwdWJsaWMgc2VjdGlvbkFkZGVkJDogU3ViamVjdDxJbnNlcnRTZWN0aW9uQXQ+ID0gbmV3IFN1YmplY3Q8SW5zZXJ0U2VjdGlvbkF0PigpO1xyXG4gIHB1YmxpYyBjYXRhbG9nQmxvY2tzT3BlbmVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHVibGljIGJhY2tncm91bmRDb2xvciQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICBwdWJsaWMgbW92ZVNlY3Rpb24kOiBTdWJqZWN0PFNlY3Rpb25Nb3ZlSW5kZXhlcz4gPSBuZXcgU3ViamVjdDxTZWN0aW9uTW92ZUluZGV4ZXM+KCk7XHJcbiAgcHVibGljIG9uU2F2ZUNtc0NvbnRlbnQkOiBTdWJqZWN0PFNlY3Rpb25Nb2RlbENvbW1hbmRbXT4gPSBuZXcgU3ViamVjdDxTZWN0aW9uTW9kZWxDb21tYW5kW10+KCk7XHJcbiAgcHJpdmF0ZSBzZWN0aW9uUmVtb3ZlZCQ6IFN1YmplY3Q8SW5zZXJ0U2VjdGlvbkF0PiA9IG5ldyBTdWJqZWN0PEluc2VydFNlY3Rpb25BdD4oKTtcclxuXHJcbiAgcHVibGljIHNlY3Rpb25zOiBTZWN0aW9uTW9kZWxbXSA9IFtdXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBoZWxwZXJTZXJ2aWNlOiBIZWxwZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhZGFwdGVyUGFnZUNtc1NlcnZpY2U6IEFkYXB0ZXJQYWdlQ21zU2VydmljZSkge1xyXG4gICAgdGhpcy5pbml0KClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0KCkge1xyXG4gICAgdGhpcy5zZWN0aW9ucy5zcGxpY2UoMCwgdGhpcy5zZWN0aW9ucy5sZW5ndGgpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TZWN0aW9uUmVtb3ZlZCgpOiBTdWJqZWN0PEluc2VydFNlY3Rpb25BdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvblJlbW92ZWQkXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VjdGlvbnNQYWdlRGF0YXMoKTogU2VjdGlvbk1vZGVsQ29tbWFuZFtdIHtcclxuICAgIHJldHVybiB0aGlzLmFkYXB0ZXJQYWdlQ21zU2VydmljZS5hZGFwdGVyQ29tbWFuZCh0aGlzLnNlY3Rpb25zKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZFNlY3Rpb24obmV3U2VjdGlvbjogU2VjdGlvbk1vZGVsKSB7XHJcbiAgICB0aGlzLnNlY3Rpb25zLnB1c2gobmV3U2VjdGlvbilcclxuXHJcbiAgICB0aGlzLnNlY3Rpb25BZGRlZCQubmV4dCh7IHNlY3Rpb246IG5ld1NlY3Rpb24gfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJbmRleEN1cnJlbnRTZWN0aW9uKHNlY3Rpb25JZDogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnNlY3Rpb25zLmZpbmRJbmRleCgoc2VjdGlvbjogU2VjdGlvbk1vZGVsKSA9PiBzZWN0aW9uLmlkID09PSBzZWN0aW9uSWQpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlU2VjdGlvbihzZWN0aW9uSWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuc2VjdGlvbnMuZmluZEluZGV4KChzZWN0aW9uOiBTZWN0aW9uTW9kZWwpID0+IHNlY3Rpb24uaWQgPT09IHNlY3Rpb25JZClcclxuXHJcbiAgICBjb25zdCBzZWN0aW9uUmVtb3ZlZDogU2VjdGlvbk1vZGVsW10gPSB0aGlzLnNlY3Rpb25zLnNwbGljZShpbmRleCwgMSlcclxuXHJcbiAgICB0aGlzLnNlY3Rpb25SZW1vdmVkJC5uZXh0KDxJbnNlcnRTZWN0aW9uQXQ+eyBpbmRleDogaW5kZXgsIHNlY3Rpb246IHNlY3Rpb25SZW1vdmVkWzBdIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHVwbGljYXRlU2VjdGlvbihzZWN0aW9uOiBTZWN0aW9uTW9kZWwpIHtcclxuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLnNlY3Rpb25zLmZpbmRJbmRleCgoczogU2VjdGlvbk1vZGVsKSA9PiBzLmlkID09PSBzZWN0aW9uLmlkKVxyXG5cclxuICAgIGNvbnN0IG5ld0luZGV4OiBudW1iZXIgPSBpbmRleCArIDFcclxuXHJcbiAgICBjb25zdCBzZWN0aW9uVG9EdXBsaWNhdGU6IFNlY3Rpb25Nb2RlbCA9IHRoaXMuc2VjdGlvbnNbaW5kZXhdXHJcblxyXG4gICAgY29uc3Qgc2VjdGlvbkR1cGxpY2F0ZWQ6IFNlY3Rpb25Nb2RlbCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc2VjdGlvblRvRHVwbGljYXRlKSk7XHJcblxyXG4gICAgc2VjdGlvbkR1cGxpY2F0ZWQua2V5ID0gc2VjdGlvblRvRHVwbGljYXRlLmtleVxyXG4gICAgc2VjdGlvbkR1cGxpY2F0ZWQuaWQgPSB0aGlzLmhlbHBlclNlcnZpY2UuZ2VuZXJhdGVHdWlkKClcclxuXHJcbiAgICB0aGlzLnNlY3Rpb25zLnNwbGljZShuZXdJbmRleCwgMCwgc2VjdGlvbkR1cGxpY2F0ZWQpXHJcblxyXG4gICAgdGhpcy5zZWN0aW9uQWRkZWQkLm5leHQoeyBzZWN0aW9uOiBzZWN0aW9uRHVwbGljYXRlZCwgaW5kZXg6IG5ld0luZGV4IH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlQmFja2dyb3VuZENvbG9yU2VjdGlvbihpZFNlY3Rpb246IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xyXG4gICAgY29uc3Qgc2VjdGlvbjogU2VjdGlvbk1vZGVsID0gdGhpcy5zZWN0aW9ucy5maW5kKChzOiBTZWN0aW9uTW9kZWwpID0+IHMuaWQgPT09IGlkU2VjdGlvbilcclxuXHJcbiAgICBzZWN0aW9uLmJhY2tncm91bmRDb2xvciA9IHZhbHVlXHJcblxyXG4gICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IkLm5leHQoaWRTZWN0aW9uKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG1vdmVTZWN0aW9uKGlkU2VjdGlvbjogc3RyaW5nLCBvcmllbnRhdGlvbjogTW92ZU9yaWVudGF0aW9uU2VjdGlvbkFjdGlvbnMpIHtcclxuICAgIGNvbnN0IHByZXZpb3VzSW5kZXg6IG51bWJlciA9IHRoaXMuc2VjdGlvbnMuZmluZEluZGV4KChzOiBTZWN0aW9uTW9kZWwpID0+IHMuaWQgPT09IGlkU2VjdGlvbilcclxuICAgIGxldCBjdXJyZW50SW5kZXg6IG51bWJlciA9IHByZXZpb3VzSW5kZXhcclxuXHJcbiAgICBpZiAob3JpZW50YXRpb24gPT09ICdtb3ZlLXVwJyAmJiBwcmV2aW91c0luZGV4ID4gMCkge1xyXG4gICAgICBjdXJyZW50SW5kZXggPSBwcmV2aW91c0luZGV4IC0gMVxyXG4gICAgfSBlbHNlIGlmIChvcmllbnRhdGlvbiA9PT0gJ21vdmUtZG93bicgJiYgcHJldmlvdXNJbmRleCA8IHRoaXMuc2VjdGlvbnMubGVuZ3RoIC0gMSkge1xyXG4gICAgICBjdXJyZW50SW5kZXggPSBwcmV2aW91c0luZGV4ICsgMVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubW92ZVNlY3Rpb24kLm5leHQoeyBwcmV2aW91c0luZGV4OiBwcmV2aW91c0luZGV4LCBjdXJyZW50SW5kZXg6IGN1cnJlbnRJbmRleCB9KVxyXG4gIH1cclxufVxyXG4iXX0=